1、DML数据操作语言:对表中的数据进行添加、删除、修改的操作
2、关键字 添加 insert update 修改 删除delete
3、添加 insert into
1、添加指定字段
insert into 表名(字段名1,字段名2,…) values(值1,值2,…);
2、添加的简写格式
insert into 表名 values(值1,…,值n); 值的个数和顺序要跟字段名保持一致
3、添加多条数据
insert into 表名 values(值1,…,值n),(值1,…,值n),(值1,…,值n)…
4、更新 update
1、带条件的更新
update 表名 set 字段名 = 值,… where 条件
2、不带条件的更新会更新表中所有的数据
3、条件不满足则不会更新
5、删除 delete
1、带条件的删除
delete from 表名 where 条件
2、条件不满足则不会删除
3、清空表的操作
delete from 表名;
truncate table 表名;
4、区别
1、delete 后面可以加where truncate不可以
2、delete是将数据一条一条的删除,truncate 直接将表销毁掉,在创建一个跟原表表结构相同的空表
当数据量比较大的时候,truncate 效率较高
3、delete支持事务 truncate不支持事务
4、如果设置了主键自增,delete还会继续自增,truncate自增重新从1开始
/*
DML 对表中的数据 添加、删除、修改
添加insert
删除delete
修改update
*/
-- 1、添加
-- 添加一个字段
INSERT INTO student(sname) VALUES('王小二');
-- 添加多个字段
INSERT INTO student(sex,age,hobby) VALUES('男',18,'吃饭');
-- 添加所有 前面有几个字段名 values后面就给几个数据 一一对应不能少
INSERT INTO student(sid,sname,sex,age,hobby) VALUES(3,'小花','女',17,'睡觉');
INSERT INTO student(sid,sname,sex,age,hobby) VALUES(3,'小花','女',17);-- 错误的 少给了一个数据
-- 给所有的字段添加数据 可以使用简写的方式 字段的个数和顺序保持一致
INSERT INTO student VALUES(4,'小红','女',20,'逛GAI');
INSERT INTO student VALUES(4,'小红','女','逛GAI'); -- 错误了 少给一个数据
INSERT INTO student VALUES('小红',4,'女',20,'逛GAI'); -- 错误的 顺序有误
-- 一次添加多条数据
INSERT INTO student
VALUES(5,'小丽','女',55,'跳广场舞'),
(6,'李华','男',48,'学英语'),
(7,'cxk','男',24,'鸡哥救我');
-- 2、修改 update
-- 修改王小二的年龄为9
UPDATE student SET age = 9 WHERE sname = '王小二';
-- 修改性别为女的学生的sid为100,age = 22
UPDATE student SET sid = 100,age = 22 WHERE sex = '女';
UPDATE student SET sid = 200 WHERE sname = '王小三'; -- 条件不满足不会修改 不会报错
-- 不加条件的修改 修改表中所有的数据 一般都是带条件的修改
UPDATE student SET sid = 38;
-- 3、删除 delete
-- 带条件的删除
DELETE FROM student WHERE sname = '王小二';
DELETE FROM student WHERE sex = '女'; -- 满足条件的都要删除
-- 条件不满足 不会删除
DELETE FROM student WHERE sex = '女';
-- 不带条件的删除 清空表中所有的数据
DELETE FROM student;
TRUNCATE TABLE student;
/*
两种清空表的方式
1、delete是一条一条的删除,truncate是将表销毁掉,在创建一个跟原表表结构相同的空表
当数据量较大的时候,truncate效率更高
2、delete删除数据之后,主键还是从最大值自增,truncate从1开始自增
3、delete 支持事务,truncate不支持事务
*/