type
status
date
slug
summary
tags
category
icon
password
作为一个大二的学生, 怎么可以不学习数据库呢?
SQL语言入门
基础-DDL-数据库操作
也就是对于数据库整体的操作
- 查询
- 查询所有的数据库
- show databases;
- 查询当前数据库
- select database();
- 创建
- create database [is exists] 名字 [default charset 字符集] [collate 排序规则]
- charset 一般用utf8mb4, 因为utf8一个字符固定是三字节, utf8mb4是4个字节
- 删除
- drop database [if exists] 名字;
- 使用
- use 数据库名;
基础-DDL-表操作-查询
- 查询当前数据库所有表
- show tables;
- 查询表结构
- desc 表名;
- 查询指定表的建表语句
- show create table 表名;
基础-DDL-表操作-数据类型
- 数值类型
- tinyint — 1 byte
- smallint — 2 bytes
- mediumint — 3 bytes
- int 或 integer — 4 bytes
- bigint — 8 bytes
- float — 4 bytes
- double — 8 bytes
- decimal — 依赖M(精度)和D(标度)的值
- ?精度和标度: 123.45
- 精度是5(整个的长度)
- 标度是2(小数点的位数)
- 字符类型
- char
- varchar → 变长,但是超过了总长还是报错
- 后面记得跟上长度哦
- 日期类型
- date
- 3 bytes
- 1000-01-01 → 9999-12-31
- time
- 3 bytes
- -838:59:59 → 838:59:59
- year
- 1 bytes
- 1901 → 2155
- datetime
- 8 bytes
- 1000-01-01 00:00:00 → 9999-12-31 23:59:59
- timestamp 时间戳
- 4 bytes
- 1970-01-01 00:00:01 → 2038-01-19 03:14:07
基础-DDL-表操作-修改
ALTER 操作
- 添加字段
- alter table 表名 add 字段名 类型(长度)[comment 注释] [约束];
- 修改数据类型
- alter table 表名 modify 字段名 新数据类型(长度)
- 修改字段名和字段类型
- alter table 表名 change 旧字段名 类型(长度) [comment 注释] [约束]
- 删除字段
- alter table 表名 drop 字段名;
- 修改表名
- alter table 表名 rename to 新表名
- 删除表
- drop table [if exists] 表名;
- 删除指定表, 并重新创建该表
- truncate table 表名;
- ‘只是删除数据, 表结构不删除’
基础-DML-数据操作
对表中 的信息进行:增、删、改 增:insert 改:update 删:delete
注意⚠️
DDL中也有删除操作drop,是对于表中的字段或者表进行操作的
DML的删除操作delete,是对于表中的数据进行操作的
- 增加
- insert into 表名(字段1, 字段2, …) values(值1, 值2, …) [,(值1, 值2, …)…];
- 修改
- update 表名 set 字段1=值1, 字段2=值2 [where 条件]
- 删除
- delete from 表名 [where 条件]
- 没有where就是删除整张表的数据!
基础-DQL-数据查询
DQL ⇒ Data Query Language(数据查询语言) 关键字: select
- DQL-语法
- 各种查询
- 基本查询
- 条件查询(where)
- 聚合函数(count、max、min、avg、sum)
- 分组查询(group by)
- 排序查询(order by)
- 分页查询(limit)
1. 条件查询—where
- 比较运算符
> | 大于 |
≥ | 大于等于 |
< | 小于 |
≤ | 小于等于 |
= | 等于 |
<> 或 ≠ | 不等于 |
between … and … | 在某个范围,注意从小到大 |
in(…) | 满足其中一个即可 |
like 占位符 | 模糊匹配
(_单个字符,%匹配任意个字符) |
is null | 是null |
- 逻辑运算符⬇️
ㅤ | 功能 |
and 或 && | 并且 |
or 或 || | 或者 |
not 或 ! | 不是 |
2. 聚合函数
- 定义
将一列数据作为一个整体, 进行纵向计算
- 聚合函数表
函数 | 功能 |
count | 统计数量 |
max | 求最大值 |
min | 求最小值 |
avg | 平均值 |
sum | 求和 |
- 语法
3. 分组查询
- 语法
where 和 having 的区别
- 执行时机不同: where是分组之前进行过滤,不满足where条件,不参与分组; 而having是分组后对分组的结果进行过滤
- 判断条件不同: where不能对聚合函数进行判断,而having可以
- 示例
4. 排序查询
- 语法
- 案例
5. 分页查询(limit)
把查询的内容分页
- 语法
注意: - 起始索引从0开始, 起始索引 = (查询页码 - 1) * 每页显示记录数 - 分页查询在不同的数据库有不一样的实现语法, MySQL 是limit - 查询的是第一页数据, 起始索引可以省略, 写成 limit 10
- 案例
基础-DCL-数据控制
DCL⇒ Data Control Language 数据控制语言
作用:
- 用来管理数据库用户、控制数据库的访问权限
SQL开发人员比较少用, 一般是DBA(DataBase Administrator 数据库管理员)使用
- 查询用户

注意⚠️ 在MySQL中需要用 User 和 Host 来唯一标识一个用户 ⇒ ‘用户名’@’主机名’
- 创建用户
- 修改用户密码
- 删除用户
函数
函数是指一段可以直接被另一段程序调用的程序或代码。是一些常用的功能的封装
1. 字符串函数
📎 持续更新
- 4/15
- 4/22
PanDa欢迎您在底部评论区留言,一起交流~
- 作者:PanDa
- 链接:Panda_Clog | 代码Vlog (c.pandaclog.xyz)/article/1d50312b-e533-80b1-ba52-c8e50ab4d6d0
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。