查看mysql数据库及表编码格式
转载:https://blog.youkuaiyun.com/mingyu1016/article/details/54017918
1.查看数据库的编码格式
1
|
mysql> show create database <数据库名>
;
|
2.查看数据表的编码格式
1
|
mysql> show
create
table
<表名>;
|
3.创建数据库时指定数据库的字符集
mysql>create database <数据库名> character set utf8;
4.创建数据表时指定数据表的编码格式
create table tb_books ( name varchar(45) not null, price double not null, bookCount int not null, author varchar(45) not null ) default charset = utf8;
5.修改数据库的编码格式
mysql>alter database <数据库名> character set utf8;
6.修改数据表格编码格式
mysql>alter table <表名> character set utf8;
7.修改字段编码格式
mysql>alter table <表名> change <字段名> <字段名> <类型> character set utf8; mysql>alter table user change username username varchar(20) character set utf8 not null;
8.添加外键
mysql>alter table tb_product add constraint fk_1 foreign key(factoryid) references tb_factory(factoryid); mysql>alter table <表名> add constraint <外键名> foreign key<字段名> REFERENCES <外表表名><字段名>;
9.删除外键
mysql>alter table tb_people drop foreign key fk_1; mysql>alter table <表名> drop foreign key <外键名>;
在查mysql 1366的错误原因时,发现一些有趣的回答。地址为:http://zhidao.baidu.com/question/59029575.html
不过,还是有人给出了比较好的解决方法:
- MySQL 1366错误大致描述如下
- 1. SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "address" at row 1
- 解决办法:检查数据库此字段的字符集与整理字符集是否与SQL语句传递数据的字符集相同;不相同则会引发MySQL1366错误。
- 修改MySQL该字段的字符集与整理规则即可。假设数据表为phplamp, SQL语句的字符集为utf8,出错的字段为address:
- MySQL 1366 错误解决办法
- 1. #检查数据表所有字段的状态
- 2. ->show full columns from phplamp;
- 3. #发现address字段的Collation项非utf8,修改它!
- 4. ->alter table phplamp change name name varchar(100) character set utf8 collate utf8_unicode_ci not null default '';
- 修改完字段的字符集后可以再使用show full columns from table_name命令检查一下,以确保万无一失。假如您的SQL字符集为GBK或是GB2312或是其它的话,只需要将数据表字段的字符集更改为其相应的编码即可。
- 再送上一个MySQL的命令:
- 修改数据表的字符集与整理
- 1. ->show full columns from table_name;