mysql 建数据库用啥字符集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 建数据库用啥字符集相关的知识,希望对你有一定的参考价值。

mysql创建数据库一般使用的字符集为UTF-8,但具体的要根据实际情况进行选择。

工具:mysql5.6,Navicat Premium

步骤:

1、打开Navicat Premium,双击左侧服务器的树形结构,连接到服务器,这里以localhost为例。

2、在localhost处点右键,选择“新建数据库”。

3、弹出窗口中,填写新建的数据库名字,这里填写的是“badkano”,然后选择字符集,下拉列表,选择UTF-8,排序规则可不填,然后点“确定”按钮。

4、由图可见,badkano数据库创建成功。

参考技术A mysql基本支持所有字符集,默认为latin1拉丁字符集,多数选用utf8,支持全部字符,占用空间大,只想在中国使用可以使用gbk 参考技术B

MySQL字符集多种多样,下面为您列举了其中三种最常见的MySQL字符集查看方法,该方法供您参考,希望对您学习MySQL数据库能有所启迪。

一、查看MySQL数据库服务器和数据库MySQL字符集。

mysql> show variables like '%char%';  +--------------------------+-------------------------------------+------  | Variable_name            | Value                               |......  +--------------------------+-------------------------------------+------  | character_set_client     | utf8                                |......   -- 

客户端字符集  | character_set_connection | utf8                                |......  | character_set_database   | utf8                                |......   -- 

数据库字符集  | character_set_filesystem | binary                              |......  | character_set_results    | utf8                                |......  | character_set_server     | utf8                                |......   -- 

服务器字符集  | character_set_system     | utf8                                |......  | character_sets_dir       | D:\\MySQL Server 5.0\\share\\charsets\\ |......  +--------------------------+-------------------------------------+------ 

二、查看MySQL数据表(table)的MySQL字符集。

mysql> show table status from sqlstudy_db like '%countries%';  +-----------+--------+---------+------------+------+-----------------+------  | Name      | Engine | Version | Row_format | Rows | Collation       |......  +-----------+--------+---------+------------+------+-----------------+------  | countries | InnoDB |      10 | Compact    |   11 | utf8_general_ci |......  +-----------+--------+---------+------------+------+-----------------+------ 

三、查看MySQL数据列(column)的MySQL字符集。

mysql> show full columns from countries;  +----------------------+-------------+-----------------+--------  | Field                | Type        | Collation       | .......  +----------------------+-------------+-----------------+--------  | countries_id         | int(11)     | NULL            | .......  | countries_name       | varchar(64) | utf8_general_ci | .......  | countries_iso_code_2 | char(2)     | utf8_general_ci | .......  | countries_iso_code_3 | char(3)     | utf8_general_ci | .......  | address_format_id    | int(11)     | NULL            | .......  +----------------------+-------------+-----------------+--------  

参考技术C 国际通用的是utf-8,中文一般是gbk2312,根据实际情况而言 参考技术D utf-8 还是utf-8

mysql编码数据库,数据表,字段各用啥编码

1. ASCII
用途:用来映射简单的单字节字符,比如大小写英文字母、阿拉伯数字、常用的标点符、运算符、控制字符等。
编码范围:U+0000 - U+007F
注意:对于用这类字符的场景够用了,但是却无法表达比如汉字,日文等编码。
2. UNICODE
用途:用来映射包含 ASCII 以内的其他的所有字符。
编码范围:U+0000 - U+10FFFF
注意:ASCII 是 UNICODE 的子集,ASCII 编码的字符可以无损转换为 UNICODE 编码的字符。

MySQL 常用字符集

1. Latin1
Latin1 是 cp1252 或者 ISO-8859-1 的别名。ISO-8859-1 编码是单字节编码,向下兼容 ASCII。
编码范围:U+0000 - U+00FF

ISO-8859-1 收录的字符除 ASCII 收录的字符外,还包括西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。
单字节内的空间都被 ISO-8859-1 编码占用,所以能够用 ISO-8859-1 编码存储、传输其他任何编码的字节流。
比如把一个 Utf8mb4 的编码或者 GBK 的编码存入 Latin1,不会有任何问题。因为 Latin1 保留了原始的字节流,这也就是 MySQL 长期以来把 Latin1 做默认字符集的原因。
但是由于 Latin1 对任何字符都存放字节流,造成了字符个数的浪费。
比如:
CHAR(10) CHARACTER SET LATIN1;CHAR(10) CHARACTER SET UTF8;

该字段中存储字符个数 UTF8 是 Latin1 的三倍!!!
2. GB18030
GB18030 是中国官方标准字符集,向前兼容 GBK、GB2312,是这两个的超集。用 1、2、4 个字节分别表示一个符号。比如对一般中文字符,默认是用两个字节编码存储。Windows 系统,默认用的就是 GB18030。
若只是存储中文字符,那 GB18030 最佳。
原因有两点:
1)占用空间小,比如比 UTF8 小。
2)存储的汉字根据拼音来排序,检索快。
3. UTF8
UTF8 是 Unicode 的编码实现,可以存储 UNICODE 编码对应的任何字符, 这也是使用最多的一种编码。最大的特点就是变长的编码方式,用 1 到 4 个字节表示一个符号,可以根据不同的符号编码字节长度。
字母或数字用 1 字节,汉字用 3 字节,emoji 表情符号用 4 字节。UTF8 字符集目前是使用最广泛的。
注意!MySQL 里常说的 UTF8 是 UTF8MB3 的别名,UTF8MB3 是 UTF8MB4 的子集,UTF8MB4 才是真正的 4 字节 UTF8 字符集!
UTF8MB3 表示最大支持 3 个字节存储字符,UTF8MB4 表示最大 4 个字节存储字符。根据实际需要和未来展望,MySQL 8.0 已经默认用 UTF8MB4 基础字符集。
参考技术A 最好全部用 utf-8,免得日后麻烦本回答被提问者采纳 参考技术B 由系统决定~~ 参考技术C

数据库里的条件求和函数怎么编?

以上是关于mysql 建数据库用啥字符集的主要内容,如果未能解决你的问题,请参考以下文章

MySQL储存中文因该用啥数据格式?

mysql应该用啥编码格式储存在数据库里呢?

为啥DB2中一个汉字对应char(2) 而在MYSQL中一个汉字对应char(1) DB2和MYSQL都是用啥语言写的啊?

oracle里转换字符集用啥函数

mysql 里面用啥数据类型来定义手机号码?

MYSQL数据表中要存储密码要用啥类型