MySql表、字段、库的字符集修改及查看方法_Mysql

修改数据库字符集:

复制代码 代码如下:

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

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

复制代码 代码如下:

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 logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci; 

查看数据库编码:

复制代码 代码如下:

SHOW CREATE DATABASE db_name;  

查看表编码:

复制代码 代码如下:

SHOW CREATE TABLE tbl_name;  

查看字段编码:

复制代码 代码如下:

SHOW FULL COLUMNS FROM tbl_name;  

时间: 2025-01-01 14:14:15

MySql表、字段、库的字符集修改及查看方法_Mysql的相关文章

查询速度-mysql表字段select优化

问题描述 mysql表字段select优化 在一张表中,字段contentbody数据类型mediumtext,在contentbody中加 插入了大量的文字内容,如果在select查询过程中查询出contentbody, 则查询速度四五秒左右,非常慢,请问,有没有什么可优化 select contentbody from content这个sql的查询速度? 解决方案 建议你的select contentbody from content 后面增加where条件,只取需要的数据,或者根据需要分

mysql表优化、分析、检查和修复的方法详解_Mysql

本文实例讲述了mysql表优化.分析.检查和修复的方法.分享给大家供大家参考,具体如下: 这里介绍对数据库的管理常规就是进行预防性的维护,以及修复那些出现问题的内容. 进行检查和修复通常具有四个主要的任务: 1. 对表进行优化 2. 对表进行分析(分析并存储MyISAM和BDB表中键的分布) 3. 对表进行检查(检查表的错误,并且为MyISAM更新键的统计内容) 4. 对表进行修复(修复被破坏的MyISAM表) 一.对表进行优化 优化表有很多方式实现: OPTIMIZE TABLE语句.mysq

MySQL表类型和存储引擎版本不一致解决方法

使用的是老版本的mysql客户端Navicate 8 ,mysql 服务端用的是mysql5.6的版本,在修改版本引擎的时候出现版本不对; mysql error 'TYPE=MyISAM' 解决办法: Replace TYPE=MyISAM with ENGINE=MyISAM The problem was "TYPE=MyISAM" which should be "ENGINE=MyISAM" as per MySQL version updates – a

详解MySQL查询时区分字符串中字母大小写的方法_Mysql

如果你在mysql有唯一约束的列上插入两行值'A'和'a',Mysql会认为它是相同的,而在oracle中就不会.就是mysql默认的字段值不区分大小写?这点是比较令人头痛的事.直接使用客户端用sql查询数据库. 发现的确是大小不敏感 . 通过查询资料发现需要设置collate(校对) . collate规则: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: case sensitive collation,区分大小写 *

mysql数据库乱码之保存越南文乱码解决方法_Mysql

我自己测试一下,很多字符变成了 '?'. 数据库连接已经是使用了 utf8 字符集: 复制代码 代码如下: define("MYSQL_ENCODE", "UTF8"); mysql_query('SET NAMES '.MYSQL_ENCODE,$conn) or die('字符集设置错误'.mysql_error()); 搞了大半小时,没有搞定. insert 的数据都是仍然乱码,突然想,是不是字段不能保存这些越南文. 我看一下数据库字符集,默认都是 gbk,这

MySql中表单输入数据出现中文乱码的解决方法_Mysql

 MySQL会出现中文乱码的原因在于 1.server本身设定问题,一般来说是latin1 2.建库建表时没有制定编码格式. MySql中表单输入数据出现中文乱码的解决方法: 1.建库的时候 CREATE DATABASE test CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; 2.建表的时候 CREATE TABLE content ( text VARCHAR(100) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

MySQL数据库误操作后快速回滚的方法_Mysql

基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了.假如这还是线上环境核心业务数据,那这事就闹大了.误操作后,能快速回滚数据是非常重要的. binlog2sql快速回滚 首先,确认你的MySQL server开启了binlog,设置了以下参数: [mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin.log max_binlog_siz

MySQL实现树状所有子节点查询的方法_Mysql

本文实例讲述了MySQL实现树状所有子节点查询的方法.分享给大家供大家参考,具体如下: 在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点.但很遗憾,在MySQL的目前版本中还没有对应的功能. 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现. 但很多时候我们无法控制树的深度.这时就需要

MySQL 出现错误1418 的原因分析及解决方法_Mysql

MySQL 出现错误1418 的原因分析及解决方法 具体错误:  使用mysql创建.调用存储过程,函数以及触发器的时候会有错误符号为1418错误. ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL,or READS SQL DATA in its declaration and binary logging is enabled(you *might* want to use the less safe lo