Lazy loaded image
🤪MySQL基础
字数 1767阅读时长 5 分钟
2025-4-14
2025-4-22
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. 聚合函数

  1. 定义
    1. 将一列数据作为一个整体, 进行纵向计算
  1. 聚合函数表
函数
功能
count
统计数量
max
求最大值
min
求最小值
avg
平均值
sum
求和
 
  1. 语法
 

3. 分组查询

  1. 语法
🧐
where 和 having 的区别
  1. 执行时机不同: where是分组之前进行过滤,不满足where条件,不参与分组; 而having是分组后对分组的结果进行过滤
  1. 判断条件不同: where不能对聚合函数进行判断,而having可以
  1. 示例
 

4. 排序查询

  1. 语法
  1. 案例
 

5. 分页查询(limit)

🧐
把查询的内容分页
  1. 语法
注意: - 起始索引从0开始, 起始索引 = (查询页码 - 1) * 每页显示记录数 - 分页查询在不同的数据库有不一样的实现语法, MySQL 是limit - 查询的是第一页数据, 起始索引可以省略, 写成 limit 10
 
  1. 案例

基础-DCL-数据控制

🧐
DCL⇒ Data Control Language 数据控制语言
作用:
  • 用来管理数据库用户、控制数据库的访问权限
SQL开发人员比较少用, 一般是DBA(DataBase Administrator 数据库管理员)使用
  1. 查询用户
 
notion image
 
注意⚠️ 在MySQL中需要用 User 和 Host 来唯一标识一个用户 ⇒ ‘用户名’@’主机名’
 
  1. 创建用户
  1. 修改用户密码
  1. 删除用户
 
 

函数

🧐
函数是指一段可以直接被另一段程序调用的程序或代码。是一些常用的功能的封装
 

1. 字符串函数

 
 

📎 持续更新

  • 4/15
  • 4/22
 
💡
PanDa欢迎您在底部评论区留言,一起交流~
 
上一篇
认识一下我吧
下一篇
线段树—从建树到懒标记

评论
Loading...