根据尚硅谷的视频教程学习MySQL,学习记录-10-DML语句。数据操作语言:
插入:insert
修改:update
删除:delete
一、插入语句
方式一:insert into 表名 (列名,....) VALUES(值1,....);
- 插入的值的类型要与列的类型一致或兼容
- 不可以为null的列必须插入值,可以为null的列如何处理?
方式一:列名处填写所有列明,对应值位置填写 null
方式二:在列名处不体现该列名,对应也不插入该值 - 列的顺序可以调换,但是要确保列 与 值 对应
- 列数与值的个数必须一致
- 可以省略列名,默认所有列,并且列顺序与表中列顺序一致
方式二:insert into 表名set 列名 = 值,列名=值,....
方式对比:
- 方式一支持插入多行
- 方式一支持子查询,方式二不支持
二、修改语句
#修改单表的记录update 表名 set 列名 = 新值,...#修改多表的记录update 表1 别名INNER | LEFT | RIGHT JOIN 表2 别名ON 连接条件set 列名 = 新值
三、删除语句
#单表删除delete from 表名 WHERE 筛选条件#多表删除,先使用join语句连接表delete from 表1 别名INNER | LEFT |RIGHT JOIN 表2 别名ON 连接条件WHERE 筛选条件
四、练习
练习1: 创建表users
CREATE TABLE users(ID INT,username VARCHAR(20),department_id INT)
练习2:显示users表的结构
DESC users
练习3:向users表中插入数据
INSERT INTO users VALUES(1, \'大海\',1), (2,\'大山\',3),(3,\'小河\',5),(4,\'小草\',2),(5,\'小花\',4);
目前表结果为
练习4:将3号用户的名字修改为 大河
UPDATE users SET username = \'大河\'WHERE ID=3;
修改后结果为:
练习5:将部门编号大于4的修改为10
UPDATE users SET department_id = 10 WHERE department_id > 4;
当前表结果为:
练习6:删除users表的所有数据
DELETE FROM users;
当前表结果为:
练习7:回到原始表的数据,然后清空users表
INSERT INTO users VALUES(1, \'大海\',1), (2,\'大山\',3),(3,\'小河\',5),(4,\'小草\',2),(5,\'小花\',4);#清空 - truncateTRUNCATE users;
当前表的结果为: