DML/DDL/TCL知识点汇总(超详细知识点)
https://www.518cn.com 发布时间:2025-03-18 22:26 作者:网络
摘要:DML(数据定义语言) 插入语句 方式一:经典的插入语句 * 语法: insert into 表名(列名,...) values(值1,...); 方式二: 语法: insert into 表名 set 列名=值,列名=值,...... 方式一和方式二对比:
DML(数据定义语言)
插入语句
方式一:经典的插入语句 *
语法:
insert into 表名(列名,...) values(值1,...);
方式二:
语法:
insert into 表名
set 列名=值,列名=值,......
方式一和方式二对比:
- 方式一支持插入多行,方式二不支持;
- 方式一支持子查询,方式二不支持;
修改语句
修改单表的记录*
语法:
update 表名(1)
set 列=新值,列=新值,......
where 筛选条件;(2)
修改多表的记录(补充)
SQL92语法:
update 表1 别名,表2 别名
set 列=值,......
where 连接条件
and 筛选条件;
SQL99语法:
update 表1 别名
inner join 表2 别名
on连接条件
set 列=值,......
where 筛选条件;
删除语句
方式一:delete
单表删除(*)
语法:
delete from 表名 where 筛选条件;
多表删除(补充)
SQL92语法:
delete 表1的别名,表2的别名
from 表1 别名,表2 别名
where 连接条件
and 筛选条件;
SQL99语法:
delete 表1的别名 ,表2的别名
from 表1 别名
join 表2 别名 on 连接条件
where 筛选条件;
方式二:truncate
语法:
truncate table 表名;
delete和truncate对比:
- delete可以加where条件,truncate不能加
- truncate删除,效率高一点
- 加入要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,而truncate删除后,再插入数据自增长列的值从1开始
- truncate删除没有返回值,delete删除有返回值
- truncate删除不能回滚,delete删除可以回滚
DDL(数据定义语言)
概念
对库和表的管理
库的管理
- 创建
- 修改
- 删除
表的管理
- 创建
- 修改
- 删除
创建 create
修改 alter
删除 drop
库的创建
语法:
create database [if not exists]库名;
表的创建(*)
语法:
create table 表名(
列名 列的类型 [(长度) 约束],
列名 列的类型 [(长度) 约束],
...
)
常见的数据类型
- 数值型:整型
int
、bigint
;小数:定点数DECIMAL
类型,NUMERIC
类型;浮点数float
,double
- 字符型:较短的文本
char
、varchar
;较长的文本text
、二进制blob
- 日期型:
date
、datetime
、timestamp
常见的约束条件
not null
:非空default
:默认primary key
:主键unique
:唯一check
:检查约束(mysql中不支持)foreign key
:外键
主键和唯一的对比
- 保证唯一性
- 是否允许为空
- 一个表中可以有多少个
- 是否允许组合
TCL
概念
事务:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。
事务特性:ACID
- 原子性:一个事务不可再分割,要么都执行要么都不执行
- 一致性:一个事务执行会使数据从一个一致状态切换到另一外一个一致状态
- 隔离性:一个事务的执行不受其他事务的干扰
- 持久性:一个事务一旦提交,则会永久的改变数据库的数据
至此,我们的MySQL的基础就学完了,附上一张思维导图帮助各位复习理解,有喜欢的记得点个关注哦
相关文章
- 优化GreatSQL日志文件空间占用 GreatSQL对于日志文件磁盘空间占用,做了一些优化,对于binlog、...03-18
- "数据约束条件" date: 2022-11-24T21:24:31 08:00 draft: false MySQL字段约束条件 无符号, 零填充...03-18
【GreatSQL优化器-16】INDEX_SKIP_SCAN
【GreatSQL优化器-16】INDEX_SKIP_SCAN 一、INDEX_SKIP_SCAN介绍 GreatSQL 优化器的索引跳跃扫描(Index Ski...03-18- MySQL 是一个非常流行的开源关系数据库管理系统,在各种应用场景中都得到了广泛的应用。随...03-18
- 🤖 DB-GPT 是一个开源的 AI 原生数据应用程序开发框架,具有 AWEL(代理工作流表达式语...03-18
GreatSQL 8.0.32-27 GA (2025-3-10)
GreatSQL 8.0.32-27 GA (2025-3-10) 版本信息 发布时间:2025年3月10日 版本号:8.0.32-27, Revision aa66a38591...03-18- 6. MySQL 索引的数据结构(详细说明) @目录6. MySQL 索引的数据结构(详细说明)1. 为什么使用索引2...03-18
- @Override @Transactional(rollbackFor = Exception.class) public void batchInsertDeviceData(IotMsgNotifyData iotMsgNotifyDa...03-18
- 个人Qt项目总结——数据库查询断言问题 问题: 当我使用MySQL数据库的查询操作时, 如果查询...03-18
- MySQL 是一种广泛使用的关系数据库管理系统,MySQL 8 是其最新的主要版本,结合了出色的性能和...03-18
最新评论