DML操作数据库
DML是什么
DML的功能主要是访问数据 因此其研发都是以读取与写入数据库为主 除了insert以外,其他指令都能搭配where指令来过滤数据范围 或是不加where指令来访问全部的数据。
DML(数据操作语言) 用于操作数据库对象中所包含的数据。
包括: insert( 添加数据语句) update(更新数据语句) delete(删除数据语句)
INSERT(添加数据语句)
注意事项:
- 插入值 类型必须和列类型匹配
- 值长度不能超过 列定义长度
- 值的顺序和列的顺序对应
- 字符串和日期类型值 必须写单引号
- 插入空值 可以写null
UPDATE(更新数据语句)
语法 update 表名 set 列名=值 , 列名 = 值...... where 条件语句
真正修改的内容是set后面的
where的作用是定位 - 选择 限制
如果不加where条件语句的话 会作用在所有的记录上
where 条件字句: 有条件的从表中筛选数据
delete (删除数据语句)
语法: delete from 表名 where 条件语句
如不指定删除该表的所有列数据
truncate 命令
用于完全清空表数据 但表结构 约束等不变
truncate和delete的区别:
truncate 表名 命令将快速删除数据表中的所有记录 但保留数据表结构
这种快速删除与delete from 数据表的删除全部数据表不一样 delete 命令删除的数据将存储在系统回滚段中
需要的时候 数据可以回滚恢复 而truncate 命令删除的数据是不可以恢复的。
最直观是:
truncate table 是非常快的 delete相对快一些
truncate 之后的自增字段从头开始计数了 而delete 的扔保留原来的最大数值
truncate 删除的数据不可恢复 delete删除的数据可以恢复
查询之运算符
- 相等 = 不等<> 或者 !=
- between ....and.... 在两者之间取值 between 70 and 80 等价于 >=70 <80 注意: 前面那个数据要比好吗那个数要小
- in(值,值,值,) 在指定值中任取一个 in(70,80,90) 值可以是 70 80 或者90
- like 模糊查询 表达式有两个占位符 % 例如: name like '张%' 第一个政府1是张的 name like'%张%' 字符里面带张的
- is null 判断该列值为空 is not null 判断不是为null
- and 逻辑与 or 逻辑或 not 逻辑非