引入
1.什么是 DML
DML是 Data Manipulation Language 的缩写, 意思指数据库操纵语句, 负责对数据库对象运行数据访问工作的指令集, 常用的有查询(SELECT)、插入(INSERT)、更新(UPDATE)、删除(DELETE)
2.常用指令介绍
- INSERT : 实现对数据(记录)的插入
- UPDATE : 给定条件, 实现对数据的更新
- DELETE : 实现对数据的删除
- SELECT : 实现对表数据的查询
一.INSERT (插入)
1.语法介绍
??语法一 :
insert into [表名(字段1,字段2,字段3...,字段n)] values(值1,值2,值3...,值n);
??语法二 :
insert into [表名] values(值1,值2,值3,值4...);
??指定字段插入数据
insert into [表名(字段1,字段2..)] values(值1,值2..);
??插入多条记录
insert into [表名] values
(值1,值2,值3...,值n),
(值1,值2,值3...,值n),
(值1,值2,值3...,值n);
??插入查询结果(插入字段数需要与查询的字段数相同)
insert into [表名(字段1,字段2,字段3...字段n]
select [字段1,字段2,字段3...字段n] from [表名]
where [条件];
ps : into 可以省略, values 也可以写 value, 表名后面指定了几个字段就要传几个值, 没指定就是所有字段
-
演示
create table t03(id int,name varchar(16),age int,sex char(10)); # 创建表 t03
insert into t03 values(1,"shawn",22,"boy"); # 插入完整字段记录
insert t03(id,name) value(2,"song"); # 插入指定字段记录
insert t03 value # 插入多条记录
(3,"xing",33,"girl"),
(4,"hai",43,"man");
select * from t03; # 插入表所有字段内容
create table t04(id int,name varchar(16),sex char(16)); # 创建表 t04
insert into t04(id,name) select id,name from t03 where id>2;
select * from t04; # 将表t03内的id, name字段插入到表t04,条件是id大于2的, 然后查看内容
二.UPDATE (更新)
1.语法介绍
??单个字段
update [表名] set [字段]=[值] where [条件];
??多个字段
update [表名] set
[字段1]=[值1],
[字段2]=[值2]
where [条件];
2.演示
update t04 set sex="man+man" where id=3;
update t04 set id=1,name="shawn" where id=3;
3.练习
- 更新MySQL root用户密码为mysql123
??更新MySQL5.6版本
update mysql.user set password=password(‘mysql123‘) where user=‘root‘;
flush privileges; # 刷新设置
quit或exit # 退出mysql重新进入
??更新MySQL5.7版本
update mysql.user set authentication_string=password(‘mysql123‘) where user=‘root‘;
update mysql.user set password_expired=‘N‘ where user=‘root‘;
flush privileges; # 刷新设置
quit或exit # 退出mysql重新进入
三.DELETE (删除)
1.语法介绍
delete from [表名] where [条件]; # 删除符合条件的记录
delete from [表名]; # 删除整张表的记录, 是一条一条的删除
truncate [表名]; # 直接清空表记录(删除整表推荐使用)
2.演示
delete from t03 where id=1;
delete from t03;
truncate t04;
四.SELECT (查询)
查询有分为单表查询与多表查询
1.单标查询
单标查询关键字优先级 :
- from : 从哪个表来查询
- where : 约束条件, 查找符合条件的记录
- group by : 取出记录进行分组, 如果没有分组, 则整体是一个组
- having : 将分组后的结果再进行过滤
- select : 执行select查询
- distinct : 去重
- order by : 将结果按条件排序
- limit : 限制结果的显示条数
由于篇幅过长, 请查看????单表查询详细操作
2.多表查询
- 多表连接查询
- 符合条件连接查询
- 子查询
由于篇幅过长, 请查看????多表查询详细操作