Chinaunix首页 | 论坛 | 博客
  • 博客访问: 961998
  • 博文数量: 83
  • 博客积分: 32
  • 博客等级: 民兵
  • 技术积分: 2080
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 09:45
个人简介

努力学习,努力分享,努力.....在努力..努力离开..

文章分类

全部博文(83)

文章存档

2017年(3)

2015年(1)

2014年(47)

2013年(32)

分类: Mysql/postgreSQL

2013-10-28 16:17:44

MySQL的字符集和校对规则有四种级别的默认设置:服务器级、数据库级、表级、字段级(不讨论很少用到),三种设置方式如下


服务器字符集和校对.在MySQL服务器启动时确定
mysql.cnf
[mysql]


default-character-set=utf8


启动的时候也可以指定
mysqld --default-character-set=gbk


在编译的时候指定
cmake \
-DDEFAULT_CHARSET=utf8 \
-DEFAULT_COLLATION=utf8_general_ci \


查看当前服务器的字符集和校对规则
mysql> show variables like 'character_set_server';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| character_set_server | utf8  |
+----------------------+-------+
1 row in set (0.29 sec)


mysql> show variables like 'collation_server';
+------------------+-----------------+
| Variable_name    | Value           |
+------------------+-----------------+
| collation_server | utf8_general_ci |
+------------------+-----------------+
1 row in set (0.01 sec)


mysql>

数据库字符集在创建DB的时候指定,如果没有指定使用默认可以在创建完毕之后使用alter修改.(需要注意点在上篇文件已经讲过)
create database db_name default charset set gbk;

表级字符集
创建表的时候显示指定不指定用默认字符集
mysql> create table test1 (id int, name char);
Query OK, 0 rows affected (2.10 sec)


mysql>
mysql>
mysql> show create table test1 \G;
*************************** 1. row ***************************
       Table: test1
Create Table: CREATE TABLE `test1` (
  `id` int(11) DEFAULT NULL,
  `name` char(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.13 sec)





阅读(1979) | 评论(0) | 转发(0) |
0

上一篇:raid详解

下一篇:mysql.sock

给主人留下些什么吧!~~