1、表
- 结构化的文件,存储特定类型的数据,表中的数据只有一种类型或者一个清单
- 名字唯一
2、列
- 表由列组成,每一列存储一条特定的信息
- 每个列都有相应的数据类型
3、行
- 表中的数据按行存储
- 是表中的一个记录
4、主键
- 唯一标识表中每行的这个列
- 任意两行不具有相同的主键值
- 每个行都必须有主键值,不允许为null
5、MySQL
- 是一个客户机-服务器DBMS
- 数据排序默认升序,降序需要制定DESC关键字,如果在多个列上进行降序必须对每个列都指定DESC关键字
- SELECT做检索,WHERE做条件过滤
- NULL,无值,与字段包含0、空字符串或仅仅包含空格不同
- AND操作符:用在WHERE子句中的关键字,指示检索满足所有给定条件的行
- OR操作符:用在WHERE子句中的关键字,表示检索匹配任一给定条件的行
- 使用具有AND和OR操作符的WHERE子句都应该使用圆括号明确地分组操作符
- IN操作符:用来指定条件范围,范围中的每个条件都可以进行匹配,功能与OR相当
- NOT操作符:WHERE子句中用来否定后跟条件的关键字
- LIKE操作符:和通配符搭配使用进行搜索
- 百分号%通配符:表示任何字符出现的任意次数,但不匹配NULL
- 下划线(_)通配符:用途和百分号通配符一样,但是只匹配单个字符而不是多个
通配符搜索的处理要比操作符所花时间更长
6、正则表达式
- REGEXP后跟的东西作为正则表达式处理
- 为了匹配特殊字符,在前面加转义字符
\\
7、计算字段
- Concat()拼接串,各个要拼接的串用逗号分隔
- RTrim()删除右侧多余的空格,LTrim()删除左侧,Trim()删除两侧
- 执行算术计算
8、使用数据处理函数
-
文本处理函数
- Upper() 转换为大写
- Left() 返回左边的字符
- Length() 返回长度
- Locate() 找出串的一个子串
- Lower() 转换为小写
- LTrim() 去掉串左边的空格
- Right() 返回串右边的字符
- RTrim() 去掉右边的空格
- SubString() 返回子串的字符
-
日期和时间处理函数
-
Date() 返回日期时间的日期部分
-
CurDate()
-
Time() 返回日期时间的时间部分
-
Year()
-
数值处理函数
-
Abs()
-
Exp()
-
Mod() 返回余数
-
Rand() 返回随机数
-
Sqrt()
-
SQL聚集函数
-
AVG() 某列的平均值
-
COUNT() 某列的行数
-
MAX() 最大值
-
MIN() 最小值
-
SUM() 某列值求和
-
聚集不同值:使用关键字DISTINCT
-
分组是在SELECT语句的GROUP BY子句中建立的
-
分组过滤用HAVING
WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤
9、子查询
- 嵌套在其他查询中的查询
10、联结
- 外键:为某个表中的一列,包含另一个表的主键值,定义两个表之间的关系
- 利用WHERE子句建立联结关系,应该保证所有的联结都有WHERE子句
11、组合查询
- 关键字UNION:
- 必须由两条或两条以上的SELECT语句组成,语句之间用UNION分隔
- UNION的每个查询必须包含相同的列、表达式或聚集函数
- 列数据类型必须兼容