查看MYSQL数据库服务器和数据库字符集

方法一:show variables like '%character%';

方法二:show variables like 'collation%';

show charset;

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

character_set_client (客户端来源数据使用的字符集)

character_set_connection (连接层字符集)

character_set_database (当前选中数据库的默认字符集)

character_set_results (查询结果字符集)

character_set_server (默认的内部操作字符集)

https://www.cnblogs.com/shihaiming/p/5855616.html

查看库的字符集

show create database 表名;

show database status from 库名 like 表名;

查看表的字符集

show table status from 库名 like 表名;

show table status from p2p_test like '%

'

show create table 表名

查看表中所有列的字符集

show full columns from test_info;

修改全局字符集

/*建立连接使用的编码*/
set character_set_connection=utf8;
/*数据库的编码*/
set character_set_database=utf8;
/*结果集的编码*/
set character_set_results=utf8;
/*数据库服务器的编码*/
set character_set_server=utf8; set character_set_system=utf8; set collation_connection=utf8; set collation_database=utf8; set collation_server=utf8;
https://www.cnblogs.com/xingzc/p/6039350.html

修改库的字符集

alter database db_name default character set gbk;

ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];

ALTER DATABASE caitu99 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

把表默认的字符集和所有字符列(CHAR,VARCHAR,TEXT)改为新的字符集:

alter table 表名 convert to character set 字符集;

ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...]

ALTER TABLE logtest CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

只是修改表的默认字符集

ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];

ALTER TABLE logtest DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

修改字段的字符集

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];

alter table test1 modify name char(10) character set gbk;

ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

同时修改某一个数据库中所有表的所有字段的编码格式

mysql中的begin-end流程控制语句与局部变量

begin-end、流程控制语句、局部变量只能用于函数、存储过程内部、游标、触发器的定义内部。

https://blog.csdn.net/baoliangsheng/article/details/46459471

begin

	DECLARE cnt VARCHAR(100); -- 声明变量用来记录查询出的表名
DECLARE i int; -- 循环条件,同时可以用来标记表第几张表
set i = 0; -- 循环开始
while i < 32 do -- 这里是32是因为我的数据库中表的数量是32,想不写死可以通过再定义一个变量,动态赋值
select table_name into @cnt from information_schema.`TABLES` where TABLE_SCHEMA = '数据库名' limit i,1;
-- select @cnt; -- mysql的打印语句
-- alter table @cnt convert to character set utf8; -- 这一句报错,必须动态拼接才行 set @sql = concat("alter table ", @cnt, " convert to character set utf8"); -- 拼接,注意语句中的空格
prepare stmt from @sql; -- 预处理
execute stmt; -- 执行
deallocate prepare stmt; -- 释放 set i = i + 1;
end while;
-- 循环结束,注意分号 end
https://blog.csdn.net/LUNG108/article/details/78285054

查找表信息

DELIMITER $$
DROP PROCEDURE IF EXISTS `sp_status` $$
CREATE PROCEDURE `sp_status`(dbname VARCHAR(50))
BEGIN
-- Obtaining tables and views
(
SELECT
TABLE_NAME AS `Table Name`,
ENGINE AS `Engine`,
TABLE_ROWS AS `Rows`,
CONCAT(
(FORMAT((DATA_LENGTH + INDEX_LENGTH) / POWER(1024,2),2))
, ' Mb')
AS `Size`,
TABLE_COLLATION AS `Collation`
FROM information_schema.TABLES
WHERE TABLES.TABLE_SCHEMA = dbname
AND TABLES.TABLE_TYPE = 'BASE TABLE'
)
UNION
(
SELECT
TABLE_NAME AS `Table Name`,
'[VIEW]' AS `Engine`,
'-' AS `Rows`,
'-' `Size`,
'-' AS `Collation`
FROM information_schema.TABLES
WHERE TABLES.TABLE_SCHEMA = dbname
AND TABLES.TABLE_TYPE = 'VIEW'
)
ORDER BY 1;
-- Obtaining functions, procedures and triggers
(
SELECT ROUTINE_NAME AS `Routine Name`,
ROUTINE_TYPE AS `Type`,
'' AS `Comment`
FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA = dbname
ORDER BY ROUTINES.ROUTINE_TYPE, ROUTINES.ROUTINE_NAME
)
UNION
(
SELECT TRIGGER_NAME,'TRIGGER' AS `Type`,
concat('On ',EVENT_MANIPULATION,': ',EVENT_OBJECT_TABLE) AS `Comment`
FROM information_schema.TRIGGERS
WHERE EVENT_OBJECT_SCHEMA = dbname
)
ORDER BY 2,1;
END$$
DELIMITER ; CALL sp_status(DATABASE()); https://blog.csdn.net/xhiaa/article/details/7814686

修改脚本

show charset;

