標籤:
username not null 沒有預設值/有預設值 insert不插入username欄位 均不報錯
2014年07月23日21:05 百科369
MySQL為資料表的指定欄位插入資料
為資料表的指定欄位插入資料,就是在INSERT語句中只向部分欄位中插入值,而其它欄位的值為資料表定義時的預設值。
基本的文法格式如下:
INSERT INTO 表名(欄位1,欄位2,...,欄位m) VALUES(值1,值2,...,值m);
- 欄位1,欄位2,...,欄位m:表示資料表中的欄位名稱,此處指定資料表的部分欄位的名稱。
- 值1,值2,...,值m:表示指定欄位的值,每個值與相應的欄位對應。
執行個體1
1. 向student表的xuesheng欄位和yuwen欄位插入資料。INSERT語句的代碼如下:
mysql>INSERT INTO student(xuesheng,yuwen) VALUES(‘王媛媛‘,88);
插入資料的操作效果如所示:
中代碼執行的結果顯示,記錄插入成功。
2. 執行SELECT語句查詢student表。如所示:
3. 中代碼執行的結果顯示,記錄已經插入成功。但是,shuxue欄位和yungyu欄位都為空白值(NULL)。執行SHOW CREATE TABLE語句查看student表的詳細結構。如所示:
從中代碼執行的查詢結果可以看出,shuxue欄位和yingyu欄位的預設值為空白值(NULL),因為這兩個欄位沒有插入值,資料庫系統自動 為其插入了該欄位定義時的預設值,所以這兩個欄位的值才為空白值。如果預設值設定為了某一個具體的值,那麼這兩個欄位的值就會顯示為那一個具體的值。
另外,我們雖然沒有插入id欄位的值,但是該欄位自動添加了一個整數值6。這是因為id欄位設定為了表的主鍵,雖然不可為空,但是資料庫系統會自動為該欄位插入一個自增的序列值。
提示
沒有賦值的欄位,資料庫系統會為其插入一個預設值。這個預設值是在建立資料表的時候定義的。如上面的shuxue欄位和yingyu欄位的預設值為NULL。如果某個欄位沒有設定預設值,而且是非空,那就必須為其賦值。不然,資料庫系統會提示一條警告資訊。
執行個體2
這種方式同樣可以隨意設定欄位的順序,而不需要按照資料表定義時的順序進行插入資料。
1. 向student表中的id、xuesheng和yingyu欄位插入資料。INSERT語句中,這3個欄位的順序可以任意排列,代碼如下:
mysql>INSERT INTO student(yingyu,id,xuesheng) VALUES(99,4,‘楊萍‘);
操作效果如所示:
中代碼執行的結果顯示,記錄插入成功。
2. 執行SELECT語句查詢student表。如所示:
中代碼執行的結果顯示,記錄已經成功插入。
MySQL為資料表的指定欄位插入資料