DML 语句
对数据 进行 增、删、改 操作
- 插入 命令
-- 插入值的个数 必须和 字段定义的个数相同 且 顺序 一致 insert into <tableName> values (val ...) ; /* 不推荐使用 */insert into <tableName>(col1 , col2 , ...) values(val1, val2 , ...) ;-- 批量插入 insert into <tableName>(col1, col2, ...) values (val1, val2 , ...) , (val1, val2, ...) ... ;
- 修改 命令
update <tableName> set <columnName> = val , ... [where <condition>] ;
在 使用 更新命令的时候,如果 不带 where 条件,那么会 全表更新, 所以往往 更新 语句 都会添加 where 条件 。
- 删除命令
delete from <tableName> [where <condition> ] ;truncate table <tableName> ; -- 截断表,删除表中所有的数据和占用的空间, 该命令是属于 DDL 命令
在使用 删除 命令的时候, 如果不带 where 条件, 那么 会删除 表中所有的数据 、往往 删除语句 都会添加 where 条件 。
如果 要删除 表中所有的数据 ,推荐使用
truncate table <tableName>
命令
delete 和 truncate 的区别
- delete 可以 按照 条件 删除 、 truncate 不能 删除 指定的数据
- delete 删除 表中所有的数据时 只删除 删除,而不删除 数据所占用的空间 , truncate 是 删除数据和 占用的空间
- delete 属于 DML 语句 ,在 操作的时候,可以 在 事务环境中 执行 。 而 truncate 不会 进行 事务 管理
where 条件 查询
- 关系 条件查询
> , >= , < , <= , = (等于) , <> (不等于) , != (不等于)
- 逻辑条件查询
and (与) , or (或)
- 模糊条件查询
关键字 like
模糊查询的 符号 有 % : 匹配 0 ~ N 个字符 _ : 匹配 1个 字符 select * from user where name like '%三%' ;
- 区间条件查询
between ... and -- 查询 成绩 在 70 ~ 80 之间的 所有 学生信息
select * from student where score between 70 and 80 ;
- 枚举条件查询 in
-- 查询 名字 为 张三 、 李四 、 王五 的学生信息 select * from student where name in ('张三', '李四' , '王五')
- 空值条件查询
-- 查询 性别 为 空的 学生信息
select * from student where gender is null ;-- 查询 性别 不为空的学生信息
select * from student where gender is not null ;