MySQL数据库—SQL汇总

本文详述了MySQL数据库的SQL用法,包括数据类型(数值型、字符型、日期型)、字段约束(非空、主键、唯一、默认、检查、外键)、DQL(数据查询语言)如SELECT、WHERE、ORDER BY、LIMIT、子查询等,以及DML(数据操作语言)的INSERT、DELETE、UPDATE。此外,还介绍了DDL(数据定义语言)涉及的表的创建、修改和删除,以及TCL(事务控制语言)的基础知识。
摘要由CSDN通过智能技术生成

目录
一、准备
二、SQL常用数据类型
1、数值型
1)整型
2)小数
2、字符型
3、日期型
三、SQL字段约束
1、六大约束
2、标识列(自增长列)
四、DQL(Data Query Language)数据查询语言
1、语句顺序
2、基础查询(SELECT)
(1)查询常量
(2)查询表达式
(3)查询字段
a.表中字段查询
b.使用别名(AS)
c.去重(DISTINCT)
(3)查询函数
a.单行函数
·字符函数
·数学函数
·日期函数
·流程控制函数
b.分组函数
3、条件查询(WHERE)
(1)运算符做条件
(2)逻辑表达式做条件
(3)模糊查询
4、排序查询(ORDER BY)
(1)基本排序
(2)按函数排序
(3)按多个字段排序
5、分组查询(GROUP BY)
(1)按单字段分组
(2)按多字段分组
(3)按函数分组
6、连接查询(JOIN)
(1)sql92标准
a.内连接
等值连接
非等值连接
自连接
(2)sql99标准
a.内连接(INNER JOIN)
等值连接
非等值连接
自连接
b.外连接(OUTER JOIN)
左外连接(LEFT JOIN ON)
右外连接(RIGHT JOIN ON)
全外连接(FULL JOIN ON)
c.交叉连接(CROSS JOIN)
7、子查询
(1)子查询在SELECT后面
(2)子查询在FROM后面
(3)子查询在WHERE/HAVING后面
(4)子查询在EXISTS后面(相关子查询)
8、分页查询(LIMIT)
9、联合查询(UNION)
五、DML(Data Manipulation Language)数据操作语言
1、增(INSERT)
1)方式一
2)方式二
2、删(DELETE)
1)方式一
a.删除单表记录
b.删除多表记录(连接删除)
sql92语法
sql99语法
2)方式二
3)比较
3、改(UPDATE)
1)方式一
a.修改单表记录
b.修改多表记录(连接修改)
sql92语法
sql99语法
六、DDL(Data Define Language)数据定义语言
1、库的管理
1)库的创建(CREATE)
2)库的修改(ALTER)
3)库的删除(DROP)
2、表的管理
1)表的创建(CREATE)
a.普通创建
b.复制创建
c.带约束创建
d.带标识列创建
2)表的修改(ALTER)
3)表的删除(DROP)
七、TCL(Transaction Control Language)事务控制语言
八、DCL(Data Control Language)数据控制语言
1、补充用户基本操作
2、创建用户
3、给用户授权
4、撤销权限
5、查看权限
6、删除用户
九、视图
1、视图创建
2、视图修改
3、视图删除
一、准备
下文整理常见SQL语句的用法,使用MySQL5.7测试,参考了尚硅谷MySQL教程及用例。用例数据:
链接: https://pan.baidu.com/s/1J9CTxYOK0Uv3AAUQINZM7A 密码: vbhf

二、SQL常用数据类型
1、数值型
1)整型
类型 所占字节数 范围(有符号/无符号)
TINYINT 1 -128-127
0-255
SMALLINT 2 -32768-32767
0-65535
MEDIUMINT 3 -8388608-8388607
0-16777215
INT(INTEGER) 4 -2147683648-2147683647
0-4294967295
BIGINT 8 -263–263-1
0–264-1
默认有符号,需要无符号的话,用UNSIGNED INT
插入超过范围的数,最终为临界值
整型的长度代表显示的宽度,如果要使用,需要搭配zerofill使用,对于int(M),如长度小于M,用0左填充至宽度为M,如果大于M则无影响。没实际意义。
2)小数
类型 所占字节数
DECIMAL(M,D) M+2 定点数
FLOAT(M,D) 4 浮点数
DOUBLE(M,D) 8 浮点数
D保留小数位数
M整数+小数位数和
MD可以省略,DECIMAL默认为(10,0),FLOAT和DOUBLE会根据实际插入的值来确定
定点型精确度高一点,一些高精度要求的可以用定点型,如货币汇率等
2、字符型
类型 备注
CHAR(M) 存放长度固定或有限的字符
VARCHAR(M) 存放长度不固定的字符
TEXT 存放长文本
BINARY(M) 存放长度固定或有限的二进制
VARBINARY(M) 存放长度不固定的二进制
BLOB 存放较大的二进制,如图片等
ENUM() 枚举
SET() 集合
M为最多的字符数,“abc”是3个字符,“你好”是两个字符
CHAR是固定长度的字符,可省略M,默认为1,费空间,效率高
VARCHAR是可变长度字符,不可以省略M,M为最大长度,省空间,效率低
BINARY和VARBINARY与CHAR和VARCHAR类似用法
ENUM(“a”,“b”,“c”) ,多选一,只能保存"a",“b”,“c"其中之一,不区分大小写,在mysql5.7中如果插入非列表中的内容,则为null
SET(“a”,“b”,“c”),多选多,能保存一个或多个abc中的值,如保存"a,b”,不区分大小写,在mysql5.7如果插入非列表中的内容,则报错
3、日期型
字节 保存
DATE 4 年-月-日
DATETIME 8 年-月-日 时-分-秒
TIMESTAMP 4 时间戳,时区影响小,占空小,用的多
TIME 3 时-分-秒
YEAR 1 年
三、SQL字段约束
1、六大约束
约束类型 含义 备注
NOT NULL 非空
PRIMARY KEY 主键 保证值的唯一性,且非空
UNIQUE 唯一 保证值的唯一性,可以为空
DEFAULT 默认 指定字段的默认值
CHECK 检查 保证必须是满足条件的值,mysql不支持
FOREIGN KEY 外键 用于限制两个表的关系
外键说明
保证从表的值必须来自于主表的某一列的值,需在从表中添加外键。
主表从表对应的字段类型要一致或兼容
主表的字段必须是一个key(一般是主键或唯一)
插入数据时,必须先插入主表再插入从表
主键与唯一的区别
主键具有唯一性,不允许为null,一张表最多一个,可以组合使用(即多个字段为组合为一个主键)但不推荐。
唯一具有唯一性,允许为null且在mysql5.7中默认可以有多个null,一张表可以有多个,可以组合使用但不推荐
2、标识列(自增长列)
标识列用AUTO_INCREMENT设置
标识列必须是主键或唯一
一个表中最多一个标识列
标识列类型只能是数值型
有关约束和标识列的使用,在DDL表的管理部分有整理

四、DQL(Data Query Language)数据查询语言
1、语句顺序
书写顺序:SELECT、DISTINCT、FROM、JOIN ON、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT
执行顺序:FROM、 JOIN ON、WHERE、GROUP BY、HAVING、SELECT、DISTINCT、ORDER BY、LIMIT
2、基础查询(SELECT)
SELECT 查询内容 FROM 表名

(1)查询常量
SELECT 200;
SELECT ‘hello’;
1
2
(2)查询表达式
对于"+"运算符,仅用于数字类型的相加。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值