mysql数据库创建、数据表创建及字符集说明
一、创建mysql数据库并指定字符集
CREATE DATABASE pawnzj DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
注意:如果不是通过my.ini配置文件设置的内容,只在当前状态下有效,当重启数据库服务后失效。所以如果想要不出现乱码只有修改my.ini文件,数据库编码可以在创建数据库时候指定UTF8,如下:
|character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1|
| character_set_system | utf8 |
只有当修改my.ini中设置UTF8,才会全部修改成UTF8
二、Mysql创建数据库选择字符集
1.一般选择utf8.下面介绍一下utf8与utfmb4的区别。
utf8mb4兼容utf8,且比utf8能表示更多的字符。无特殊情况,用uft8
2.关于utf_bin(区分大小写,字符串每个字符串用二进制数据编译存储)和utf_general_ci(不区分大小写)
例如:select * from table where a = 'a';
那么在utf8_bin中你就找不到 a = 'A' 的那一行, 而 utf8_general_ci 则可以.
utf8_general_ci校对速度快,但准确度稍差。(准确度够用,一般建库选择这个)
所以手动创建数据库时,字符集建议选择utf8 -- UTF-8 Unicode,排序规则选utf8_general_ci,如下图
三、MySQL 设置、添加主键以及自增问题
1.创建表的同时设置主键
create table table_name(sno int primary key,sname varchar(15),age int(11));
2.创建表后,将某列 col 或者将某属性设置为主键
alter table table_name add primary key (col_name);
3.设置递增,增长的属性
alter table table_name modify id int auto_increment;