MySQL 学习笔记

Q: 什么是 MySQL ?

mysql 是开源关系型数据库,关系型数据库使用表格的形式存储数据,每个表由行和列组成,表之间可以通过外键关联

Q: 如何登陆 MYSQL

mysql -h<主机地址> -u<账号> -p<密码> -P<端口号>

Q: SQL 分类

  1. DDL: 数据定义语言,定义数据库对象,create/drop
  2. DML:数据操作语言,操作数据,insert/update/delete
  3. DQL:数据查询语言,查询数据,select
  4. DCL:数据控制语言,权限控制,grant

Q: 创建/查看/切换/删除数据库

创建:create database <库名>
查看:show databases
切换: use <库名>
删除:drop database <库名>

Q: 创建表

create table <表名>(<字段名> <类型> <约束> comment '备注')
字段说明:

  • int<整型>
  • float<m,n><精确小数>
  • char(n) <固定长度字符串>
  • varchar(n) <可长度字符串>
  • datetime<日期时间>

约束说明:

  • primary key <主键,非空且唯一>
  • auto_increment <自增>
  • not null <非空>
  • unique <唯一>
  • default <默认值>

Q: 查看表结构

desc <表名>
show create table <表名>

Q: 修改表结构,添加/修改/重命名/删除字段

  • alter table <表名> add column <字段名> <类型> <约束> <after 列名>
  • alter table <表名> modify column <字段名> <类型> <约束>
  • alter talbe <表名> change <旧名> <新名> <类型>
  • alter table <表名> drop column <字段名>

Q: 删除表

drop table <表名>

Q: 插入数据

insert into <表名> (字段全量可省略) values(值)

Q: 更新数据

update <表名> set <字段>=值 where <条件,无条件全表更新>

Q: 删除数据

delete from <表名> where <条件>
truncate table <表名> 清空全表

Q: 条件查询

select *(指定字段) from <表名> where <条件>(比较/逻辑运算符)

Q: 模糊查询

select * from <表名> where <字段> like '张%'

Q: 排序

select * from <表名> order by <字段> asc(正序) desc(倒叙)

Q: 限制返回行数

select * from <表名> limit <行数> offset <偏移量> ;

Q: 分组+聚合函数

  • select count(*), sum() from <表名> group by <字段>
  • count(计数)/sum(求和)/avg(平均)/max(最大)/min(最小)
  • group_concat(id) 可以用字符串展示出分组后合并的内容
  • having 用于分组后的条件筛选

Q: 合并多个查询结果

select * from <表名> union [all] select * from <表名>

Q: 联合查询

  • select *(表一.字段, 表二.字段) from <表一> join <表二> on 条件 内连接,返回交集
  • select * from <表一> left join <表二> on 条件 左连接,返回左表全数据,右表无匹配显示null
  • select * from <表一> right join <表二> on 条件 右连接,返回右表全数据,左表无匹配显示null

Q: 子查询

select * from <表名> where <字段>=(select <字段> from <表名> where <字段>='文科班');


单词
primary 拍莫瑞
grant 个软特
increment 因克们特
unique 有你克
alter 奥特儿
column 靠了木
truncate 串k特
posted @ 2026-06-28 16:40  琴学苦练  阅读(2)  评论(0)    收藏  举报