51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

速记——MySQL基础语法

SQL概述 {#SQL概述}

SQL(Structured Query Language,结构化查询语言)是一种专门用于管理和操作关系型数据库的标准编程语言。SQL 用于在数据库中执行各种操作,包括数据查询、数据定义、数据操纵和数据控制。

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语法}

SQL的特征:对大小写和多行不敏感,用 ; 完成分隔。
注释:

  • 单行注释: -- 内容 或者 # 内容
  • 多行注释:与C语言的多行注释一致

DDL-数据定义语言 {#DDL-数据定义语言}

库管理 {#库管理}

查看库:
show databases;
使用库:
use 名称
创建库:
create database 名称 [charset utf8]
删除库:
drop database 名称
查看当前使用的数据库:
select database();

表管理 {#表管理}

查看:
show tables;
创建:

|-----------------|--------------------------------------------------| | 1 2 3 4 | create NAME( 列名称 数据类型 限制, 列名称 数据类型 限制 ); |

数据类型:
int:整数
float: 浮点数
varchar(len): 字符串,最大255
date: 日期
timestamp: 时间戳

删除:
drop table 名称

DML-数据操作 {#DML-数据操作}

对于一个用下列语句定义的表:

|-------------------|--------------------------------------------------------------------| | 1 2 3 4 5 | create table stu( name varchar ( 10 ), id int , age int ); |

插入数据:

  1. 对某一列插入数据
    insert into stu(name) values('初音未来'), ('葱酱'); 注意:字符串用'单引号'包围
  2. 对几列插入数据
    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-查询语句 {#DQL-查询语句}

SELECT基础查询 {#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的注意事项和执行顺序}

每个select语句中, 参数from 为必选项。
执行顺序:
from -> where(筛选) -> group by + 聚合函数 -> select -> order by -> limit(选择性展示)

以上是一些最基本的增删改查操作语句。是之后学习Python数据分析和后端数据库搭建的基础。

赞(0)
未经允许不得转载:工具盒子 » 速记——MySQL基础语法