mysql笔记

发布于:2022-12-06 ⋅ 阅读:(703) ⋅ 点赞:(0)

数据完整性

数据完整性分类

实体完整性(Entity Integrity):保证数据记录的唯一性,主键,自增,唯一
主键 primary key
自增 auto_increment
唯一 unique

 域完整性(Domain Integrity) : 非空,默认值,外键约束

非空 not null
默认值 default
外键 foreign key ( ) references 主表 ( )
引用完整性(Referential Integrity) : 外键约束

 外键 foreign key () references 主表()

用户自定义完整性(User-defined Intergrity)

 增删改语句

 insert 语句

INSERT [ INTO ] table_name [(COLUMN1 [,COLUMN2 [,......]])]
VALUES (VALUE1 [,VALUE2 [,......]);  

 一次录入多行数据

 INSERT [INTO] table_name [(COLUMN1 [,COLUMN2 [,......]])]

VALUES
(VALUE1 [,VALUE2 [,......]), 
(VALUE1 [,VALUE2 [,......]),
(VALUE1 [,VALUE2 [,......]);

 在innodb存储引擎下,会到自增断层 

INSERT [ INTO ] table_name [(COLUMN1 [,COLUMN2 [,......]])]
select VALUE1,VALUE1,[,......] union
select VALUE1,VALUE1,[,......]

 update 语句

UPDATE table_name SET
COLUMN1 = {}, COLUMN2 = {}......
WHERE < 表达式 >

 delete 删除语句

DELETE FROM table_name WHERE <表达式>

删除表中的数据:
delete: 根据条件删除,逐行删除。
truncate:整表删除,无法设定条件,效率高,自增列会重新计数,无法恢复数据;无法直接删
除有外键引用的表。

 查询

select 列名 1 , 列名 2 # 查询列
from 表名 # 从 某张表中
# 可选
where 条件表达式
group by 列名
having 条件表达式
order by 列名
limit ?,? 分页

 去重查询

 去除查询结果中的重复数据

select distinct 列名 from 表名;

条件查询where语句

条件运算符:= > < >= <= 不等:<> 和 !=
算术运算符:+ - * / %(mod) 不支持 :++ -- 复合赋值 += -=
逻辑运算符:and(&&) , not(!) , or(||)

聚合函数(汇总函数)和分组查询

就是对某一列的数据进行运算获取某些列的最大值、最小值、平均值等统计分析信 息,有时候还需要计算出究竟查询到多少行数据项。分别有:sum(列),count(注意非空 值) 计数、max(列)、min(列)、avg(列),count(空值)不计入数据。 count(列名/*) 如果列名存在null值,不计入总数。

 多表查询

 where语句连接,内连接,外连接

 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到