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不会参与聚合函数的运算

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...