MySQL

MySQL

Posted by beansugar on November 10, 2023

DDL-库操作

查询

所有数据库

SHOW DATABASES;  

当前数据库

SEKECT DATABASE();  

创建

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

删除

DROP DATABASE[IF EXISTS] 数据库名;

使用

USE 数据库名;

DDL-表操作

查询

查询当前数据库所有表

SHOW TABLES;  

查询表结构

DESC 表名;  

查询指定表的建表语句

SHOW CREATE TABLE表名;

创建

CREATE 表名( 
	字段1 字段1类型[COMMENT 字段1注释],
	....
	字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释]

修改表

添加字段

ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];  

修改数据类型

ALTER TABLE 表名 MODIFY 新数据类型(长度);  

修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];  

修改表名

ALTER TABLE 表名 RENAME TO 新表名;

删除表

删除表

DROP TABLE[IF EXISTS] 表名;  

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;  

DML增删改

添加数据

  1. 给指定字段添加数据

     INSERT INTO 表名 (字段名1,字段名2,...) VALUES (值1,值2,...);
    
  2. 给全部字段添加数据

     INSERT INTO 表名 VALUES (值1,值2,...);
    
  3. 批量添加数据

     INSERT INTO 表名 (字段名1,字段名2,...) VALUES (值1,值2,...), (值1,值2,...), (值1,值2,...);  
     INSERT INTO 表名 VALUES (值1,值2,...), (值1,值2,...), (值1,值2,...);  
    

修改数据

UPDETE 表名 SET 字段1 =值1,字段名2=值2,...[WHERE 条件];  
 例如:update tb_user set name='change' where id=1;

删除数据

DELETE FROM 表名 [WHERE 条件];    
**注意**DELETE语句不能删除某一个字段的值(可以使用UPDATE)

DQL(查询)

SELECT  
	字段列表  
FROM  
	表名列表  
WHERE  
	条件列表  
GROUP BY  
	分组字段列表  
HAVING  
	分组后条件列表  
ORDER BY  
	排序字段列表  
LIMIT  
	分页参数  

基本查询

  1. 查询多个字段

     SELECT 字段1,字段2,字段3,字段4,... FROM 表名;  
     SELRCT *FROM 表名;
    
  2. 设置别名

     SELECT 字段1 [AS 别名1],[AS 别名1],[AS 别名1]... FROM 表名;
    
  3. 去除重复记录

     SELECT DISTINCT 字段列表 FROM 表名;  
    

条件查询

SELECT * FROM 表名 WHERE [条件];  
列如:SELECT * FROM emp WHERE age = 88;  
条件

IN(…):在in之后的列表中的值多选1 LIKE 占位符 :模糊匹配(_匹配单个字符,%匹配任意个字符)

聚合函数

作用于列

常用函数

count
max
min
avg
sum

SELECT 聚合函数(字段列表) FROM 表名;

分组查询

SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];  
**having 函数可以使用聚合函数**