1. mysql用sql语句创建表和数据库怎么设置字符编码'
--创建数据库时,设置数据库的编码方式
--CHARACTERSET:指定数据库采用的字符集,utf8不能写成utf-8
--COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过showcharacterset查看)
dropdatabaseifEXISTSdbtest;
_general_ci;
--修改数据库编码
_chinese_ci;
_general_ci;
--创建表时,设置表、字段编码
usedbtest;
droptableifexiststbtest;
createtabletbtest(
idint(10)auto_increment,
user_namevarchar(60)CHARACTERSETGBKCOLLATEgbk_chinese_ci,
emailvarchar(60),
PRIMARYkey(id)
)CHARACTERSETutf8COLLATEutf8_general_ci;
--修改表编码
_general_ci;
--修改字段编码
(60)CHARACTERSETutf8COLLATEutf8_general_ci;
--查看所有的字符编码
SHOWCHARACTERSET;
--查看创建数据库的指令并查看数据库使用的编码
showcreatedatabasedbtest;
--查看数据库编码:
showvariableslike'%char%';
--设置character_set_server、setcharacter_set_client和setcharacter_set_resultssetcharacter_set_server=utf8;--服务器的默认字符集。使用这个语句可以修改成功,但重启服务后会失效。根本的办法是修改配置MYSQL文件MY.INI,
2. mysql 更改数据库字符编码的方法
mysql如何更改数据库字符编码?借助客户端工具很容易就可以更改了,下面来看一下。
- 01
打开navicat客户端工具,在左边找到要更改的数据库。
- 02
右键点击这个数据库,在菜单上点击数据库属性选项。
- 03
在弹出的属性窗口上,点击默认字符集下的下拉框。
- 04
在弹出的下拉选项里,点击选中要使用的字符集就行了,比如选择常用的utf8字符集,点击ok按钮就行了。
3. SQL数据类型nchar,char,varchar与nvarchar区别
nchar与char是相似的,nvarchar与varchar是相似的。
char类型:
对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义
char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。
Varchar类型:Varchar
的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian"
而char
不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian
"(qian后共有96个空格,就是把它填满为100个字节)。
由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
VARCHAR存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为
VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。
nchar类型和Nvarchar类型是怎么一回事呢?为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个汉字也占用两个字节,所有的字符都占用2个字节。
关于长度与汉字
varchar(100)/char(100)能存50个汉字,nvarchar(100)/nchar(100)能存100个汉字。
4. mysql用sql语句创建表和数据库怎么设置字符编码'
方法如下:
我们先建一个DEMO表,来做我们今天的实现,建表语句如下:
CREATE TABLE
DEMO
(
NAME VARCHAR(50) COMMENT '姓名',
SEX CHAR(1) COMMENT '性别',
PRIMARY KEY (NAME)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='例子表';
并且select查询一下,如下图
5. SQL 字段类型(字符型)
char 定长字符串,一般用于存储类似邮政编码信息.
nvarchar 双字节字符串,适合存储汉字,一个字符也将浪费1个双字节位.
varchar 单字节字符串,在这里一个汉字占用两个字节.
如果是混排个人觉得适合使用varchar.