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

Implementation of Linux command line wildcards and escape characters

If we want to perform batch operations on a type ...

Briefly describe the MySQL InnoDB storage engine

Preface: The storage engine is the core of the da...

Analysis of MySQL cumulative aggregation principle and usage examples

This article uses examples to illustrate the prin...

Analysis of parameter transfer process of driver module in Linux

Declare the parameter name, type and permission y...

js to achieve interesting countdown effect

js interesting countdown case, for your reference...

mysql8.0 windows x64 zip package installation and configuration tutorial

MySQL 8 Windows version zip installation steps (d...

Solution to forgetting the MYSQL database password under MAC

Quick solution for forgetting MYSQL database pass...

Mysql 8.0.18 hash join test (recommended)

Hash Join Hash Join does not require any indexes ...

Mysql | Detailed explanation of fuzzy query using wildcards (like,%,_)

Wildcard categories: %Percent wildcard: indicates...

Detailed explanation of Nginx process management and reloading principles

Process structure diagram Nginx is a multi-proces...

Vue routing returns the operation method of restoring page status

Route parameters, route navigation guards: retain...

Implementation of proxy_pass in nginx reverse proxy

The format is simple: proxy_pass URL; The URL inc...