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表。如下圖所示:
上圖中代碼執行的結果顯示,記錄已經成功插入。