DML
DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。
Ø添加数据(INSERT)
1.指定字段添加数据: insert into 表名 ( 字段名 1, 字段名 2) values ( 值 1, 值 2);
2.全部字段添加数据: insert into 表名 values ( 值 1, 值 2, ...);
3.批量添加数据(指定字段): insert into 表名 ( 字段名 1, 字段名 2) values ( 值 1, 值 2), ( 值 1, 值 2);
4.批量添加数据(全部字段): insert into 表名 values ( 值 1, 值 2, ...), ( 值 1, 值 2, ...);
insert into tb_emp(username, name, create_time) values ('lingting', '聆听', now());insert into tb_emp values(null, 'lingting1', '123', '2024-07-02');insert into tb_emp(username, name, create_time)values ('lingting', '聆听', now()),('lingting02', '聆听02', now());
注意事项:
1. 插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
2. 字符串和日期型数据应该包含在引号中。
3. 插入的数据大小,应该在字段的规定范围内。
Ø修改数据(UPDATE)
修改数据:update 表名 set 字段名1 = 值1 , 字段名2 = 值2 , .... [ where 条件 ] ;
update tb_emp set name = '聆听' , update_time = now() where id = 1;update tb_emp set entrydate = '2024-01-01' , update_time = now();
注意事项:
修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。
Ø删除数据(DELETE)
删除数据:delete from 表名 [ where 条件 ];
delete from tb_emp where id = 1;delete from tb_emp;
注意事项:
1. DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
2. DELETE 语句不能删除某一个字段的值 ( 如果要操作,可以使用 UPDATE ,将该字段的值置为 NULL) 。
DQL
DQL 英文全称是 D ata Q uery L anguage( 数据查询语言 ) ,用来查询数据库表中的记录 。
关键字: SELECT
DQL-基本查询
1. 查询多个字段: select 字段 1, 字段 2, 字段 3 from 表名 ;
2. 查询所有字段(通配符): select * from 表名 ;
3. 设置别名: select 字段 1 [ as 别名 1 ] , 字段 2 [ as 别名 2 ] from 表名 ;
4. 去除重复记录: select distinct 字段列表 from 表名 ;
select name, entrydate from tb_emp;-- 不推荐(性能低)
select * from tb_emp;-- as可以省略
select name as 姓名,entrydate as 入职日期 from tb_emp;select distinct job from tb_emp;
注意事项:
* 号代表查询所有字段,在实际开发中尽量少用( 不直观、影响效率 )。
DQL-条件查询
条件查询: select 字段列表 from 表名 where 条件列表 ;
比较运算符 | 功能 |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
= | 等于 |
<> 或 != | 不等于 |
between ... and ... | 在某个范围之内(含最小、最大值) |
in(...) | 在in之后的列表中的值,多选一 |
like 占位符 | 模糊匹配(_匹配单个字符, %匹配任意个字符) |
is null | 是null |
逻辑运算符 | 功能 |
and 或 && | 并且 (多个条件同时成立) |
or 或 || | 或者 (多个条件任意一个成立) |
not 或 ! | 非 , 不是 |
select * from tb_emp where name = '聆听';select * from tb_emp where id <= 10;select * from tb_emp where job is null;
select * from tb_emp where job is not null;select * from tb_emp where password != '123456';
select * from tb_emp where password <> '123456';select * from tb_emp where entrydate >= '2000-01-01' and entrydate <= '2010-01-01';
select * from tb_emp where entrydate between '2000-01-01' and '2010-01-01';select * from tb_emp where entrydate between '2000-01-01' and '2010-01-01' and gender = '2';
select * from tb_emp where job = 2 or job = 3 or job = 4;
select * from tb_emp where job in (2, 3, 4);select * from tb_emp where name like '__';select * from tb_emp where name like '张%';
ps:后面的内容下次更新;