参考:
1、《SQL学习指南》
2、慕课网,SQL学习基础
提纲:
第二章 创建和使用数据库
2.1 创建MYSQL数据库
2.2 使用mysql命令行工具
2.3 MySQL数据类型
2.3.1 字符型数据
2.3.2 数值型数据
2.3.3 时间数据
2.4 表的创建
2.4.1 第一步:设计
2.4.2 第二步:精华
2.4.3 第三步:构建SQL方案语句
2.5 操作和修改表
2.5.1 插入数据
2.5.2 更新数据
2.5.3 删除数据
2.6 导致错误的语句
2.6.1 主键不唯一
2.6.2 不存在的外键
2.6.3 列值不合法
2.6.4 无效的日期转换
问题:什么是主键约束、外键约束?http://www.cnblogs.com/netserver/archive/2011/12/15/2289013.html
外键约束只能在使用InnoDB 存储引擎创建表时才起作用。第12章将会讨论MySQL的存储引擎。
2.7 Bank方案
第三章 查询入门
3.1 查询机制
3.2 查询语句
字句名称 使用的目的
select 语句由几个组件或者字句组成。
select 确定结果集中应该包含哪些列
from 指明所要提取数据的表,以及这些表是如何连接的
where 过滤不需要的数据
group by 用语对具有相同列值的行进行分组
having 过滤掉不需要的组
order by 按一个或多个列,对最后结果集中的行进行排序
3.3 select 字句
内建函数、别名、去除重复的行
3.4 from字句
表的概念(永久表:使用create table语句创建的表、临时表:子查询返回的表,虚拟表:使用create view字句)
子查询产生的表
视图、表连接、定义表别名
3.5 where字句
3.6 group by 和having字句
group by 是用根据列值对数据进行分组。举例子来说,也许你并不需要查看雇员和他们所处部门的列表,而是想要获取部门和它所拥有雇员数的清单。
SELECT d.name,count(e.emp_id) num_employees
FROM department d INNER JOIN employee e ON d.dept_id = e.dept_id
GROUP BY d.name
HAVING count(e.emp_id)>2;
3.7 order by 字句
默认是升序排列,可以根据表达式排序、根据数字占位符排序