MySql数据库中查询修改表中字符编码(charset)的方法
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 | ....... +----------------------+-------------+-----------------+--------
修改单个表的字符集:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
修改数据库中所有表的字符集:
SELECT concat('alter table ', table_name, ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') FROM information_schema.tables WHERE table_schema='替换你的数据库名称' and table_collation != 'utf8_general_ci' GROUP BY table_name;
修改完毕后重启数据库:
sudo systemctl restart mariadb
————————————————
版权声明:本文为CSDN博主「zzcchunter」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zzcchunter/article/details/83650748