常用查询语句
ORDER BY
- ORDER BY DESC 降序
- ORDER BY ASC 升序
LIMIT
limit 3 --# 显示3条
limit 1, 3 --# 显示3条 偏移1个位置
-- # 更新操作时limit只能有一个参数
UPDATE user SET age = age+3 limit 3
联表查询
外连接
左连接
LEFT JOIN ON
左外连接包含left join左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL)。
select * from student left join course on student.ID=course.ID
右连接
RIGHT JOIN ON
右外连接包含right join右表所有行,如果左表中某行在右表没有匹配,则结果中对应左表的部分全部为空(NULL)。
select * from course right join studenton student.ID=course.ID
全连接
FULL JOIN
完全外连接包含full join左右两表中所有的行,如果右表中某行在左表中没有匹配,则结果中对应行右表的部分全部为空(NULL),如果左表中某行在右表中没有匹配,则结果中对应行左表的部分全部为空(NULL)。
select * from student full join course on student.ID=course.ID
内连接
JOIN 或 INNER JOIN
内连接是比较运算符,只返回符合条件的行。
select * from student inner join course on student.ID=course.ID
外键约束
CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…]
表 tb_dept1
mysql> CREATE TABLE tb_dept1
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(22) NOT NULL,
-> location VARCHAR(50)
-> );
表 tb_emp6
mysql> CREATE TABLE tb_emp6
-> (
-> id INT(11) PRIMARY KEY,
-> name VARCHAR(25),
-> deptId INT(11),
-> salary FLOAT,
-> CONSTRAINT fk_emp_dept1
-> FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
-> );