一、插入資料
注意:Values也可以寫成value,插入的資料,資料類型也應該與字段的資料類型一緻。如果是字元串類型,取值必須加上引号。如果不加上引号,資料庫系統會報錯。
全列插入:
注意:為主鍵以及自動增長的id字段的值進行占位有3種方法【0】和【null】和【default】。
注意:字段為枚舉類型的寫法。
注意:default可以給預設值的字段進行使用預設值。
注意事項:全列插入的時候值的數量與字段的數量要保持一緻,否則會報錯。
部分插入:
下面是部分的形式為name和gender這兩個字段一次性插入兩條資料:
下面是以全列的形式一次性插入兩條資料:
沒有指派的字段,資料庫系統會為其插入預設值。這個預設值是在建立表的時候定義的。如上面的預設是null。如果某個字段沒有設定預設值,而且是非空屬性,這就必須為其指派。
不然資料庫系統會提示。這種方式也可以随意的設定字段的順序,而不需要按照表定義時的順序。
同時插入多條記錄
将查詢結果插入到表中
我們來将這個表中的資料插入到xueshengdenjibiao裡:
mysql> insert into xueshengdenjibiao(stu_id,stu_name,stu_phone) select * from sh
engribiao;
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
使用這種方法時,必須保證兩個表的字段名稱對應,且每個對應的字段資料類型是一樣的。如果資料類型不一樣,資料庫系統會報錯。然後,阻止insert語句向下執行。
二、更新資料
update語句可以同時更新多條記錄。如果不指定where條件表達式,資料庫系統會更新指定表中所有資料。
使用update語句進行更新資料時,可能會導緻會有很多條記錄滿足where條件。這個時候一定要特别小心,最好先執行select語句判斷滿足where條件的記錄是否确實需要更新。
三、删除資料
如上述表中201108号學生退學了,我們就可以将它的記錄删除。
mysql> delete from xueshengdenjibiao where stu_id='201108';
Query OK, 1 row affected (0.42 sec)
Delete語句可以同時删除多條記錄。如果不指定where條件表達式,資料庫系統會删除指定表中所有資料。
邏輯删除
對于重要資料,并不希望實體删除,一旦删除,資料無法找回
删除方案:設定isDelete的列,類型為bit,表示邏輯删除,預設值為0
對于非重要資料,可以進行實體删除
資料的重要性,要根據實際開發決定
下面這種删除屬于真正的删除,資料将無法找回的:
Bit稱為位資料類型,其資料有兩種取值:0(沒有邏輯删除)和1(邏輯删除),長度為1位。在輸入0以外的其他值時,系統均把它們當1看待。
這種資料類型常作為邏輯變量使用,用來表示真、假或是、否等二值選擇。