MySQL查看和修改字符集的方法「终于解决」

MySQL查看和修改字符集的方法「终于解决」参考链接:https://www.cnblogs.com/yangmingxianshen/p/7999428.html Django中,数据库的字符集最好为utf-8. 一、查看字符集 1.查看M…

	MySQL查看和修改字符集的方法[数据库教程]

参考链接:https://www.cnblogs.com/yangmingxianshen/p/7999428.html

Django中,数据库的字符集最好为utf-8.

一、查看字符集

1.查看MYSQL数据库服务器和数据库字符集

方法一:show variables like ‘%character%‘;
方法二:show variables like ‘collation%‘;

运行结果:

mysql> show variables like %character%;
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | utf8                                                    |
| character_set_results    | utf8                                                    |
| character_set_server     | utf8                                                    |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:Program FilesMySQLMySQL Server 5.7sharecharsets |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)
mysql> show variables like collation%;
+----------------------+-----------------+
| Variable_name        | Value           |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database   | utf8_general_ci |
| collation_server     | utf8_general_ci |
+----------------------+-----------------+
3 rows in set, 1 warning (0.00 sec)

 

2.查看MYSQL所支持的字符集

show charset;

运行结果:

mysql> show charset;
+----------+---------------------------------+---------------------+--------+
| Charset  | Description                     | Default collation   | Maxlen |
+----------+---------------------------------+---------------------+--------+
| big5     | Big5 Traditional Chinese        | big5_chinese_ci     |      2 |
| dec8     | DEC West European               | dec8_swedish_ci     |      1 |
| cp850    | DOS West European               | cp850_general_ci    |      1 |
| hp8      | HP West European                | hp8_english_ci      |      1 |
| koi8r    | KOI8-R Relcom Russian           | koi8r_general_ci    |      1 |
| latin1   | cp1252 West European            | latin1_swedish_ci   |      1 |
| latin2   | ISO 8859-2 Central European     | latin2_general_ci   |      1 |
| swe7     | 7bit Swedish                    | swe7_swedish_ci     |      1 |
| ascii    | US ASCII                        | ascii_general_ci    |      1 |
| ujis     | EUC-JP Japanese                 | ujis_japanese_ci    |      3 |
| sjis     | Shift-JIS Japanese              | sjis_japanese_ci    |      2 |
| hebrew   | ISO 8859-8 Hebrew               | hebrew_general_ci   |      1 |
| tis620   | TIS620 Thai                     | tis620_thai_ci      |      1 |
| euckr    | EUC-KR Korean                   | euckr_korean_ci     |      2 |
| koi8u    | KOI8-U Ukrainian                | koi8u_general_ci    |      1 |
| gb2312   | GB2312 Simplified Chinese       | gb2312_chinese_ci   |      2 |
| greek    | ISO 8859-7 Greek                | greek_general_ci    |      1 |
| cp1250   | Windows Central European        | cp1250_general_ci   |      1 |
| gbk      | GBK Simplified Chinese          | gbk_chinese_ci      |      2 |
| latin5   | ISO 8859-9 Turkish              | latin5_turkish_ci   |      1 |
| armscii8 | ARMSCII-8 Armenian              | armscii8_general_ci |      1 |
| utf8     | UTF-8 Unicode                   | utf8_general_ci     |      3 |
| ucs2     | UCS-2 Unicode                   | ucs2_general_ci     |      2 |
| cp866    | DOS Russian                     | cp866_general_ci    |      1 |
| keybcs2  | DOS Kamenicky Czech-Slovak      | keybcs2_general_ci  |      1 |
| macce    | Mac Central European            | macce_general_ci    |      1 |
| macroman | Mac West European               | macroman_general_ci |      1 |
| cp852    | DOS Central European            | cp852_general_ci    |      1 |
| latin7   | ISO 8859-13 Baltic              | latin7_general_ci   |      1 |
| utf8mb4  | UTF-8 Unicode                   | utf8mb4_general_ci  |      4 |
| cp1251   | Windows Cyrillic                | cp1251_general_ci   |      1 |
| utf16    | UTF-16 Unicode                  | utf16_general_ci    |      4 |
| utf16le  | UTF-16LE Unicode                | utf16le_general_ci  |      4 |
| cp1256   | Windows Arabic                  | cp1256_general_ci   |      1 |
| cp1257   | Windows Baltic                  | cp1257_general_ci   |      1 |
| utf32    | UTF-32 Unicode                  | utf32_general_ci    |      4 |
| binary   | Binary pseudo charset           | binary              |      1 |
| geostd8  | GEOSTD8 Georgian                | geostd8_general_ci  |      1 |
| cp932    | SJIS for Windows Japanese       | cp932_japanese_ci   |      2 |
| eucjpms  | UJIS for Windows Japanese       | eucjpms_japanese_ci |      3 |
| gb18030  | China National Standard GB18030 | gb18030_chinese_ci  |      4 |
+----------+---------------------------------+---------------------+--------+
41 rows in set (0.00 sec)

