Zxmzxm11

2020-07-11   阅读量: 905

Mysql 数据分析师

第二模块总结:数据库应用技能

扫码加入数据分析学习群


本篇目录


一、表结构的基本特性

•	由固定列和任意行构成的表结构的数据集•	表中的列称为字段,表中的行称为记录•	以字段为基本的存储单位和计算单位•	每一个字段必须有字段名,且同一个表中的字段名不能重复•	每个字段的数据类型必须一致

二、SQL语言的书写规则

在这里插入图片描述

三、定义语言 DDL

I、数据库的创、删、选、查

•show databases;		【查看数据库】
•create database 数据库名称;		【创建数据库】
•use 数据库名称;		【选择使用数据库】
•drop database 数据库名称;		【删除数据库】

II、常用数据类型

在这里插入图片描述

III、约束

  1. 主键约束:非空不重复
    在这里插入图片描述

  2. 唯一约束:不能重复
    在这里插入图片描述

  3. 外键约束:与主键相对应,外键字段的值域必须是对应主键值域的子集
    在这里插入图片描述

  4. 自动增长约束:自动增长
    在这里插入图片描述

  5. 非空约束:不能为空
    在这里插入图片描述

  6. 默认约束:当未显式初始化字段值,自动填充默认值
    在这里插入图片描述

IV、数据表结构的创、增、删、选、查、改

•create table 表名(…);		【创建数据表】
•show tables;		【查看当前数据库中所有表】
•desc 表名;		【查看表结构】
•drop table 表名;		【删除数据表】

•alter table 原表名 rename 新表名;		【修改表名】
•alter table 表名 change 原字段名 新字段名 数据类型;		【修改字段名】
•alter table 表名 modify 字段名 新数据类型;		【修改字段类型】
•alter table 表名 add 新字段名 数据类型;		【添加字段】
•alter table 表名 modify 字段名 数据类型 first;		【修改字段的排列位置至第一列】
•   alter table 表名 modify 要排序的字段名 数据类型 after 参照字段;		【修改字段的排列位置至参照字段之后】
•alter table 表名 drop 字段名;		【删除字段】

四、操作语言 DML

I、 插入操作

•insert into 表名(字段名1[,字段名2,...]) values(字段值 1[,字段值 2,...]);		【指定字段名插入】
•insert into 表名 values(字段值 1[,字段值 2,...]); 		【插入所有字段的值,需要为表中每一个字段指定值,且值的顺序须和数据表中字段顺序相同】
•load data infile '文件路径.csv' 		【批量导入数据】into table 表名 
	fields terminated by ',' 
	ignore 1 lines;

II、 更新操作

update 表名 set 字段名1=字段值1[, 字段名2=字段值2[,…]][ where 更新条件];

III、 删除操作

•delete from 表名[ where 删除条件];•truncate 表名;		【与delete from 表名一样,都是删除表中全部数据,保留表结构)】

五、查询语言 DQL

I、SQL语句的执行顺序

在这里插入图片描述

II、单表查询

•select * from 表名;		【全表查询】
•select 字段1[,字段2,…] from 表名;		【查询指定列】
•select 字段名 as 列别名 from 原表名 [as ]表别名;		【别名的设置】
•select distinct 字段名 from 表名;		【查询不重复的记录】
•select 字段1[,字段2,…] from 表名 where 查询条件;		【条件查询】
•select 字段1[,字段2,…] from 表名 where 空值字段 is[ not] null;		【空值查询】
•select 字段1[,字段2,…] from 表名 where 字符串字段[ not] like 通配符;		【模糊查询,其中'%'匹配多个字符,'_'匹配一个字符】
•select 字段1[,字段2,…] from 表名 order by 字段1[ 排序方向,字段2 排序方向,…];	【查询结果排序,asc升序(默认),desc降序,注意:多字段排序时,先按第一个字段排序,第一个字段值相同时再按第二个字段排序】
•select 字段1[,字段2,…] from 表名 limit [偏移量,] 行数;		【限制查询结果数量,注意:初始记录行的偏移量是0】
•select 字段1[,字段2,…] from 表名[ where 查询条件] group by 分组字段1[,分组字段2,…];		【分组查询,将查询结果按照一个或多个字段进行分组,字段值相同的为一组,对每个组进行聚合计算】
•select 字段1[,字段2,…] from 表名[ where 查询条件][ group by 分组字段1[,分组字段2,…]] having 筛选条件;			【分组后筛选】

III、多表查询

  1. 左连接
    在这里插入图片描述

  2. 右连接
    在这里插入图片描述

  3. 内连接
    在这里插入图片描述

IV、联合查询

在这里插入图片描述

V、子查询

  1. 出现在select的子查询

select sal/(select count(sal) from emp) as avg_salfrom emp;
  1. 出现在from的子查询

select *from emp left join ( select * from emp ) as t1 on emp.id = t1.id;
  1. 出现在where的子查询

1.select *from empwhere user_id in ( select user_id from emp where sal > 3000 ); 	 【使用关键字in或者not in】2.select *from empwhere user_id any ( select user_id from emp where sal > 3000 ); 	 【使用关键字any】3.select *from empwhere user_id all ( select user_id from emp where sal > 3000 ); 	 【使用关键字all】

VI、常用函数

  1. 数学函数
    在这里插入图片描述

  2. 字符串函数
    在这里插入图片描述

  3. 日期时间函数
    在这里插入图片描述

六、控制语言 DCL

24.4092 4 3 关注作者 收藏

评论(0)


暂无数据

推荐课程