首页 慕课教程 java工程师 java工程师 第8~9周 数据管理必备利器-MySQL
知识点汇总表
分类 关键词 描述 链接地址
MySQL 数据库系统 数据库系统(DBMS) 是指一个能为用户提供信息服务的系统。它实现了有组织地、动态地储存大量相关数据的功能,提供了数据处理和信息资源共享的便利手段。
链接地址
关系型数据库 关系型数据库系统(RDBMS) 是指使用了关系模型的数据库系统 链接地址
主流的关系型数据库 BD2、Oracle、MySQL、SQLServer 链接地址
非关系型数据库 NoSQL数据库指的是数据分类存放,但是数据之间没有关联关系的数据库系统 链接地址
主流NoSQL数据库 Redis、MemCache、MongoDB、Neo4J 链接地址
MySQL安装 安装MySQL 链接地址
Navicat安装 安装可视化工具 链接地址
新建数据库 CREATE DATABSE test; 链接地址
重设root密码 创建一个TXT文件,定义修改密码的SQL语句 链接地址
MySQL配置文件 在my.ini文件中,我们可以设置各种MySQL的配置,例如字符集、端口号、目录地址等等 链接地址
数据库表相关操作 SQL语言 SQL是用于访问和处理数据的标准的计算机语言 链接地址
SQL语言分类 DML、DCL、DDL 链接地址
SQL语句注意事项 SQL语句不区分大小写,但是字符串区分大小写
SQL语句必须以分号结尾
SQL语句中的空白和换行没有限制,但是不能破坏语法
如:SELECT    "HelloWorld";
链接地址
SQL语句的注释 SQL语句的注释有两种,分别如下:
#这是一段注释文字
/*这是另一段注释文字*/
链接地址
操作逻辑库 CREATE DATABASE 逻辑库名称;------创建逻辑库
SHOW DATABASES;------查看逻辑库 链接地址
DROP DATABSE 逻辑库名称;------删除逻辑库
逻辑表 CREATE TABLE 数据表(
列名1  数据类型  [约束]   [COMMENT注释],
列名2  数据类型  [约束]   [COMMENT注释],
)[COMMENT=注释];
-------创建逻辑表
链接地址
SHOW tables ;-----查看数据表
DESC student ; ------查看具体表情况
SHOW CREATE TABLE student;------查看创建数据表时的SQL语句
DROP TABLE student ;------删除数据表
链接地址
数据类型 整数 链接地址
浮点数 链接地址
字符串 链接地址
日期类型 链接地址
修改表结构 添加字段
ALTER TABLE 表名称
ADD  列1  数据类型  [约束]   [COMMENT 注释],
ADD   列2  数据类型  [约束]   [COMMENT注释],
......;
链接地址
修改字段类型和约束
ALTER TABLE 表名称
MODIFY  列1  数据类型  [约束]   [COMMENT注释],
MODIFY  列2  数据类型  [约束]   [COMMENT注释],
......;
链接地址
修改字段名称
ALTER TABLE 表名称
CHANGE  列1  新列名1  数据类型 [约束]  [COMMENT注释],
CHANGE  列2  新列名2  数据类型 [约束]  [COMMENT 注释],
......;
链接地址
删除字段
ALTER TABLE表名称
DROP  列1,
DROP  列2,
..... ;
链接地址
数据库的范式
第一范式原子性,是数据库的基本要求,不满足这一点就不是关系数据库
数据表的每一列都是不可分 割的基本数据项,同一列中不能有多
个值,也不能存在重复的属性。
链接地址
第二范式唯一性,数据表中的每条记录必须是唯一的。为了实现区分,通常要为表加上一个列用来存储唯一标识, 这个唯一属性列被称作主键列
链接地址
第三范式关联性,每列都与主键有直接关系,不存在传递依赖 链接地址
字段约束 主键约束:字段值唯一, 且不能为NULL
非空约束:字段值不能为NULL
唯一约束:字段值唯一, 且可以为NULL
外键约束:保持关联数据的逻辑性
链接地址
创建索引
CREATE TABLE 表名称(
......,
INDEX  [ 索引名称]  (字段),
......
);