3.查看表的字符集

语法:show database status from 库名 like  表名;

运行结果:

mysql> show table status from blogdb like blog_category;
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| Name          | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation       | Checksum | Create_options | Comment |
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| blog_category | InnoDB |      10 | Dynamic    |    1 |          16384 |       16384 |               0 |            0 |         0 |              4 | 2020-12-12 19:18:08 | 2020-12-12 20:33:52 | NULL       | utf8_general_ci |     NULL |                |         |
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
1 row in set (0.01 sec)

其中,Collation 字段是字符集格式。

5.查看表中所有列的字符集

语法:show full columns from 表名;

运行结果:

mysql> show full columns from blog_category;
+-------+-------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+
| Field | Type        | Collation       | Null | Key | Default | Extra          | Privileges                      | Comment |
+-------+-------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+
| id    | int(11)     | NULL            | NO   | PRI | NULL    | auto_increment | select,insert,update,references |         |
| name  | varchar(30) | utf8_general_ci | NO   |     | NULL    |                | select,insert,update,references |         |
| index | int(11)     | NULL            | NO   |     | NULL    |                | select,insert,update,references |         |
+-------+-------------+-----------------+------+-----+---------+----------------+---------------------------------+---------+
3 rows in set (0.00 sec)

 

二、设置字符集

设置字符集一般有两种方法,一种是在创建表的时候设置字符集,另一种是表建成之后修改字符集。

1.创建时指定字符集

创建库的时候指定字符集:

语法:create database 库名 default character set=字符集;

create database db2 default character set=utf8

创建表的时候指定字符集:

语法:create table 表名(属性)default character set = 字符集;
mysql> create table test1(id int(6),name char(10)) default character set = ‘gbk‘;
Query OK, 0 rows affected (0.39 sec)

2.修改字符集

修改全局字符集

/*建立连接使用的编码*/
set character_set_connection=utf8;
/*数据库的编码*/
set character_set_database=utf8;
/*结果集的编码*/
set character_set_results=utf8;
/*数据库服务器的编码*/
set character_set_server=utf8;

set character_set_system=utf8;

set collation_connection=utf8;

set collation_database=utf8;

set collation_server=utf8;

修改库的字符集

语法:alter database 库名 default character set 字符集;

alter database shiyan default character set gbk;

修改表的字符集

alter table blog_category convert to character set utf8;

运行结果:

mysql> alter table blog_category convert to character set utf8;
Query OK, 1 row affected (0.09 sec)
Records: 1 Duplicates: 0 Warnings: 0


