在MySQL通過DELETE語句刪除數據表中的數據。在此,我們先准備一張數據表,代碼如下:
-- 創建學生表
create table student(
id int,
name varchar(30),
age int,
gender varchar(30)
);
MySQL安裝請參考:http://anzhuang.cuohei.com/
-- 插入數據
insert into student (id,name,age,gender) values (2,'lucy',17,'female'),(3,'jack',19,'male'),(4,'tom',18,'male'),(5,'sal',19,'female'),(6,'sun',20,'male')
,(7,'sad',13,'female'),(8,'sam',14,'male');
1. DELETE基本語法
在該語法中:表名用於指定要執行刪除操作的表;[WHERE 條件表達式]為可選參數用於指定刪除的條件。
DELETE FROM 表名 [WHERE 條件表達式];
2. DELETE刪除部分數據
示例:刪除age等於14的所有記錄 MySQL命令:
delete from student where age=14;
3. DELETE刪除全部數據
示例:刪除student表中的所有記錄 MySQL命令:
delete from student;
4. TRUNCATE和DETELE的區別
TRUNCATE和DETELE都能實現刪除表中的所有數據的功能,但兩者也是有區別的:
1、DELETE語句后可跟WHERE子句,可通過指定WHERE子句中的條件表達式只刪除滿足條件的部分記錄;但是,TRUNCATE語句只能用於刪除表中的所有記錄。
2、使用TRUNCATE語句刪除表中的數據后,再次向表中添加記錄時自動增加字段的默認初始值重新由1開始;使用DELETE語句刪除表中所有記錄后,再次向表中添加記錄時自動增加字段的值為刪除時該字段的最大值加1
3、DELETE語句是DML語句,TRUNCATE語句通常被認為是DDL語句