当前位置:网站首页>MySQL-DML语言-数据库操作语言-insert-update-delete-truncate
MySQL-DML语言-数据库操作语言-insert-update-delete-truncate
2022-08-01 04:39:00 【LXMXHJ】
文章目录
DML概述
介绍
主要包括 插入insert、更新update、删除delete
语法总结
insert into 表名(列1,列2....)
values (值1,值2.....)
update 表1 别名1 表2 别名2
set 列 = 值, 列 = 值...
on 连接条件
where 筛选条件;
delete 别名1 ,别名2
from 表1 别名1,表2 别名2
on 连接调价
where 筛选条件;
插入语句insert into
方式1:经典插入
概述
语法
insert into 表名(列名,......)
values(值1,......)
注意事项
插入的值的类型要与列的类型一致或兼容。兼容性说明:
假如字段是int类型,但是输入的是‘123’这样是不会报错的,原因对于这个字符型可以隐式的转换为数值。
假如拿到的是‘join’,则不可行。
不可以为null的列必须插入值,可以为null的列可以通过如下两种方式插入值
字段的个数和顺序不一定与原始表中的字段个数和顺序一致,但是插入values要与列字段顺序一一对应
列数和值的个数必须一致,否则会报错
可以省略字段名,默认插入所有列,而且列的顺序和表中字段的顺序一致
方式2
概述
语法
insert into 表名
set 列名 = 值 , 列名 = 值......
案例
方式1与方式2 区别
方式1支持多行插入,方式2不支持
# 方式1:
insert into 表名 (列名1,列名2.....)
values (值1,值2,......),
(值1,值2,.......);
案例:
方式1支持子查询,方式2不支持
insert into 表名(字段1,字段2,...)
查询语句;
案例
修改语句update
概述
- 修改单表的记录
语法
update 表名
set 字段 = 新值,字段 = 新值....
[where 筛选条件];
- 修改多表记录
语法sql92
update 表1 别名,表2 别名
set 列 = 值, 列 = 值...
where 连接条件
and 筛选条件;
语法sql99
update 表1 别名
[inner | left | right ] join 表2 别名
on 连接条件
where 筛选条件;
案例
单表修改
多表修改
删除语句delete 和 truncate
方式1:delete
概述
- 单表删除
语法
delete from 表名
where 筛选条件
[limit 条目数];
- 多表的删除
语法sql92
delete 别名1,别名2
from 表1 别名1,表2 别名2
where 连接条件
and 筛选条件;
语法sql99
delete 别名1.别名2
from 表1 别名1
[inner | left |right ] join 表2 别名2
on 连接条件
where 筛选条件;
注意
delete后面的别名,取决于要删除的是哪个表的信息。
案例
方式2:truncate
语法
truncate table 表名;
作用
主要用于删除整个表的信息
delete 和 truncate区别
区别 | delete | truncate |
---|---|---|
where条件 | 可加 | 不可加 |
效率 | 略差 | 较高 |
删除自增长列 | 删除再插入,自增长列的值从断点开始 | 删除再插入数据,自增长列从头开始(即1) |
删除内容 | 可以删除部分记录 | 删除全部记录,但是不删除表 |
– | 扩展 | drop 删除整张表 |
返回值 | 有返回值 返回删除的行数 | 没有返回值 |
回滚 | 可以回滚 | 不可以回滚 |
高水线 | 不影响高水线 | 会将高水线复位 |
扩展2022/7/31
所有的segments段(segment作为表的一个同义词) 都有一个在段内 容纳数据的上限,这个就是高水线(High Water Mark)。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。
HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩小,即使将表中的数据全部删除,HWM还是为原值。
打个比方,HWM很像一个水库的历史最高水位,当前水库没有水,不能说明该水库的历史最高水位线为0;
但是如果我们在表上使用了truncate命令,则该表的HWM会被重新置为0。
案例
边栏推荐
- 律师解读 | 枪炮还是玫瑰?从大厂之争谈元宇宙互操作性
- typescript22-接口继承
- How to promote new products online?
- 【堆】小红的数组
- 深圳某游戏研发公司给每个工位都装监控,网友:堪比坐牢!
- typescript21 - Comparison of Interfaces and Type Aliases
- button remove black frame
- 【愚公系列】2022年07月 Go教学课程 025-递归函数
- leetcode6132. Make all elements in an array equal to zero (simple, weekly)
- typescript25 - type assertion
猜你喜欢
What is dynamic programming and what is the knapsack problem
The method of solving stored procedure table name passing through variable in mysql
MySQL3
智芯传感输液泵压力传感器 为精准智能控制注入科技“强心剂”
软件测试周刊(第82期):其实所有纠结做选择的人心里早就有了答案,咨询只是想得到内心所倾向的选择。
Input input box cursor automatically jumps to the last bug after the previous input
Valentine's Day Romantic 3D Photo Wall [with source code]
故乡的素描画
【愚公系列】2022年07月 Go教学课程 024-函数
Error using ts-node
随机推荐
typescript23-元组
What is dynamic programming and what is the knapsack problem
Unknown Bounded Array
6-23漏洞利用-postgresql代码执行利用
typescript25 - type assertion
PMP 项目资源管理
「以云为核,无感极速」顶象第五代验证码
/etc/fstab
MySQL4
RSA主要攻击方法
Excel做题记录——整数规划优化模型
PMP 相关方管理必背总结
数组问题之《下一个排列》、《旋转图像》以及二分查找之《搜索二维矩阵》
typescript25-类型断言
今日睡眠质量记录68分
让你的 Lottie 支持文字区域内自动换行
EntityFramework saves to SQLServer decimal precision is lost
This article takes you to understand the past and present of Mimir, Grafana's latest open source project
风险策略调优中重要的三步分析法
请问shake数据库中想把源的db0的数据同步到目的db5,参数怎么设置呢?