对前端来说较为陌生的一些
创表时经常忘记设置字符utf8
user表
photo表
-- 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
2.1
2.2.1
2.2.2
一、能够使用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