【MySQL】 字符集
【MySQL】 字符集Metadatatitle: 【MySQL】 字符集
date: 2022-12-20 16:12
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/MySQL
categories:
- 数据存储
keywords:
- 数据存储
description: 【MySQL】 字符集
概述
MySQL有四个级别的字符集和比较规则:服务器级别、数据库级别、表级别和列级别。
服务器级别包括character_set_server(字符集)和collation_server(比较规则)。
数据库级别包括character_set_database(当前数据库字符集)和collation_database(当前数据库比较规则)。
在创建或修改数据库时,可以指定字符集和比较规则,使用CREATE DATABASE和ALTER DATABASE语句。
表级别包括在创建或修改表时指定字符集和比较规则,使用CREATE TABLE和A ...
【MySQL】 存储引擎
【MySQL】 存储引擎Metadatatitle: 【MySQL】 存储引擎
date: 2022-12-20 16:12
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/MySQL
categories:
- 数据存储
keywords:
- 数据存储
description: 【MySQL】 存储引擎
概述
特性
InnoDB
MyISAM
事务
支持
不支持
并发
支持行级锁
只支持表级锁
外键
支持
不支持
备份
支持在线热备份
不支持
崩溃恢复
崩溃后损坏概率低且恢复速度较快
崩溃后损坏概率高且恢复速度较慢
其它特性
较多优化,聚簇索引,MVCC,预测性读等
压缩表,空间数据索引等
InnoDB是 MySQL 默认的事务型存储引擎,只有在需要它不支持的特性时,才考虑使用其它存储引擎。
将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB
实现了 ...
【MySQL】 数据目录
【MySQL】 数据目录Metadatatitle: 【MySQL】 数据目录
date: 2022-12-20 16:12
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/MySQL
categories:
- 数据存储
keywords:
- 数据存储
description: 【MySQL】 数据目录
概述
表空间类型:
系统表空间(system tablespace):对应文件系统上的一个或多个实际文件,InnoDB使用名为ibdata1的文件来存储数据。
独立表空间(file-per-table tablespace):为每个表创建一个独立的表空间,表空间文件与表名相同,使用.ibd扩展名。
其他类型的表空间:通用表空间、undo表空间、临时表空间。
其他文件:
服务器进程文件
服务器日志文件
默认/自动生成的SSL和RSA证书和密钥文件
文件系统对数据库的影响:
数据库和表名称长度限制
特殊字符的问题
文件长度受文件 ...
【MySQL】 数据类型
【MySQL】 数据类型Metadatatitle: 【MySQL】 数据类型
date: 2022-12-20 16:11
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/MySQL
categories:
- 数据存储
keywords:
- 数据存储
description: 【MySQL】 数据类型
概述
整型字段类型包括:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT。较小的整型类型通常更好,INT(11) 中的数字仅规定显示字符的个数。
浮点数字段类型包括:FLOAT、DOUBLE、DECIMAL。DECIMAL的计算比浮点类型更昂贵。
字符串字段类型包括:CHAR、VARCHAR。VARCHAR是变长类型,节省空间,但在UPDATE时可能会导致行变长。VARCHAR会保留末尾空格,而CHAR会删除。
时间和日期字段类型包括:DATETIME、TIMESTAMP。DATETIME保存从1001年到 ...
【SQL 语言】 权限管理
【SQL 语言】 权限管理Metadatatitle: 【SQL 语言】 权限管理
date: 2022-12-20 16:09
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/SQL_语言
categories:
- 数据存储
keywords:
- 数据存储
description: 【SQL 语言】 权限管理
MySQL 的账户信息保存在 mysql 这个数据库中。
USE mysql;
SELECT user FROM user;
创建账户
新创建的账户没有任何权限。
CREATE USER myuser IDENTIFIED BY 'mypassword';
修改账户名
RENAME myuser TO newuser;
删除账户
DROP USER myuser;
查看权限
SHOW GRANTS FOR myuser;
授予权限
账户用 username@host 的形式定义,username@% 使用的是默认主 ...
【SQL 语言】 字符集
【SQL 语言】 字符集Metadatatitle: 【SQL 语言】 字符集
date: 2022-12-20 16:08
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/SQL_语言
categories:
- 数据存储
keywords:
- 数据存储
description: 字符集为字母和符号的集合
基本术语:
字符集为字母和符号的集合;
编码为某个字符集成员的内部表示;
校对字符指定如何比较,主要用于排序和分组。
除了给表指定字符集和校对外,也可以给列指定:
CREATE TABLE mytable
(col VARCHAR(10) CHARACTER SET latin COLLATE latin1_general_ci )
DEFAULT CHARACTER SET hebrew COLLATE hebrew_general_ci;
可以在排序、分组时指定校对:
SELECT *
FROM mytable
ORDE ...
【SQL 语言】 事务管理
【SQL 语言】 事务管理Metadatatitle: 【SQL 语言】 事务管理
date: 2022-12-20 16:07
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/SQL_语言
categories:
- 数据存储
keywords:
- 数据存储
description: 事务(transaction)指一组 SQL 语句
基本术语:
事务(transaction)指一组 SQL 语句;
回退(rollback)指撤销指定 SQL 语句的过程;
提交(commit)指将未存储的 SQL 语句结果写入数据库表;
保留点(savepoint)指事务处理中设置的临时占位符(placeholder),你可以对它发布回退(与回退整个事务处理不同)。
不能回退 SELECT 语句,回退 SELECT 语句也没意义;也不能回退 CREATE 和 DROP 语句。
MySQL 的事务提交默认是隐式提交,每执行一条语句就把这条语句当成 ...
【SQL 语言】 游标
【SQL 语言】 游标Metadatatitle: 【SQL 语言】 游标
date: 2022-12-20 16:05
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/SQL_语言
categories:
- 数据存储
keywords:
- 数据存储
description: 游标主要用于交互式应用,其中用户需要对数据集中的任意行进行浏览和修改。
在存储过程中使用游标可以对一个结果集进行移动遍历。
游标主要用于交互式应用,其中用户需要对数据集中的任意行进行浏览和修改。
使用游标的四个步骤:
声明游标,这个过程没有实际检索出数据;
打开游标;
取出数据;
关闭游标;
delimiter //
create procedure myprocedure(out ret int)
begin
declare done boolean default 0;
declare mycursor cur ...
【SQL 语言】 存储过程
【SQL 语言】 存储过程Metadatatitle: 【SQL 语言】 存储过程
date: 2022-12-20 16:02
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/SQL_语言
categories:
- 数据存储
keywords:
- 数据存储
description: 存储过程可以看成是对一系列 SQL 操作的批处理。
存储过程可以看成是对一系列 SQL 操作的批处理。
使用存储过程的好处:
代码封装,保证了一定的安全性;
代码复用;
由于是预先编译,因此具有很高的性能。
命令行中创建存储过程需要自定义分隔符,因为命令行是以 ; 为结束符,而存储过程中也包含了分号,因此会错误把这部分分号当成是结束符,造成语法错误。
包含 in、out 和 inout 三种参数。
给变量赋值都需要用 select into 语句。
每次只能给一个变量赋值,不支持集合的操作。
delimiter //
create procedu ...
【SQL 语言】 视图
【SQL 语言】 视图Metadatatitle: 【SQL 语言】 视图
date: 2022-12-20 15:59
tags:
- 行动阶段/完成
- 主题场景/数据存储
- 笔记空间/KnowladgeSpace/ProgramSpace/BasicsSpace
- 细化主题/数据存储/SQL_语言
categories:
- 数据存储
keywords:
- 数据存储
description: 视图是虚拟的表,本身不包含数据,也就不能对其进行索引操作。
视图视图是虚拟的表,本身不包含数据,也就不能对其进行索引操作。
对视图的操作和对普通表的操作一样。
视图具有如下好处:
简化复杂的 SQL 操作,比如复杂的连接;
只使用实际表的一部分数据;
通过只给用户访问视图的权限,保证数据的安全性;
更改数据格式和表示。
CREATE VIEW myview AS
SELECT Concat(col1, col2) AS concat_col, col3*col4 AS compute_col
FROM mytable
WHERE col5 = val;