MySQL#2(数据模型,SQL通用语法,SQL分类)
创始人
2024-04-27 04:41:54
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不会参与聚合函数的运算

上一篇:Transformer17

下一篇:C语言 期末合集 pta

相关内容

热门资讯

“于毫厘之间较真、在法规之内求... 新华社南昌9月23日电 题:“于毫厘之间较真、在法规之内求真”——走进共和国统计事业发源地 新华社记...
机票已花钱,选座为何再付费?民... 假期将至,不少旅客在办理线上值机选座时遭遇“烦心事”:不少心仪座位被提前“锁定”,前排、靠窗、靠过道...
欧盟官员:美国气候政策是“一种... 当地时间9月23日,欧盟委员会副主席里贝拉警告称,如果美国“忘记世界其他国家”并退出全球气候谈判,这...
打击危害粮食安全犯罪 今年立案... 记者9月23日从公安部获悉,近年来,公安机关依法严厉打击非法占用农用地、破坏黑土地资源、制售假劣农资...
王晋:巴勒斯坦国“承认潮”能否... 国际社会承认巴勒斯坦国的浪潮仍具有重要意义:“两国方案”尤其是承认巴勒斯坦的独立地位,是解决巴以问题...
因买卖合同纠纷,宸芯科技起诉儒... 天眼查APP显示,近日,宸芯科技股份有限公司新增一则开庭公告,案由为“买卖合同纠纷”,原告为宸芯科技...
集中采集男性血样,能否经得起法... 文 | 维辰 9月20日,内蒙古自治区锡林浩特市公安局发布《关于锡林浩特市集中采集男性居民血样并录入...
浙江省知识产权局党委书记、局长... 9月23日,浙江省知识产权局党委书记、局长谢小云在浙江省数据知识产权改革情况新闻发布会上表示,浙江省...
国泰海通证券梁中华:宏观政策将... 中证报中证网讯(记者 王鹤静)9月23日晚,国泰海通证券宏观首席分析师梁中华在做客中国证券报“金牛E...
主力资金 | 尾盘主力资金重点... 仅综合行业获主力资金净流入。 据证券时报·数据宝统计,今日(9月23日)沪深两市主力资金净流出761...