MySql基础

2025-03-03 12:02:00

DDL-数据库操作

1.查询

SHOW DATABASES;#查询所有数据库
SELECT DATABASE();#查询当前数据库

2.创建

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则]

#简写
CREATE DATABASE 数据库名
#样例
CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci

注:1.utf8mb4_unicode_ci 是基于标准的Unicode来排序和比较,能够在各种语言之间精确排序,不区分大小写

2.utf8mb4_general_ci 没有实现Unicode排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致,不区分大小写

3.删除

DROP DATABASE [IF EXISTS] 数据库名

4.使用

USE 数据库名

DDL-表操作

1.查询

SHOW TABLES;#查询当前数据库所有表
DESC 表名;#查看表结构(表头 字段|类型)
SHOW CREATE TABLE 表名;#查询创建的表

2.创建(表头)

CREATE TABLE 表名(
    字段 字段类型[COMMENT 注释]
)[COMMENT 注释]

#样例
CREATE TABLE table1(
    name varchar(3) comment "xxx"
) comment "xxx"

3.修改

ALTER TABLE 表名 ADD 字段名 类型 [COMMENT 注释]#添加字段
				MODIFY 字段名 数据类型 #改类型
				CHANGE 旧字段名 新字段名 类型 [COMMENT 注释] #全改
				DROP 字段名#删除字段
				RENAME TO 新表名#改表名

4.删除

DROP TABLE [IF EXISTS] 表名 #删除表
TRUNCATE TABLE 表名 #清空表(删除后重新创建)

DML-表数据操作

1.插入

INSERT INTO 表名(字段,...) VALUES(值,...);#赋值与字段一一对应
INSERT INTO 表名 VALUES(值,...);#表头赋值完

INSERT INTO 表名(字段,...) VALUES(值,...),(值,...)#批量插入与字段对应
INSERT INTO 表名 VALUES(值,...),(值,...)#批量插入与表头对应
(字段名1,字段名2,...)
(值1   ,值2    ,...)

2.修改

UPDATE 表名 SET 字段名1=值1,... [WHERE 条件]

3.删除

DELETE FROM 表名 [WHERE 条件]

DQL-表查询

SELECT
	字段列表
FROM
	表名列表
WHERE
	条件列表
GROUP BY
	分组字段列表
HAVING
	分组后条件列表
ORDER BY
	排序字段列表(ASC 升序;DESC 降序)
LIMIT
	begin_index,length
	
#样例
SELECT 字段1,... FROM 表名,... WHERE 字段 [LIKE '_%_ad']
LIKE 通配符'_'匹配一个字符,'%'匹配任意字符

#执行顺序
FROM->WHERE->GROUP BY->HAVING->SELECT->ORDER BY->LIMIT

聚和函数

COUNT 统计数量
MAX 最大值
MIN 最小值
AVG 平均值
SUM 求和

SELECT 函数() from 表名

目录