MySQL character set viewing and modification tutorial

MySQL character set viewing and modification tutorial

1. Check the character set

1. Check the MYSQL database server and database character set

Method 1: show variables like '%character%';

Method 2: 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 | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql5535/share/charsets/ |
+--------------------------+--------------------------------------+
8 rows in set (0.00 sec)

Method 1:
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 (0.00 sec)

Method 2:

2. Check the character set supported by 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 |
| 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 |
+----------+-----------------------------+---------------------+--------+
39 rows in set (0.00 sec)

View the character sets supported by MYSQL

3. View the character set of the library

Syntax: show database status from library name like table name;

mysql> show create database shiyan\G
*************************** 1. row ***************************
  Database: shiyan
Create Database: CREATE DATABASE `shiyan` /*!40100 DEFAULT CHARACTER SET gbk */
1 row in set (0.00 sec)

4. Check the character set of the table

Syntax: show table status from library name like table name;

mysql> show table status from class_7 like 'test_info';

mysql> show table status from class_7 like 'test_info';
+-----------+--------+---------+------------+------+----------------+-------------------------+-------------+------------+----------------+----------+-
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_leate_time | Update_time | Check_time | Collation | Checksum | 
+-----------+--------+---------+------------+------+----------------+-------------------------+-------------+------------+----------------+----------+-
| test_info | InnoDB | 10 | Compact | 10 | 1638 | 17-12-05 19:01:55 | NULL | NULL | utf8_general_ci | NULL | 
+-----------+--------+---------+------------+------+----------------+-------------------------+-------------+------------+----------------+----------+-
1 row in set (0.00 sec)

Check the character set of the table

5. View the character set of all columns in the table

Syntax: show full columns from table name;

mysql> show full columns from test_info;

mysql> show full columns from test_info;
+-------+----------+-----------------+------+-----+---------+-------+--------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+-------+----------+-----------------+------+-----+---------+-------+--------------------------------+---------+
| id | int(3) | NULL | NO | PRI | NULL | | select,insert,update,references | |
| name | char(12) | utf8_general_ci | YES | | NULL | | select,insert,update,references | |
| dorm | char(10) | utf8_general_ci | YES | | NULL | | select,insert,update,references | |
| addr | char(12) | utf8_general_ci | YES | | unknown | | select,insert,update,references | |
| score | int(3) | NULL | YES | | NULL | | select,insert,update,references | |
+-------+----------+-----------------+------+-----+---------+-------+--------------------------------+---------+
5 rows in set (0.00 sec)

Character set for all columns

2. Set the character set

There are generally two ways to set the character set. One is to set the character set when creating the table, and the other is to modify the character set after the table is built.

1. Specify the character set when creating

Specify the character set when creating a library:

Syntax: create database library name default character set=character set;

create database db2 default character set=utf8

Specify the character set when creating a table:

Syntax: create table table name (attributes) default character set = 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. Modify the character set

Modify the global character set

/*Encoding used to establish the connection*/
set character_set_connection=utf8;
/*Database encoding*/
set character_set_database=utf8;
/*Result set encoding*/
set character_set_results=utf8;
/*Database server encoding*/
set character_set_server=utf8;

set character_set_system=utf8;

set collation_connection=utf8;

set collation_database=utf8;

set collation_server=utf8;

Modify the global character set

Modify the character set of the library

Syntax: alter database library name default character set character set;

alter database shiyan default character set gbk;

mysql> show create database shiyan\G
*************************** 1. row ***************************
  Database: shiyan
Create Database: CREATE DATABASE `shiyan` /*!40100 DEFAULT CHARACTER SET utf8 */
1 row in set (0.00 sec)

mysql> alter database shiyan default character set gbk;
Query OK, 1 row affected (0.00 sec)

mysql> show create database shiyan\G
*************************** 1. row ***************************
  Database: shiyan
Create Database: CREATE DATABASE `shiyan` /*!40100 DEFAULT CHARACTER SET gbk */
1 row in set (0.00 sec)

Modify the character set of a table

Syntax: alter table table name convert to character set character set;

alter table test1 convert to character set utf8;

mysql> show create table test1\G
*************************** 1. row ***************************
  Table: test1
Create Table: CREATE TABLE `test1` (
 `id` int(6) DEFAULT NULL,
 `name` char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk #Original character set 1 row in set (0.00 sec)

mysql> alter table test1 convert to character set utf8;
Query OK, 0 rows affected (0.58 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> show create table test1\G
*************************** 1. row ***************************
  Table: test1
Create Table: CREATE TABLE `test1` (
 `id` int(6) DEFAULT NULL,
 `name` char(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 #Modified character set 1 row in set (0.00 sec)

Modify the character set of a list

Modify the character set of a field

Syntax: alter table table name modify field name field attribute 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)

Modify the character set of a field

Summarize

This is the end of this article about viewing and modifying MySQL character sets. For more information about viewing and modifying MySQL character sets, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Sharing of MySQL character set and database engine modification methods
  • Practical tutorial on modifying MySQL character set
  • MySQL startup error 1067 and invalid recovery after changing character set and restarting
  • How to change the character set encoding to UTF8 in MySQL 5.5/5.6 under Linux
  • Comparison of storage engines supported by MySQL database
  • Implement a simple search engine based on MySQL
  • Differences and comparisons of storage engines in MySQL
  • MySQL learning summary: a preliminary understanding of the architectural design of the InnoDB storage engine
  • MySQL changes the default engine and character set details

<<:  Web development js string concatenation placeholder and conlose object API detailed explanation

>>:  Docker installation Nginx tutorial implementation illustration

Recommend

MySQL Database Basics: A Summary of Basic Commands

Table of contents 1. Use help information 2. Crea...

mysql uses stored procedures to implement tree node acquisition method

As shown in the figure: Table Data For such a tre...

A detailed explanation of how React Fiber works

Table of contents What is React Fiber? Why React ...

my.cnf (my.ini) important parameter optimization configuration instructions

MyISAM storage engine The MyISAM storage engine i...

10 Underused or Misunderstood HTML Tags

Here are 10 HTML tags that are underused or misun...

Method for comparing the size of varchar type numbers in MySQL database

Create a test table -- --------------------------...

Steps to use ORM to add data in MySQL

【Foreword】 If you want to use ORM to operate data...

Solution to JS out-of-precision number problem

The most understandable explanation of the accura...

JavaScript canvas realizes the effect of nine-square grid cutting

This article shares the specific code of canvas t...

How to start multiple MySQL instances in CentOS 7.0 (mysql-5.7.21)

Configuration Instructions Linux system: CentOS-7...

VUE+SpringBoot implements paging function

This article mainly introduces how to implement a...

Docker batch start and close all containers

In Docker Start all container commands docker sta...

Two problems encountered when deploying rabbitmq with Docker

1. Background The following two problems are enco...