/*
创建数据库
*/
CREATE DATABASE 数据库名;
/*
切换到指定数据库
*/
USE 数据库名;
/*
创建表
*/
CREATE TABLE 表名(
/*字段*/
字段名 字段数据类型 约束;
id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,(字段id INT类型 自增长 主键 不能为空)
`name` VARCHAR(255) NOT NULL(字段`name` VARCHAR类型长度255 不能为空)
);
/*
修改指定表中字段的字段名和类型
*/
ALTER TABLE 表名 CHANGE 字段名 新字段名 新字段名类型;
/*
向表中指定字段插入数据
*/
INSERT INTO 表名 (字段名) VALUE (字段值);
/*
向指定表中所有字段插入数据,顺序为创建表时的字段顺序
*/
INSERT INTO 表名 VALUE (值);
-- 删除指定表中,符合条件的所有数据
DELETE FROM 表名 WHERE 条件;
/*
给指定表中字段更新数据
*/
UPDATE 表名 SET 字段名=字段值,....;
/*
给指定表中符合要求的所有字段更新数据
*/
UPDATE 表名 SET 字段=字段值,..... WHILE 条件;
/*
删除指定表
*/
DELETE FROM 表名 [WHILE 条件];或者TRUNCATE TABLE 表名;(两者区别: DELETE是一条一条删除,不删除AUTO_INCREMENT记录数。TRUNCATE 是直接删除表,重新建表,AUTO_INCREMENT记录数被置为零)
/*
单表查询
*/
-- 查询表中所有数据
SELECT * FROM 表名;
-- 查询表中指定字段
SELECT 字段名,字段名 FROM 表名;
-- 别名查询
SELECT 字段 AS '字段别名' FROM 表名; 或者 SELECT 字段 字段别名 FROM 表名;
-- 给指定字段去重
SELECT DISTINCT 字段名 FROM 表名;
-- 给指定字段+10
SELECT 字段名+10 FROM 表名;
-- 查询指定字段中值为指定字符串内容的所有信息
SELECT * FROM 表名 WHERE 字段名='';
-- 查询指定字段中值等于指定数的所有信息
SELECT * FROM 表名 WHERE 字段名=指定数;
-- 查询指定字段中值不等于指定数的所有信息
SELECT * FROM 表名 WHERE 字段名!=指定数; 或者 SELECT * FROM 表名 WHERE NOT (指定字段=指定数);
-- 模糊查询,查询指定字段中包含指定字符的所有信息
SELECT * FROM 表名 WHERE 字段名 LIKE '%指定字符%';
-- 模糊查询,查询指定字段中以指定字符开头的所有信息
SELECT * FROM 表名 WHERE 字段名 LIKE '指定字符%';
-- 模糊查询,查询指定字段中第二个字为指定字符的所有信息
SELECT * FROM 表名 WHERE 字段名 LIKE '_指定字符%';
-- 查询指定字段值为空的所有信息
SELECT * FROM 表名 WHERE 字段名 IS NULL;
-- 查询指定字段中不为空的所有信息
SELECT * FROM 表名 WHERE 字段名 IS NOT NULL;
-- 查询表中所有所有信息总条数
SELECT COUNT(*) FROM 表名;
-- 查询表中符合指定条件的所有信息总条数
SELECT COUNT(*) FROM 表名 WHERE 条件;(WHERE为分组前查询)
-- 求和
SELECT SUM(字段名) FROM 表名 WHERE 条件;
-- 求平均值
SELECT AVG(字段名) FROM 表名 WHERE 条件;
-- 求最大值、最小值
SELECT MAX(字段名) FROM 表名 WHERE 条件;
SELECT MIN(字段名) FROM 表名 WHERE 条件;
-- 分组查询
SELECT 字段1,字段2… FROM 表名 GROUP BY分组字段 HAVING 分组条件;(必须与聚合函数配合使用,且HAVING为分组后进行筛选)
/*
多表查询
*/
-- 添加字段
ALTER TABLE 表名 ADD COLUMN 字段名 字段类型;
-- 添加外键约束
ALTER TABLE 表名 ADD CONSTRAINT 字段别名 FOREIGN KEY(字段名) REFERENCES 主表表名(主表字段);
-- 交叉连接查询
SELECT * FROM A,B;
/*
内连接查询
*/
-- 隐式内连接
SELECT * FROM A,B WHERE 条件;
-- 显式外连接
SELECT * FROM A INNER JOIN B ON 条件;
-- 左外连接
SELECT * FROM A LEFT OUTER JOIN B ON 条件;
-- 右外连接
SELECT * FROM A RIGHT OUTER JOIN B ON 条件;
/*
查看数据库中的所有表
*/
SHOW TABLES;
/*
查看表结构
*/
DESC 表名;
MySQL学习 - Sql语句汇总
最新推荐文章于 2025-08-13 17:42:51 发布