set character_set_database=utf8mb4;
set collation_database=utf8mb4_general_ci; ALTER DATABASE caitu99 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; DELIMITER //
DROP PROCEDURE IF EXISTS `proc_reset_table_character` //
create PROCEDURE proc_reset_table_character ()
BEGIN DECLARE cnt VARCHAR(100); -- 声明变量用来记录查询出的表名
DECLARE i int; -- 循环条件,同时可以用来标记表第几张表
DECLARE t_cnt int; set i = 0;
set @allsql=''; set t_cnt = 0;
select count(1) into t_cnt from information_schema.`TABLES` where TABLE_SCHEMA = 'db_test' and TABLE_TYPE = 'BASE TABLE'; -- and TABLE_COLLATION <> 'utf8_general_ci' -- 循环开始
while i < t_cnt do -- 这里是32是因为我的数据库中表的数量是32,想不写死可以通过再定义一个变量,动态赋值
select table_name into @cnt from information_schema.`TABLES` where TABLE_SCHEMA = 'db_test' and TABLE_TYPE = 'BASE TABLE' limit i,1;
-- select @cnt; -- mysql的打印语句
-- alter table @cnt convert to character set utf8; -- 这一句报错,必须动态拼接才行 set @sql = concat("alter table ", @cnt, " convert to character set utf8 COLLATE utf8_general_ci;"); -- 拼接,注意语句中的空格 prepare stmt from @sql; -- 预处理
execute stmt; -- 执行
deallocate prepare stmt; -- 释放 set @allsql =concat(@allsql,CHAR(10),@sql); set i = i + 1;
end while;
SELECT @allsql;
END
//
DELIMITER ; -- SET @p_inout=1;
-- CALL inout_param(@p_inout) ;
-- SELECT @p_inout; call proc_reset_table_character();

索引 约束


ALTER TABLE t_users DROP INDEX id_number; ALTER TABLE `t_users` ADD INDEX id_number ( `id_number` ) ; https://www.cnblogs.com/a-du/p/7117837.html
https://blog.csdn.net/u013967628/article/details/76559368

MySQL 查看修改字符集的更多相关文章

  1. mysql查看修改字符集

    1.列出MYSQL支持的所有字符集: SHOW CHARACTER SET; 2.当前MYSQL服务器字符集设置 SHOW VARIABLES LIKE 'character_set_%'; 3.当前 ...

  2. MySQL 如何修改字符集 utf8 改为 utf8mb4

    在实行sql server 向 mysql 迁移数据时,报错: Incorrect string value: '\xF0\x9F\x98\x8A' 原因是mysql 采用的是 utf8 的字符集,而 ...

  3. MySQL查看修改存储引擎总结

    文总结了MySQL下查看.修改存储引擎的一些方法.测试.验证环境为MySQL 5.6 1:查看MySQL的存储引擎信息 1.1 使用show engines命令. .csharpcode, .csha ...

  4. MySQL数据库修改字符集为UTF-8

    需要修改my.ini [client]下添加 default_character_set = utf8 [mysql]下添加 default_character_set = utf8 [mysqld] ...

  5. mysql查看修改参数

    1.查看参数 show variables like '%timeout%'; 2.修改参数 会话级别修改: set session innodb_lock_wait_timeout=50; 对当前会 ...

  6. MySQL批量修改字符集

    统一将字符字符集变成utf8_general_ci,已测试. DROP PROCEDURE IF EXISTS `chanageCharSet`; CREATE PROCEDURE `chanageC ...

  7. MySql查看修改l时区

    # 查看时区 show variables like '%time_zone%'; # 设置全局 set global time_zone='+8:00';  # 设置当前会话 set time_zo ...

  8. mysql服务器的字符集

    文章:http://www.cnblogs.com/fantiantian/p/3468454.html 的评论中有这样的文字: 谢谢沧海一滴的总结 在Linux中一般都是UTF-8字符集.我们在建数 ...

  9. 查看修改MySQL字符集

    查看修改MySQL字符集 http://blog.sina.com.cn/s/blog_70ac6bec01016fts.html 查看修改MySQL字符集 (2012-08-22 09:53:21) ...

随机推荐

  1. Python + Robot Framework 环境搭建

    一.Python 安装 说明:由于RIDE是基于python2.x开发,后期未做python3.x兼容,所以这里安装python2.7. 链接: https://pan.baidu.com/s/1yf ...

  2. python 处理 https链接 socket报错 链接https

    // socket 链接 https 有问题 得去看看ssl文档 用法 import socketimport ssl def https_test(url): proto = "http& ...

  3. leetcode每日刷题计划-简单篇day1

    orzorz开始刷题 争取坚持每周平均下来简单题一天能做两道题吧 非常简单的题奇奇怪怪的错误orz越不做越菜 Num 7 整数反转 Reverse Integer 刚开始多给了一个变量来回折腾占地方, ...

  4. PHP生成HTML静态页面。

    function Generate(){ $html = '<!DOCTYPE html><html lang="en"><head> < ...

  5. canal 结合 kafka 入门

    1.kafka的安装: 略 2.cannal  配置 使用卡夫卡: 修改  /home/admin/canal-server/conf/canal.properties 2.1 修改canal.ser ...

  6. 再谈PHP设计模式

    设计模式 单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法. 单例模式 $_instance必须声明为静态的私有变量 构造函数和析构函数必须声 ...

  7. java 流转换BASE64的一些问题

    java 转换BASE64过程中,出现很多结尾为空的问题!暂时不清楚为什么会这样- ``` java //根据url地址转换成BASE64 public static String getURLIma ...

  8. 工程C++基础

    大家好,我是老A.今天我们要学习的是工程C++,这是一个不可描述的东西.我主要讲的是template. template的用处是装逼,所以很重要. C++配备了函数模板和类模板.函数模板就是我们平时的 ...

  9. python 的包的导入

    已经写过一篇包的导入了,最近又遇到了点问题,所以想把这些再搞的明白点就又试了试 代码结构如下 在test目录下,有Admin包,home包,在home下有它的子包foo 各个文件代码如下 admins ...

  10. 《Spring_Four》第二次作业 基于Jsoup的大学生考试信息展示系统开题报告

    一.项目概述 该项目拟采用Jsoup对大学生三大考试(考研.考公务员.考教师资格证)进行消息搜集,研发完成一款轻量级的信息展示APP,本项目主要的创新点在于可以搜集大量的考试信息,对其进行一个展示,而 ...