速记——MySQL基础语法
SQL概述
SQL(Structured Query Language,结构化查询语言)是一种专门用于管理和操作关系型数据库的标准编程语言。SQL 用于在数据库中执行各种操作,包括数据查询、数据定义、数据操纵和数据控制。
SQL的分类
SQL 主要用于以下几类操作:
数据查询(Data Querying):
通过 SELECT 语句从数据库表中检索数据。
数据定义(Data Definition):
通过 CREATE、ALTER 和 DROP 语句创建、修改和删除数据库对象(如表、视图、索引等)。
数据操纵(Data Manipulation):
通过 INSERT、UPDATE 和 DELETE 语句插入、更新和删除数据。
数据控制(Data Control):
通过 GRANT 和 REVOKE 语句管理用户的权限。
开发环境
笔者使用的环境是 MySQL8.0 以及 DBeaver 可视化界面。
常见的SQL语法
SQL的特征:对大小写和多行不敏感,用;
完成分隔。
注释:
- 单行注释:
-- 内容
或者# 内容
- 多行注释:与C语言的多行注释一致
DDL-数据定义语言
库管理
查看库:show databases;
使用库:use 名称
创建库:create database 名称 [charset utf8]
删除库:drop database 名称
查看当前使用的数据库:select database();
表管理
查看:show tables;
创建:
1 | create NAME( |
数据类型:
int:整数
float: 浮点数
varchar(len): 字符串,最大255
date: 日期
timestamp: 时间戳
删除:drop table 名称
DML-数据操作
对于一个用下列语句定义的表:
1 | create table stu( |
插入数据:
- 对某一列插入数据
insert into stu(name) values('初音未来'), ('葱酱');
注意:字符串用’单引号’包围
- 对几列插入数据
insert into stu(name. id) values('初音未来', 1);
删除数据:delete from stu [where id = 1]
其中where为条件判断,有=, >, <, >=, <=, !=
几种,如果没有where,默认删除全部数据。
更新数据:update stu set name = 'Miku' where name = '初音未来'
set后为修改语句,where为条件判断。
DQL-查询语句
SELECT基础查询
对于上述的表:
查询所有的列:select * from student;
查询部分列:select name, age from student;
使用限制条件:select name, age from student where age < 16;
分组聚合
对于一个包含了name
, id
, age
, gender
的表,若要按照性别分组统计年龄:
1 | select gender,avg(age) from student group by gender; |
注意,select后的参数除分组依据外,不得出现其他的列元素(无法表示)。
类似于avg()的统计函数还有:
SUM()
:求和MIN()
:最小MAX()
:最大COUNT()
:计数(只要该数据的对应列存在就加一,一般用count(*)
)
排序和分页查询
排序:order by 判据 [asc(升序) / desc(降序)]
分页查询:limit m[,n]
单个参数:表示在输出列表的最上端取出m条数据。
两个参数:表示在输出列表的第m个之后取出n条数据。
示例:
1 | select age, count(age) from student where age > 10 group by age order by age asc limit 3; |
select的注意事项和执行顺序
每个select语句中,参数
和from
为必选项。
执行顺序:
from -> where(筛选) -> group by + 聚合函数 -> select -> order by -> limit(选择性展示)
以上是一些最基本的增删改查操作语句。是之后学习Python数据分析和后端数据库搭建的基础。