MySql数据库中查询修改表中字符编码(charset)的方法

canca3年前 (2021-10-28)MySQL342

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


相关文章

mysql 外鍵約束

1. 什么是参照完整性?——————–参照完整性(完整性约束)是数据库设计中的一个重要概念,当数据库中的一个表与一个或多个表进行关联时都会涉及到参照完整性。比如下面这个例子:文章分类表 - ...

MySql导入SQL文件

MySql导入SQL文件: mysql -u root -p <c:\sampledb.sql...

MySQl字段类型

MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概...

解决PHP存取MySQL 4.1乱码问题

从MySQL 4.1开始引入的多语言支持确实很棒,而且一些特性已经超过了其他的数据库系统。不过我在测试过程中发现使用适用于MySQL 4.1之前的PHP语句操作MySQL数据库会造成乱码,即使是设置过...

MySQL免安装配置方法

1.下载一个安装版的。 安装版,安装后%MYSQL_HOME%\bin下有一个mysqld-nt.exe文件。将它复制出来(珍藏起来)。 2.下载一个免安装版MSYQL 将它解压。例如:E:/mysq...

mysql存储过程执行动态SQL

不需要使用游标循环来读取,直接select * into @变量就OK了,还可以传递参数来执行。 MySql通用分页存储过程 过程参数 4 p_cloumns varchar(500),p_tab...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。