mysql加强(5)~DML 增删改操作和 DQL 查询操作
作者:一乐乐
欢迎大家来一乐乐的博客园
欢迎大家来一乐乐的博客园
一、DML 增删改
1、增(插入)语句:
-
insert into 表名(列名1,列名2,列名3…)values (值1,值2,值3 …);
-
mysql 特有的,允许批量插入
insert into emp (ename, job, mgr, sal) values ('小红', 'worker', 1234, 1200),('小黄', 'worker', 1234, 1200),('小蓝', 'worker', 1234, 1200),('小绿', 'worker', 1234, 1200);
-
插入查询的结果【得到多条数据,测试性能】---语法中values 要省略不写
# 将从表emp查询出来的ename,job 插入表emp 【查询后插入语法中是没有values】 insert into emp (ename, job) select ename, job from emp;
- 一条sql得到长度是有限的,可以调整max_allowed_packet参数;
- MySQL根据配置文件会限制Server接受的数据包大小。有时候大的插入和更新会受 max_allowed_packet 参数限制,导致大数据写入或者更新失败。
2、删除语句:
-
delete from 表名 where 条件(s)
delete from emp where empno >= 8000;
-
搭配 in 批量删除:
delete from emp where empno in (8039, 8040, 8041, 8042, 8043, 8044, 8045, 8046, 8047);
3、修改语句:
-
update 表名 set 字段1=新值1[,字段2=新值2] where 条件(s)
update emp set ename = 'King' where empno = 8049;
二、DQL 查询操作
1、语句:
select [字段1[,字段2....]]
from 表名
where 查询过滤条件
[order by 排序字段1 asc|desc [,排序字段2[asc|desc],...]]
2、常用的查询(比较、范围between...and、逻辑not and or、集合in、模糊like查询):
- 比较运算符 = != <> > < >= <=
- 范围查询 between ... and (包含开头和结尾) not between ... and
- 逻辑查询 not and or (注意优先级:not > and > or )
- 集合查询 in 列出匹配的值,在元素集合内【
in 还常用来批量删除
】 not in - 模糊查询 like 匹配字符串模式,
必须搭配通配符号一起使用
【%:任意字符, _:占一个字符位置】 - 空值查询 is null 是否为空 is not null
● 文章来源于:一乐乐的博客园
● 转载请注明出处
本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/15853579.html