一周的时间学习了Mysql,学习的知识主要分为两个部分,分别是概念和操作
概念
1. Mysql 的基本概念
一个关系型的数据库操作系统(用于操作表与表之前具有关系的数据库的操作系统)
个人理解:数据库就是许多个excel文档组合起来,而Mysql则是用于管理众多excel文档的操作系统
使用database——打开excel文档
对table进行操作——在excel文档中的sheet进行操作
对数据进行操作——对sheet中的行列进行操作(粗略理解)
2.数据完整性的概念
完整的数据由数据类型和约束组成(约束可以省略)
而学习的重点是Mysql的操作
Mysql的主要操作一共有 个方面
1.对数据库的操作
查看所有数据库 show databases;
创建数据库 create databases 数据库名字 (charset=utf8)
查看某个数据库的创建过程(个人理解为属性) show create database
使用某个数据库 use database
删除某个数据库Drop database
查看当前使用的数据库 select database()
2.对数据表&字段的操作
查看所有数据表 show tables
查看数据表结构(即字段名称,数据类型,约束) desc 数据表名字
创建数据表 creat table value(数据类型,字段)
编辑数据表alter table 数据表名字()
增加数据表字段 alter table add
删除数据表字段 alter table drop
对字段内容进行编辑 alter table modify(不更换字段名称)
alter table change(更换字段名称)
删除数据表drop table
3.对数据进行操作
增:
插入数据 insert into 数据表 value()
部分插入 insert into 数据表(指定字段) value
多行插入 insert into 数据表 value(),()【可以在插入和部分插入使用】
修改数据 update 数据表 set 条件
查:
查看数据 select 字段 from 数据表名字
为数据或表取别名:as
消除重复行:select distinct 字段 from 数据表名字
标记删除 插入is_delete字段
改:
update 数据表 set 条件
删:
物理删除delet from
4.数据常用语句/函数查询
分组查询 group by
条件查询 where having(跟在group by后)
范围查询 in ,not in , betwee in
模糊查询 like
空判断 is null
非空判断 is not null
子查询 select from (selet)b
表连接 内连接:inner join
左连接:left join
右连接:right join
查看两张表:select from a,b
聚合函数:求和sum()
求总数count()
求最大max()
求最小min()
求平均avg()
排序 order by 升序:从小到大 asc
降序:从大到小 desc
5.mysql高级功能
视图 view
事务begin commit
索引 index
6.时间函数
重点:
字符串转换标准时间格式 str_to_date
时间标准格式转换字符串 date_format
提取月 select month()
提取年 select year()
so on
时间做减法 date_sub(时间,interval 时间)
如date_sub(now(),interval 1 day)
显示前一天的时间
时间做加法date_add(时间,interval 时间)
计算天数差datediff(beign,end)得出begin-end
计算时间差timediff(beign(精准到时间),end(精准到时间))beign-end
计算指定差timestampdiff(函数,beign,end)得出end-begin
不足
1.时间函数的理解和熟悉程度比较弱;
2.在真正做题目、数据分析的时候,思维转不过来,看了答案才恍然大悟