MySQL#2(数据模型,SQL通用语法,SQL分类)
创始人
2024-04-26 13:28:09
0

目录

一.数据模型

二.SQL通用语法

三.SQL的分类

1.DDL

        DDL---操作数据库

        DDL---操作表

2.DML

        DML---操作数据

3.DQL(重点)

        基础查询

        条件查询

        排序查询

        分组查询

        分页查询

扩展: 聚合函数


一.数据模型

数据库在内存中是以文件夹的方式存在

数据表和数据是以文件的形式存在

二.SQL通用语法

1.SQL 语句可以单行或多行书写,以分号结尾

2.MySQL 数据库的 SQL 语不区分大小写,关键字建议使用大写

3.注释
单行注释:-- 注释内容(--后的空格不能省略)或#注释内容(#后没有空格)(MySQL 特有)

多行注释:/* 注释*/

示范:

三.SQL的分类

DDL(Data Definition Language) 数据定义语言,用来定义数据库对象: 数据库,表,列等DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改
DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)
DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

1.DDL

        DDL---操作数据库

1.查询            SHOW DATABASES;


2.创建----->创建数据库     CREATE DATABASE 数据库名称;
创建数据库(判断,如果不存在则创建)    CREATE DATABASE IF NOT EXISTS 数据库名称;


3.删除----->删除数据库                DROP DATABASE 数据库名称;
删除数据库(判断,如果存在则删除)            DROP DATABASE IF EXISTS 数据库名称;


4.使用数据库----->查看当前使用的数据库           SELECT DATABASE();
使用数据库----->USE 数据库名称;

        DDL---操作表

1.创建表(Create)

Create Table 表名(

        字段名1 数据类型1,

        字段名2 数据类型2,

        ...

        字段名n 数据类型n

)

注意: 是字段名在前,数据类型在后, 最后一个末尾不需要逗号

2.查询表(Retrieve)

查询当前数据库下所有表的名称     Show Tables;

查询表结构     Desc 表名称;

3.修改表(Update)

1修改表名                 ALTER TABLE 表名 RENAME TO 新的表名;
2.添加一列                ALTER TABLE 表名 ADD 列名 数据类型;
3.修改数据类型        ALTER TABLE 表名 MODIFY 列名 新数据类型;
4.修改列名和数据类型           ALTER TABLE 表名 CHANGE 列名 新列名新数据类型;
5.删除列         ALTER TABLE 表名 DROP 列名;

4.删除表(Delete)

Drop Table 表名;

判断是否存在再删除表  Drop Table if exites 表名;

2.DML

        DML---操作数据

1.添加数据
(1)给指定列添加数据
INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...);
(2)给全部列添加数据
INSERT INTO 表名 VALUES(值1,值2,...);
(3)批量添加数据
INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,.....);

INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,..),(值,值2,.....);

2.修改数据
修改表数据
UPDATE 表名 SET 列名1=值1,列名2=值2,... WHERE 条件;
注意:修改语句中如果不加条件则将所有数据都修改

修改前:

 

修改后:

3.删除数据
DELETE FROM 表名 WHERE 条件 ;
注意:删除语句中如果不加条件,则将所有数据都删除

3.DQL(重点)

查询语法   

SELECT
        字段列表
FROM
        表名列表

WHERE
        条件列表

GROUP BY
       分组字段

HAVING
        分组后条件

ORDER BY
        排序字段
LIMIT
        分页限定

基础查询
条件查询(WHERE)
分组查询(GROUP BY)
排序查询(ORDER BY)
分页查询(LIMIT)

        基础查询

1.查询多个字段
SELECT 字段列表 FROM 表名;
SELECT * FROM 表名;-- 查询所有数据

2.去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;


3.起别名
AS: AS 也可以省略

        条件查询

1.条件查询语法
SELECT 字段列表 FROM 表名 WHERE 条件列表;
2.条件

符号                                                功能
>                                                     大于
<                                                     小于
>=                                                大于等于
<=                                                小于等于
=                                                     等于
<>或 !=                                         不等于
BETWEEN ... AND ...        在某个范围之内(都包含)
IN(...)                                             多选一
LIKE 占位符         模糊查询,  _单个任意字符  %多个任意字符
IS NULL                                         是NULL
IS NOT NULL                               不是NULL
AND 或 &&                                      并且
OR或Il                                              或者
NOT 或!                                        非,不是

        排序查询

1.排序查询语法
SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1[排序方式1],排序字段名2[排序方式2] ...;
排序方式
ASC:升序排列(默认值)
DESC:降序排列
注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序中

        分组查询

1.分组查询语法
SELECT 字段列表 FROM 表名[WHERE 分组前条件限定] GROUP BY 分组字段名[HAVING 分组后条件过滤];
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
where和 having 区别:
执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤.
可判断的条件不一样: where 不能对聚合函数进行判断,having 可以。
执行顺序: where > 聚合函数 >having

        分页查询

1.分页查询语法
SELECT 字段列表 FROM 表名 LIMIT起始索引,查询条目数;
起始索引:从0开始
计算公式: 起始索引 =(当前页码-1)  每页显示的条数
tips:
分页查询limit是MysQL数据库的方言
Oracle分页查询使用rownumber
SQL Server分页查询使用 top

扩展: 聚合函数

1.概念: 将一列数据作为一个整体, 进行纵向计算

2.聚合函数的分类:

函数名                 功能
count(列名)      统计数量(一般选用不为null的列)
max(列名)          最大值
min(列名)           最小值
sum(列名)           求和
avg(列名)           平均值
3.语法:

select 聚合函数名(列名) from 表;

注意: null不会参与聚合函数的运算

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...