知识点汇总表 | |||
分类 | 关键词 | 描述 | 链接地址 |
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 |
链接地址 |
咖喱小鱼丸 ·
更新于 2023-07-13
索引目录