mysql set语句_MySQL深层次的总结

d0b4e0aae5258d6f3fd1bfa09ad1073f.png

客户端与服务器连接 TCP/IP 命名管道和共享内存 Unix域套接字文件

处理请求包括:连接管理,解析与优化,存储引擎

SHOW ENGINES;

CREATE TABLE 表名(
    建表语句;
) ENGINE = 存储引擎名称;

ALTER TABLE 表名 ENGINE = 存储引擎名称;

启动选项

配置文件路径 配置文件 defaults-file defaults-extra-file

使用`defaults-extra-file`可以指定额外的配置文件搜索路径,那些固定的配置文件路径也会被搜索

系统变量

SHOW VARIABLES LIKE 'default_storag%'

作用范围分为这两种:

  • GLOBAL:全局变量,影响服务器的整体操作。
  • SESSION(LOCAL) :会话变量,影响某个客户端连接的操作。

设置

语句一:SET GLOBAL default_storage_engine = MyISAM;
语句二:SET @@GLOBAL.default_storage_engine = MyISAM;

语句一:SET SESSION default_storage_engine = MyISAM;
语句二:SET @@SESSION.default_storage_engine = MyISAM;
语句三:SET default_storage_engine = MyISAM;

SET 系统变量名 = 值`和`SET SESSION 系统变量名 = 值`是等价的

状态变量

SHOW VARIABLES LIKE 'character_set_server';

字符集 和 比较规则(排序规则)的应用

比方说utf8字符集默认的比较规则就是utf8_general_ci

MySQL有4个级别的字符集和比较规则,分别是:

  • 服务器级别

通过启动选项或者在服务器程序运行过程中使用SET语句修改这两个变量的值

[server]
character_set_server=gbk
collation_server=gbk_chinese_ci
  • 数据库级别
mysql> CREATE DATABASE charset_demo_db
    -> CHARACTER SET gb2312
    -> COLLATE gb2312_chinese_ci;
Query OK, 1 row affected (0.01 sec)
  • 表级别
mysql> CREATE TABLE t(
    ->     col VARCHAR(10)
    -> ) CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 0 rows affected (0.03 sec)
  • 列级别
CREATE TABLE 表名(
    列名 字符串类型 [CHARACTER SET 字符集名称] [COLLATE 比较规则名称],
    其他列...
);

ALTER TABLE 表名 MODIFY 列名 字符串类型 [CHARACTER SET 字符集名称] [COLLATE 比较规则名称];

编解码有关的系统变量

character_set_client
服务器解码请求时使用的字符集 character_set_connection
服务器运行过程中使用的字符集 character_set_results
服务器向客户端返回数据时使用的字符集

设置

  1. SET NAMES 字符集名; => 可以同时设定三个系统变量
  2. 配置文件 设置启动选项
[client]
default-character-set=utf8

Innodb

4种不同类型的行格式,分别是CompactRedundantDynamicCompressed行格式

CREATE TABLE 表名 (列的信息) ROW_FORMAT=行格式名称
    
ALTER TABLE 表名 ROW_FORMAT=行格式名称
  1. 页是MySQL中磁盘和内存交互的基本单位,16KB, 也是MySQL是管理存储空间的基本单位。
  2. Compact

9d1f5e9ca85c37bb05940c7e12f0af10.png

如果该可变字段允许存储的最大字节数(M×W)超过255字节并且真实存储的字节数(L)超过127字节,则使用2个字节,否则使用1个字节。

变长字段长度列表中只存储值为非NULL的列内容占用的长度,值为NULL的列的长度是不储存的

Redundant 记录的是偏移,没有NULL值列表

Dynamic,Compressed不会在真实数据处存储字符串的前768个字,只记录在其他页面的地址

Compressed会使用算法压缩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值