邓力波 发表于 2024-7-29 23:22:54

DML/DDL/TCL新手教程

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 库名;表的创建(*)

语法:
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的基础就学完了,附上一张思维导图帮助各位复习理解,有喜欢的记得点个关注哦


来源:https://www.cnblogs.com/xu-sy122/p/18326280
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: DML/DDL/TCL新手教程