MySQL必知必会
Shymeleaf
这个作者很懒,什么都没留下…
展开
-
MySQL必知必会-第30章 改善 性能
改善性能1)MySQL默认配置通常开始是很好的,但过段时间可能需要调整【内存分配】、【缓冲区大小】等;可以使用如下两个命令查看当前的设置;show variables;show status;2)MySQL是多用户多线程的DBMS,可以使用如下命令查看所有活动进程以及它们的线程ID和执行时间,可以使用kill命令杀死异常的线程;show processlist;3)可以使用如下explain 语句让MySQL解释一条select语句是如何执行的explain select ....;原创 2020-08-07 01:52:53 · 110 阅读 · 0 评论 -
MySQL必知必会-第29章 数据库维护
数据库维护1. 备份数据库1)常用的mysqldump命令,在系统终端键入命令:1.备份整个数据库mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 > 文件名.sql2.备份同一个数据库中的多张表mysqldump -h主机名 -P端口 -u用户名 -p密码 --database 数据库名 表1 表2 .... > 文件名.sql3.备份多个数据库mysqldump -h主机名 -P端口 -u用户名 -p密码 --databases原创 2020-08-07 01:32:16 · 109 阅读 · 0 评论 -
MySQL必知必会-第28章 安全管理
安全管理1.访问控制1)提供且仅提供用户所需的访问权限;2)需要【创建】和【管理用户账号】,关于账号a.尽量避免使用root账号;b.应该创建多种账号,供【管理人员】、【开发人员】、【用户】使用;3)目的不仅仅是防止用户恶意企图,也防止用户无意识的错误;2.管理用户2.1 查看用户所有用户的信息都存储在名为“mysql”的数据库中;-- 1.切换数据库use mysql;-- 2.查看当前所有用户 这里前一个user是列名 后一个user是表名select user from us原创 2020-08-07 00:47:33 · 103 阅读 · 0 评论 -
MySQL必知必会-第27章 全球化和本地化(字符集和校对)
全球化和本地化1.重要术语1)字符集:字母和符号的集合;2)编码:字符的内部表示;3)校对:规定字符如何比较的指令;2.字符集和校对可以在哪些等级设置1)列级、表级、数据库级、服务器级;2)字符集很少是在数据库级和服务器级指定的,因为不同的表、不同的列都可能需要不同的字符集;3.使用字符集和校对顺序3.1 一些常用的语句-- 1. 查看MySLQ支持的所有字符集的完整列表-- 以及每个字符集对应的【描述】和【默认的校对】show character set;-- 2. 查看M原创 2020-08-06 23:29:53 · 149 阅读 · 0 评论 -
MySQL必知必会-第26章 管理事务处理
管理事务处理1.相关概念1.1 支持引擎InnoDB支持事务处理管理;MyISAM不支持事务处理管理;1.2 事务处理1)事务处理用来维护数据库的完整性,它保证成批的MySQL操作,要么完全执行,要么完全不执行;2)成批的MySQL操作如果没有错误发生,整租SQL语句提交给(写到)数据库表;3)如果发生错误,则进行回退或撤销,恢复到某个已知且安全的状态;1.3 关键术语1)事务(transaction):一组SQL语句;2)回退(rollback):撤销指定SQL语句的过程;3)提交原创 2020-08-06 22:50:47 · 105 阅读 · 0 评论 -
MySQL必知必会-第25章 使用触发器
使用触发器1. 相关概念1.1 版本支持:MySQL5以及之后版本;1.2 定义触发器是MySQL响应以下任意语句,自动执行的位于BEGIN 和 END之间的一组SQL语句;1)INSERT;2)DELETE;3)UPDATE;以上都是针对表内容的操作,视图和临时表都不支持触发器;其他MySQL语句不支持触发器2.使用触发器2.1 创建触发器1)给出唯一的触发器名;这里的唯一指的是在“表”上唯一,即,不同的表的触发器名字可以相同;但是尽量在同一个数据库里唯一,不同的表触发器名字都原创 2020-08-06 21:51:28 · 384 阅读 · 0 评论 -
MySQL必知必会-第23章 使用存储过程(CREATE PROCEDURE、CALL、DROP PROCEDURE、SHOW PROCEDURE STATUS)
存储过程1.存储过程相关概念1.1 存储过程的定义1)存储过程实际上是一种函数,使用MySQL语言进行编程,内部可以封装SQL语句以及各种运算;2)区别于视图:存储过程和视图有很大的差别。视图只能封装单个SQL语句(这个SQL语句可以很复杂),是为了避免重复使用复杂的SQL语句;存储过程内部可以封装多个SQL语句,同时还能运行复杂的计算逻辑;1.2 存储过程的意义优点:1)简化复杂的操作;2)把一系列处理步骤都封装在同一存储过程中,就可以用反复建立这一系列处理步骤,防止错误,保证数据的一原创 2020-08-06 18:26:07 · 1047 阅读 · 0 评论 -
MySQL必知必会-第22章 使用视图
使用视图1. 视图的概念1.1 视图的支持MySQL5添加了对视图的支持,因此视图只适用于MySQL5及之后的版本;1.2 视图的概念视图可以看做是虚拟的表,包含的数据跟表不一样,视图只包含【使用数据库的时候】动态检索数据的查询;相当于说,视图就是已经使用某些条件过滤出来的数据的集合,也就是一个SQL查询的结果;1.3 视图的好处1)可以重用一些复杂的SQL语句,简化SQL操作;2)视图检索的数据是表的一部分数据,而不是整张表的数据,因此可以给用户授予表格部分数据的访问权限,而不是整张表的原创 2020-08-06 15:55:30 · 127 阅读 · 0 评论 -
MySQL必知必会-第21章 创建和操作表【CREATE、ALTER、DROP】
创建和操作表MySQL不仅用于表数据的操纵,还用于执行数据库和表的所有操作,包括表本身的【创建】和【处理】1)使用具有交互式创建和管理表的工具;2)使用MySQL语句操作。1.创建表1.1 表创建基础-- 创建表的总体语法CREATE TABLE 新表名 [IF NOT EXISTS]( 列名1 类型 其他要求, 列名2 类型 其他要求, ...)ENGINE=InnoDB; // 要指定创建表使用的数据库引擎-- 创建表的具体例子CREATE TABLE customers(原创 2020-08-06 12:37:37 · 347 阅读 · 0 评论 -
MySQL必知必会-第19章 增删改数据
数据的增删改1.插入数据1.1 插入方式1)插入完整的行;2)插入行的一部分;3)插入多行;4)插入某些查询的结果。1.2 插入完整的行-- 方式1.INSERT INTO 表名VALUES (NULL, 列值1, 列值2, 列值3, ....);-- 方式2.INSERT INTO 表名(列名1,列名2,列名3, ....)VALUES (列值1, 列值2, 列值3, ....);-- 降低INSERT语句的优先级,保证其他select语句的性能INSERT LOW_PRIO原创 2020-08-06 00:52:57 · 80 阅读 · 0 评论 -
MySQL必知必会-第18章 全文本搜索
全文本搜索1.理解全文本搜索1)MySQL支持几种基本的数据库引擎,如:MyISAM(咪森),InnoDB;2)MyISAM支持全文本搜索,而InnoDB不支持;3)与通配符和正则表达式不同,使用全文本搜索是,MySQL不需要分别查看每个行,不需要分别分析和处理每个词;MySQL【创建指定列中各个词的一个索引】,搜索可以针对这些词进行;2.启用全文本搜索支持在创建表格的时候启用create table 表名( note_id int not null auto_increment, not原创 2020-08-05 23:45:01 · 215 阅读 · 0 评论 -
MySQL必知必会-第17章 组合查询
组合查询1.创建组合查询 UNION 关键字使用union关键字将多条select查询语句的查询结果合并起来select 列名1, 列名2, 列名3, ... from 表where 条件1UNION [ALL] -- ALL不消除重复的行,保留全部的行select 列名1, 列名2, 列名3, ... from 表where 条件2UNION....ORDER BY ...; -- 使用UNION进行组合查询的时候 只能使用一条ORDER BY语句----------------原创 2020-08-05 22:04:53 · 106 阅读 · 0 评论 -
MySQL必知必会-第15章 连接表
连接表连接表的关键在于:1)规定要连接起来的所有表;2)表之间如何关联。Student表如下所示:Scoretable如下所示:1.使用最简单的where子句构造连接条件-- 1.通过两个表的id number字段将两个表连接起来select student.id, student.name, scoretable.scorefrom student, scoretablewhere student.id=scoretable.number; -- 连接条件返回结果如下所示:原创 2020-08-05 21:40:51 · 297 阅读 · 0 评论 -
MySQL必知必会-第14章 使用子查询
使用子查询1.子查询进行过滤select 列名 as 列名别名 from 表名 as 表名别名where 字段1 in ( select 字段1 from ... where ...)1)列必须匹配,子查询返回的列,必须与父查询where子句中的列匹配;如图中字段1和字段1的匹配;2)子查询一般与【IN操作】结合使用,但也可以用于测试等于(=)、不等于(!= <>)等2.使用子查询作为计算字段-- 在orders表中统计出每个用户的订单数量,将订单数量作为用户的一个属原创 2020-08-05 19:55:47 · 234 阅读 · 0 评论 -
MySQL必知必会-第13章 分组数据(重要-涉及子句的计算逻辑顺序)
分组数据1.创建分组 Group By-- 1.先进行分组,在进行组内汇总(聚合)-- with rollup 关键字可以汇总所有组的数据select count(*) from 表名 as 表别名 group by 列名 with rollup;1)group by 后面可以包含多个列,对分组进行嵌套;2)如果嵌套分组,数据将在最后规定的分组上进行汇总(聚合);3)group by 子句中每个列都必须是检索列或有效的表达式【不能是聚合函数】4)Group by 子句必须使用于selec原创 2020-08-05 18:10:46 · 230 阅读 · 0 评论 -
MySQL必知必会-第12章 聚合函数
聚合函数SQL部分聚合函数函数说明AVG()返回某一列的平均值COUNT返回某一列的行数MAX()返回某一列的最大值MIN()返回某一列的最小值SUM返回某一列值的和1.AVG()函数1)AVG()函数只能计算指定的列的平均值,想要获取多个列的平均值,必须使用多个AVG()函数2)AVG()函数忽略列值为NULL的行2.COUNT()函数1)count(*)不忽略NULL值;2)count(列名)忽略该列值为NULL的行3.MAX(原创 2020-08-05 17:27:16 · 96 阅读 · 0 评论 -
MySQL必知必会-第11章 使用数据处理函数(字符串、时间、数值)
函数就是用来处理数据库中数据的一些已经封装好的方法;需要注意的是,函数的可以执行不如SQL,不同DBMS支持的函数不同;1.文本处理函数-- 1. 前一章使用的concat() trim() ltrim() rtrim()都属于这类函数之一select concat("abcd ","ssbc");select trim(" abcd ");select ltrim(" abcd ");select rtrim(" abcd ");-- 2. Left(str, n); 返回串左边的n个原创 2020-08-05 16:53:06 · 136 阅读 · 0 评论 -
MySQL必知必会-第10章 创建计算字段
计算字段1.计算字段的定义“列”是数据库中原先就存在的字段;“计算字段”可以看做是select语句中通过“列”计算出来的新字段【注意】只有数据库能够区分查询出来的结果里哪些“列”是实际的表列,哪些“列”是通过计算得到的“计算字段”;在客户端(应用程序)看来,这些列并无差别。2.拼接字段(字符串处理)--1.将多个数据库列的值拼接在一起,构成单个值【concat】--【注意】多数其他DBMS使用 +或者||来实现拼接-- concat()可以同时放入多个字段与字符串, 用","号隔开sele原创 2020-08-05 15:26:12 · 250 阅读 · 0 评论 -
MySQL必知必会-第4章 检索数据
数据检索查询语句1.基本查询语句select [DISTINCT] 列名 as '展现出来的列名', ....from 表名 as '给表起的别名'limit 开始行(从0开始), 取得行数 / limit 取得行数 offset 开始行(从0开始), 2.查询全部字段select * from 表名 as '表的别名'3.使用完全限定名select 表名.字段1名, 表名.字段2名, ... from 数据库名.表名;...原创 2020-08-04 23:45:57 · 158 阅读 · 0 评论 -
MySQL必知必会-第3章 使用MySQL
了解数据库SQLSQL是Structured Query Language(结构化查询语言)的缩写数据库数据库是一个以某种有组织的方式储存的数据集合;数据库是保存有组织的数据的容器;数据库管理系统平时使用的MySQL、Orachle、Sql Server等用于创建和操作数据库的软件模式描述表的一些特性的一组信息,定义数据在表中如何存储,如:1)可以存储什么样的数据2)数据可以如何分解3)各部分信息如何命名用于描述数据库中特定的表;也可以用于描述整个数据库(和其中表的关系)。使用原创 2020-08-04 23:30:22 · 137 阅读 · 0 评论