当前位置:网站首页>DDL和DML的补充
DDL和DML的补充
2022-08-04 11:16:00 【parker_001】
【1】sql展示:
-- 创建表:
create table t_student(
sno int(6) primary key auto_increment,
sname varchar(5) not null,
sex char(1) default '男' check(sex='男' || sex='女'),
age int(3) check(age>=18 and age<=50),
enterdate date,
classname varchar(10),
email varchar(15) unique
);
-- 添加数据:
insert into t_student values (null,'张三','男',21,'2023-9-1','java01班','[email protected]');
insert into t_student values (null,'李四','男',21,'2023-9-1','java01班','[email protected]');
insert into t_student values (null,'露露','男',21,'2023-9-1','java01班','[email protected]');
-- 查看学生表:
select * from t_student;
-- 添加一张表:快速添加:结构和数据跟t_student 都是一致的
create table t_student2
as
select * from t_student;
select * from t_student2;
-- 快速添加,结构跟t_student一致,数据没有:
create table t_student3
as
select * from t_student where 1=2;
select * from t_student3;
-- 快速添加:只要部分列,部分数据:
create table t_student4
as
select sno,sname,age from t_student where sno = 2;
select * from t_student4;
-- 删除数据操作 :清空数据
delete from t_student;
truncate table t_student;
【2】delete和truncate的区别:
从最终的结果来看,虽然使用TRUNCATE操作和使用DELETE操作都可以删除表中的全部记录,但是两者还是有很多区别的,其区别主要体现在以下几个方面:
(1)DELETE为数据操作语言DML;TRUNCATE为数据定义语言DDL。
(2) DELETE操作是将表中所有记录一条一条删除直到删除完;TRUNCATE操作则是保留了表的结构,重新创建了这个表,所有的状态都相当于新表。因此,TRUNCATE操作的效率更高。
(3)DELETE操作可以回滚;TRUNCATE操作会导致隐式提交,因此不能回滚(在第十章中会讲解事务的提交和回滚)。
(4)DELETE操作执行成功后会返回已删除的行数(如删除4行记录,则会显示“Affected rows:4”);截断操作不会返回已删除的行量,结果通常是“Affected rows:0”。DELETE操作删除表中记录后,再次向表中添加新记录时,对于设置有自增约束字段的值会从删除前表中该字段的最大值加1开始自增;TRUNCATE操作则会重新从1开始自增。
边栏推荐
- The use of DDR3 (Naive) in Xilinx VIVADO (1) to create an IP core
- 从零开始Blazor Server(7)--使用Furion权限验证
- Zhihu Data Analysis Training Camp
- MySQL不提供数组,只能做成表吗?
- winform 在Datatable插入一笔数据
- 【无标题】
- Leetcode - using sequence traversal features first completed 114. The binary tree to the list
- Small program containers accelerate the construction of an integrated online government service platform
- *iframe*
- Leetcode刷题——二叉搜索树相关题目(98. 验证二叉搜索树、235. 二叉搜索树的最近公共祖先、1038. 从二叉搜索树到更大和树、538. 把二叉搜索树转换为累加树)
猜你喜欢
The use of DDR3 (Naive) in Xilinx VIVADO (1) to create an IP core
vscode插件设置——Golang开发环境配置
Xilinx VIVADO 中 DDR3(Naive)的使用(3)仿真测试
Win11 file types, how to change?Win11 modify the file suffix
123
上帝空间——全球首个基于Web3.0的艺术协议创意平台,拓宽多元艺术融合边界
Leetcode刷题——构造二叉树(105. 从前序与中序遍历序列构造二叉树、106. 从中序与后序遍历序列构造二叉树)
zabbix deployment
map的一道题目<单词识别>
职责链模式(responsibilitychain)
随机推荐
图文手把手教程--ESP32 一键配网(Smartconfig、Airkiss)
cat /proc/kallsyms 发现内核符号表值都为0
从零开始Blazor Server(7)--使用Furion权限验证
【Idea series】idea configuration
不会还有人不知道防抖吧?
命令模式(Command)
ping的原理
萌宠来袭,如何让“吸猫撸狗”更有保障?
少即是多:视觉SLAM的点稀疏化(IROS 2022)
Leetcode刷题——路径总和
zabbix deployment
【LeetCode】701.二叉搜索树中的插入操作
Digital management insight into retail and e-commerce operations - retail password
职责链模式(responsibilitychain)
Heap Sort
Leetcode brush - structure binary tree (105. Once upon a time sequence and the sequence structure binary tree traversal sequence, 106. From the sequence with the sequence structure binary tree travers
*iframe*
Use pytest hook function to realize automatic test result push enterprise WeChat
临床研究方法学,到现场,到数据真实发生的地方 | 对话数智 x 张维拓
Mysql数据类型