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

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...