链接地址
添加和删除索引 CREATE INDEX 索引名称 ON 表名 (字段) ;
ALTER TABLE 表名称 ADD INDEX [ 索引名] (字段);
------添加索引
SHOW INDEX FROM表名;----查看索引
DROP INDEX 索引名称  ON  表名;-----删除索引
链接地址
数据库基本查询 记录查询 最基本的查询语句是由SELECT和FROM关键字组成的
如:SELECT * FROM t_emp;
链接地址
使用列别名 通常情况下,SELECT子句中使用了表达式,
那么这列的名字就默认为表达式,因此需要一种对列名重命名的机制
如:SELECT empno,
sal *12 
AS  "income"  FROM  t_emp;
链接地址
查询语句的子句执行顺序 ①词法分析与优化--读取SQL语句
②FROM--选择数据来源
③SELECT--选择输出内容
链接地址
数据分页 如果结果集的记录很多,则可以使用LIMIT关键字限定结果集数量。
SELECT .... FROM .... LIMIT 起始位置,偏移量;
链接地址
数据分页的简写用法
如果LIMIT子句只有一个参数,它表示的是偏移量,起始值默认为0
链接地址
排序 如果没有设置,查询语句不会对结果集进行排序。也就是说,如果想让结果集按照某种顺序排列,就必须使用ORDER BY子句
SELECT ......FROM ......ORDER BY  列名   [ASC|DESC];
链接地址
去除重复记录 如果我们需要去除重复的数据,可以使用DISTINCT关键字来实现
SELECT  DISTINCT 字段  FROM .......
链接地址
条件查询 1、可以使用where子句来实现条件筛查
SELECT ..... FROM ..... WHERE 条件 [AND|OR] 条件......;
链接地址
WHERE子句的注意事项
WHERE子句中,条件执行的顺序是从左到右的。所以我们应该把索
弓|条件,或者筛选掉记录最多的条件写在最左侧
链接地址
比较运算符
>  大于
>=    大于等于
<   小于
<<=   小于等于
=   等于
!=    不等于
IN  包含
链接地址
IS NULL  为空
IS NOT NULL  不为空
BETWEEN AND   范围
LIKE  模糊查询
REGEXP  正则表达式
链接地址
逻辑运算符 AND   与关系
OR    或关系
NOT   非关系
XOR    异或关系
链接地址
按位运算符 &  位与关系
|  位或关系
~   位取反
^   位异或
<<  左移
>>   右移
链接地址
执行顺序 各种子句的执行顺序
FROM -> WHERE -> SELECT -> ORDER BY -> LIMIT
链接地址
数据库高级查询 聚合函数 SUM函数
SUM函数用于求和,只能用于数字类型,字符类型的统计结果为0,
日期类型统计结果是毫秒数相加。
链接地址
MAX函数
MAX函数用于获得非空值的最大值。
链接地址
MIN函数
MIN函数用于获得非空值的最小值。
链接地址
AVG函数
AVG函数用于获得非空值的平均值,非数字数据统计结果为0
链接地址
COUNT函数
COUNT(*)用于获得包含空值的记录数,COUNT(列名)用于获得包
含非空值的记录数。
链接地址
分组查询 GROUP BY子句的作用是通过一定的规则将一个数据集划分成若干
个小的区域,然后针对每个小区域分别进行数据汇总处理
链接地址
having子句 需要结合GROUP BY子句使用 链接地址
表连接查询 内连接:内连接是结果集中只保留符合连接条件的记录
SELECT .... FROM  表1 JOIN  表2 ON连接条件;
SELECT .... FROM  表1 JOIN  表2  WHERE  连接条件;
SELECT .... FROM  表1 , 表2  WHERE  连接条件;
链接地址
外连接:外连接是不管符不符合连接条件,记录都要保留在结果集中 链接地址
子查询 子查询是一种查询中嵌套查询的语句 链接地址
子查询可以写在三个地方: WHERE子句、FROM子句、SELECT子
句,但是只有FROM子句子查询是最可取的
WHERE子查询
链接地址
FROM子查询 链接地址
SELECT子查询 链接地址
单行子查询和多行子查询 链接地址
MySQL对数据的基本操作 INSERT语句 INSERT语句可以向数据表写入记录,可以是一条记录,也可以是多
条记录
INSERT INTO 表名(字段1,字段2,....)  VALUES (值1,值2,....);
INSERT INTO表名(字段1,字段2,....)  VALUES (值1,值2, ....), (值1,值2,....);
链接地址
INSERT方言
INSERT INTO 表名  SET 字段1=值1,字段2=值2,....;
链接地址
IGNORE关键字
IGNORE关键字会让INSERT只插入数据库不存在的记录
INSERT  [ IGNORE ]  INTO 表名 ..... ;
链接地址
UPDATE语句 UPDATE语句用于修改表的记录
UPDATE  [ IGNORE ] 表名 SET  字段1=值1,字段2=值2, ....
[ WHERE 条件1 .....]  [ ORDER BY....]  [ LIMIT];
链接地址
UPDATE语句的表连接
UPDATE  表1 JOIN 表2 ON  条件   SET 字段1=值1,字段2=值2,....;
UPDATE 表1 ,表2  SET字段1=值1,字段2=值2 , ....  WHERE 连接条件;
链接地址
UPDATE语句的表连接既可以是内连接,又可以是外连接
UPDATE  表1  [LEFT| RIGHT ] JOIN  表2 ON  条件  SET  字段1=值1,字段2=值2,....;
链接地址
DELETE语句 DELETE语句用于删除记录
DELETE  [ IGNORE ]  FROM  表名 [ WHERE 条件1,条件2, .....]
[ORDER BY....]  [ LIMIT....];
链接地址
DELETE语句的表连接
DELETE 表1,...  FROM 表1 JOIN  表2 ON 条件  [WHERE  条件1,条件2,....]  [ ORDER BY....]  [ LIMIT....];
链接地址
DELETE语句的表连接既可以是内连接,又可以是外连接
DELETE 表1,....FROM 表1  [ LEFT | RIGHT]  JOIN 表2 ON 条件....;
链接地址
快速删除数据表全部记录
TRUNCATE TABLE 表名;
链接地址
MySQL基本函数的使用 数字函数 ABS  绝对值
ROUND  四舍五入
FLOOR 强制舍位到最近的整数
CEIL 强制进位到最近的整数
POWER 幂函数
LOG  对数函数
LN 对数函数
链接地址
SQRT  开平方
PI  圆周率
SIN  三角函数
COS  三角函数
TAN  三角函数
COT  三角函数
RADIANS  角度转换弧度
DEGREES   弧度转换角度
链接地址
日期函数 获取系统时间函数
NOW()函数 能获得系统日期和时间,格式yyyy-MM-dd hh:mm:ss
CURDATE()函数 能获得当前系统日期,格式yyyy-MM-dd
CURTIME()函数 能获得当前系统时间,格式hh:mm:ss
链接地址
日期格式化函数
DATE_ FORMAT()函数用于格式化日期,返回用户想要的日期格式
DATE FORMAT(日期,表达式)
链接地址
%Y  年份
%m  月份
%d  日期
%w  星期(数字)
%W  星期(名称)
%j  本年第几天
%U  本年第几周
%H  小时(24)
%h  小时(12)
%i  分钟
%s 
%r  时间(12)
%T 时间(24)
链接地址
日期偏移计算
DATE_ADD()函数可以实现日期的偏移计算,而且时间单位很灵活
DATE_ADD(日期,INTERVAL 偏移量 时间单位)
链接地址
计算日期之间相隔的天数
DATEDIFF()函数用来计算两个日期之间相差的天数
DATEDIFF (日期,日期)
链接地址
字符函数 LOWER  转换小写字符
UPPER  转换大写字符
LENGTH  字符数量
CONCAT  连接字符串
INSTR  字符出现的位置
INSERT  插入/替换字符
REPLACE  替换字符
链接地址
SUBSTR  截取字符串
SUBSTRING  截取字符串
LPAD  左侧填充字符
RPAD  右侧填充字符
TRIM  去除首尾空格
链接地址
条件函数 SQL语句中可以利用条件函数来实现编程语言里的条件判断
IFNULL(表达式,值)
IF(表达式,值1,值2)
链接地址
复杂的条件判断可以用条件语句来实现,比IF语句功能更强大
CASE
WHEN  表达式  THEN  值1
WHEN  表达式  THEN  值2
.....
ELSE  值N
END
链接地址
索引目录