MySQL 总结笔记

152 阅读2分钟

对前端来说较为陌生的一些

创表时经常忘记设置字符utf8

user表

image.png

photo表

image.png

-- 1.子查询
SELECT * from photo WHERE user_id = (SELECT id from user WHERE name = '小刘')



-- 2.连表
-- -- 2.1内连接
SELECT * from `user`, `photo` WHERE `user`.id = `photo`.user_id



-- -- 2.2外连接
-- -- -- 2.2.1左连接
SELECT * FROM `user` LEFT JOIN `photo` ON `user`.id = `photo`.user_id



-- -- -- 2.2.2右连接
SELECT * FROM `user` RIGHT JOIN `photo` ON `user`.id = `photo`.user_id

image.png

2.1 image.png

2.2.1 image.png

2.2.2 image.png

一、能够使用SQL语句操作数据库 database/DATABASE

创建数据库: CREATE DATABASE 数据库名;

删除数据库: DROP DATABASE 数据库名;

修改数据库: ALTER DATABASE 数据名 CHARACTER SET 新字符集;

查看所有数据库: SHOW DATABASES;

二、能够使用SQL语句操作表结构 table/TABLE

创建表: CREATE TABLE 表名(字段名 字段类型);

删除表: DROP TABLE 表名;

修改表: ALTER TABLE 表名 xxx;

查看所有表: SHOW TABLES;

三、能够使用SQL语句进行数据的添加修改和删除的操作

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

修改: UPDATE 表名 SET 字段名=新的值;

删除: DELETE FROM 表名;

四、能够使用SQL语句简单查询数据

查询: SELECT * FROM 表名;

-- 条件查询

SELECT * FROM 表名 WHERE 条件;

-- 能够使用SQL语句进行排序

SELECT * FROM 表名 ORDER BY 字段名 ASC|DESC;

五、能够使用聚合函数

COUNT: 统计一列数量(NULL不处理)

SUM: 统计一列的总和

MAX: 统计一列的最大值

MIN: 统计一列的最小值

AVG: 统计一列的平均值

六、能够使用SQL语句进行分组查询

SELECT * FROM 表名 GROUP BY 字段名;

-- 分组后返回每组第一条数据,一般分组查询分组的字段,分组的目的是为了统计,分组会跟聚合函数

SELECT 字段名, 聚合函数(字段) FROM 表名 GROUP BY 字段名;

七、能够完成基本的分页查询

SELECT * FROM 表名 LIMIT m, n;

-- m: 跳过的数量

-- n: 要显示的数量

八、能够使用SQL语句添加主键、外键、唯一、非空约束

主键约束: PRIMARY KEY

唯一约束: UNIQUE

非空约束: NOT NULL

外键约束: FOREIGN KEY