mysql> alter table blog_category convert to character set utf8; Query OK, 1 row affected (0.09 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> show table status from blogdb like blog_category; +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+ | Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+ | blog_category | InnoDB | 10 | Dynamic | 0 | 0 | 16384 | 0 | 0 | 0 | 3 | 2020-12-12 19:18:08 | 2020-12-12 20:32:15 | NULL | utf8_general_ci | NULL | | | +---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+ 1 row in set (0.01 sec)

修改字段的字符集

语法:alter table 表名 modify 字段名 字段属性 character set gbk;

 alter table test1 modify name char(10) character set gbk;
mysql> show full columns from test1;
+-------+----------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type     | Collation       | Null | Key | Default | Extra | Privileges                      | Comment |
+-------+----------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| id    | int(6)   | NULL            | YES  |     | NULL    |       | select,insert,update,references |         |
| name  | char(10) | utf8_general_ci | YES  |     | NULL    |       | select,insert,update,references |         |
+-------+----------+-----------------+------+-----+---------+-------+---------------------------------+---------+
2 rows in set (0.01 sec)

mysql> alter table test1 modify name char(10) character set gbk;
Query OK, 0 rows affected (0.58 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show full columns from test1;
+-------+----------+----------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type     | Collation      | Null | Key | Default | Extra | Privileges                      | Comment |
+-------+----------+----------------+------+-----+---------+-------+---------------------------------+---------+
| id    | int(6)   | NULL           | YES  |     | NULL    |       | select,insert,update,references |         |
| name  | char(10) | gbk_chinese_ci | YES  |     | NULL    |       | select,insert,update,references |         |
+-------+----------+----------------+------+-----+---------+-------+---------------------------------+---------+
2 rows in set (0.01 sec)

修改字段的字符集

 

MySQL查看和修改字符集的方法

原文地址:https://www.cnblogs.com/leoych/p/14126844.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6583.html

(0)
上一篇 2023-04-06
下一篇 2023-04-07

相关推荐

  • TiDB 在马上消费金融核心账务系统归档及跑批业务下的实践「建议收藏」

    TiDB 在马上消费金融核心账务系统归档及跑批业务下的实践「建议收藏」作者介绍: 康文权,马上消费金融总账高级研发工程师。 李银龙,原腾讯云运维工程师,马上消费金融容器云 TiDB 负责人,西南区 TUG Leader。 背景介绍 马上消费金融于 2015 年 6 月…

    2023-01-27
    128
  • 使用Python Tkinter实现复选框

    使用Python Tkinter实现复选框Python Tkinter是一个强大的GUI开发库,可以用来开发各种桌面应用程序。在Tkinter中,复选框是一种常见的GUI控件,用户可以通过勾选或取消勾选复选框来选择或取消选择相应的选项。

    2024-03-27
    75
  • python之帮助函数(python 函数帮助)

    python之帮助函数(python 函数帮助)Python获取帮助的3种方式

    2023-11-01
    126
  • Chaos Mesh® 正式进入 CNCF 沙箱托管项目[亲测有效]

    Chaos Mesh® 正式进入 CNCF 沙箱托管项目[亲测有效]近日,云原生计算基金会 (CNCF) 宣布云原生的混沌工程 Chaos Mesh 正式进入 CNCF 沙箱托管项目,这是 CNCF 接纳的第二个由 PingCAP 团队设计并研发的项目。 Chaos…

    2023-03-24
    140
  • Python是面向对象的

    Python是面向对象的Python作为一门高级编程语言,具有简洁、易懂、高效、可移植和开源等优点,在各种应用场景下得到了广泛的应用。Python的面向对象编程范式为程序员提供了更为清晰灵活的设计思路和更高效的代码组织方式。在本文中,我们将从多重角度,详细探讨Python作为面向对象的编程语言的特征和优势,帮助读者更加深入理解Python面向对象编程思想的精髓。

    2024-05-13
    75
  • 开发人员的python程序设计(python基础程序设计)

    开发人员的python程序设计(python基础程序设计) PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。那么PHP开发人员的Python基础知识都有哪些呢?以下仅供参考!

    2023-11-21
    119
  • 利用Python实现高效数据存储及查找

    利用Python实现高效数据存储及查找Python是一种高级编程语言,具有良好的可扩展性和清晰的语法规则,易于读写和维护。Python被广泛应用于各种领域,如Web开发、数据分析、人工智能等。

    2024-01-26
    120
  • Hadoop学习1「建议收藏」

    Hadoop学习1「建议收藏」一.Hadoop社区版和发行版 社区版:我们把Apache社区一直开发的Hadoop称为社区版。简单的说就是Apache Hadoophttp://hadoop.apache.org/ 发行版:基于A

    2023-03-03
    166

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注