Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)

前言

修改数据库字符集为UTF8经常遇到的问题:

1.修改my.ini配置文件(MySQL配置文件)

2.修改数据库字符集

3.修改表字符集

4.修改列字符集


1.修改my.ini配置文件(MySQL配置文件)

character_set_server = utf8 //设置字符集

 
//重启mysql数据库服务

//查看当前数据库字符集

show Variables like 'character%';

2.MySQL“数据库”的创建等操作流程(修改字符集为UTF8)

2.1 查看当前有哪些库

show databases;

3.2 创建一个新数据库class

 create class database; 

3.3选择刚创建的数据库

 use class;  

2.4修改刚创建的数据库字符集为utf8

alter database class character set utf8;  

                                     修改完数据库字符集,需要重启MySQL数据库。                               

2.5查看class数据库的创建信息

show create database class ; 

2.6删除刚创建的数据库

drop database class; 

3. MySQL“数据表”的创建等操作流程(修改字符集为UTF8)

1.  CREATE TABLE – 创建表

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
);

2.修改表字符集
 

Alter Table 表名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

3.  查看表的信息

DESC 表名;
//or
show create table 表名 ;

4. 修改列字符集

修改列字符集

ALTER TABLE 表名 
CHANGE 列名 列名 VARCHAR( 100 ) 
CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;

//第二种

//一个是修改表的编码格式的

ALTER TABLE table DEFAULT CHARACTER SET utf8;

//修改字段的编码格式 
//因为表的编码改了字段的没有所以还要修改字段 
//修改字段只能一条条改


ALTER TABLE 表名 
CHANGE 字段名1 字段名2 VARCHAR(36) CHARACTER SET utf8 NOT NULL;

 

5.最后注意 

重启MySQL数据库

情况一: Windows下:

开始->运行->cmd

停止:net stop mysql

启动:net start mysql

情况二:MYSQL已经安装为windows服务下

一、启动方式

1、使用 service 启动:service d start

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start

3、使用 safe_mysqld 启动:safe_mysqld&

二、停止  

1、使用 service 启动:service mysqld stop

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

3、mysqladmin shutdown

三、重启

1、使用 service 启动:service mysqld restart

2、使用 mysqld  脚本启动:/etc/inint.d/mysqld restar

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用下面的 SQL 语句来查找所有字段编码不为 utf8mb4_General_ci 的名: ``` SELECT TABLE_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'your_database_name' AND COLLATION_NAME != 'utf8mb4_general_ci'; ``` 请将 `your_database_name` 替换为你的数据库名称。这个语句将从 `information_schema.COLUMNS` 中检索所有的名称,并只返回编码不为 `utf8mb4_General_ci` 的。 ### 回答2: 要查找字段编码不为utf8mb4_general_ci的所有名,可以使用以下步骤: 1. 连接到MySQL数据库。可以使用命令行工具如MySQL命令行客户端、phpMyAdmin或者其他图形界面工具来连接。 2. 运行以下SQL查询语句来获取所有名及其字段编码: ```sql SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_COLLATION NOT LIKE '%utf8mb4_general_ci%' ``` 3. 执行查询语句后,将会返回一个结果集,其中包含所有字段编码不为utf8mb4_general_ci的名。 4. 可以根据需要进一步处理查询结果,例如将结果导出为文本文件、将结果用于其他查询等。 这个查询语句使用了MySQL的information_schema.TABLES,该存储了关于数据库中的所有的详细信息,包括名、字段编码等。通过在WHERE子句中使用LIKE运算符,我们可以过滤出字段编码不为utf8mb4_general_ci的名。 ### 回答3: 可以使用以下SQL语句来查询所有名中字段编码不为utf8mb4_general_ci的: ``` SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_COLLATION NOT LIKE 'utf8mb4_general_ci' ``` 以上语句使用了`INFORMATION_SCHEMA.TABLES` 视图来获取数据库中的所有的信息,然后根据 `TABLE_COLLATION` 字段来判断编码是否符合要求。 `TABLE_COLLATION` 是编码字段,如果该字段的值不以 `utf8mb4_general_ci` 结尾,就代编码不是 `utf8mb4_general_ci`。 通过以上SQL查询语句,可以获取到所有字段编码不为 `utf8mb4_general_ci` 的名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值