1. 数据库
1.1 创建
|
|
1.2 删除
|
|
1.3 展示
|
|
1.4 创建过程
|
|
展示表的结构
DESC my_contacts
2. 表的基本操作
2.1 创建
2.1.1 直接创建
|
|
其他文本属性
|
|
2.1.2 AS SELECT 创建
|
|
2.2 新增
2.2.1 值
INSERT INTO 插入
2.2.2 列(值)
ADD COLUMN
UPDATE…SET… 直接新增
SELECT 多表返回
|
|
2.3 删除
2.3.1 删除行
|
|
2.3.2 删除列
|
|
2.4 格式
2.4.1 结构展示
|
|
2.4.2 改变表的名称
|
|
2.4.3 改变列的格式
CHANGE 改变列的 名称、格式
|
|
MODIFY 改变列的 格式、位置
2.5 替换
UPDATE…SET
UPDATE…SET…CASE WHEN…THEN…
3. 查询
3.1 单元格属性
3.1.1 行数-count()
|
|
3.1.2 字符串长度-length()
|
|
3.2 单元格的值
3.2.1 左部分 -left()
|
|
3.2.2 右部分-right()/substr()
|
|
3.2.3 指定位置的值-substring()
|
|
3.2.4 特定符号之前的值-substring_index()
|
|
3.2.5 去除空格的值-trim()
|
|
示例1:提取 Kadet(102)AD, Cide(31)DF 两侧的值
|
|
示例2:分列,提取同一列football, sing, reading 中的值
|
|
3.3 特定条件的值
3.3.1 特定范围(含日期)
|
|
3.3.2 通配符-like
|
|
3.3.3 相等&不相等的值
小范围
|
|
两个表之间
查询选修了c02号课程的学生的姓名和所在系,学生表(student),课程表(sc)
|
|
|
|
两个表之间 - 不相等:not exists
查询所有未讲课的教师的Tname和Depart
|
|
4. 查询:表格相关
4.1 分组、排序
分组 GRUOP BY
排序 ORDER BY name, degree DESC, SUM(age) DESC
# 默认为升序排序(ASC)
|
|
where 用于分组之前
having 用于分组之后
4.2 显示数量-limit()
LIMIT
LIMIT n1
# 返回前n1行,并且MySQL是从0开始的LIMIT n1,n2
# 返回从第n1+1行(MySQL从0开始),之后的n2行LIMIT n1,n1
# 返回特定行的值
Limit结合排序Order by 往往有不错的效果
5. 数字处理
5.1常规统计函数
rand() [0,1]之间的随机值
,round(x,[y]) 取整;y为小数位数,y可以为负数
,floor(x) 向下取整,小于x的最大整数
,ceiling(x) 向上取整
truncate(x,[y]),截断至y指定的小数位数后的值
mod(x,y) x/y的余数
sum()
,avg()
,sqrt()平方根
,exp()指数
,ln(x) / log(x,y) 对数
,power(x,y) x的y次方
,abs() 绝对值
,pi() π
6. 数据清洗
6.1 缺失值
删除缺失值
|
|
6.2 重复值/唯一值
返回唯一值:distinct()
|
|
7. 日期
SELECT NOW(); 返回当前日期与时间
SELECT MONTH(NOW()); 返回当前月份
SELECT YEAR(NOW()); 返回当前年份
计算年龄
|
|