mysql用sql语句创建表和数据库怎么设置字符编码'

mysql用sql语句创建表和数据库怎么设置字符编码',第1张

方法如下:

我们先建一个DEMO表,来做我们今天的实现,建表语句如下:

CREATE TABLE

DEMO

(

NAME VARCHAR(50) COMMENT '姓名',

SEX CHAR(1) COMMENT '性别',

PRIMARY KEY (NAME)

)

ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='例子表'

并且select查询一下,如下图

增加一个AGE字段,

ALTER TABLE DEMO ADD AGE CHAR(3)

select查询一下,如下图

请对比上下图,可以发现 多出了一个AGE字段,此处是CHAR类型的。

那么如何删除我们刚加的字段呢,

ALTER TABLE DEMODROP COLUMN AGE

select查询一下,如下图

请对比上下图,可以发现 AGE字段被删除掉了

我们在把这个字段加回来

ALTER TABLE DEMO ADD AGE CHAR(3),

我们用视图工具DBVISUAL看下表机构,这时AGE字段是CHAR类型的

我们如果需要把这个字段修改为VARCHAR类型的怎么办呢,

ALTER TABLE DEMO MODIFY  AGE   VARCHAR(20),

然后我们在用视图工具DBVISUAL看下表机构,这时AGE字段是VARCHAR类型的

1、更改服务器的编码方式,在终端输入以下命令:

mysqld--character-set-server=gbk--collation-server=gbk_chinese_ci;

2、更改某个数据库的编码方式

mysql-uroot-p

alterdatabasecharactersetgbkcollategbk_chinese_ci

3、在创建数据库时指定编码:

mysql-uroot-p 

createdatabasedb_namecharactersetgbkcollategbk_chinese_ci

4、更改某个表的编码方式

mysql-uroot-pdb_name

altertabletable_nameconvertto charachtersetgbkcollategbk_chinese_ci

5、在创建表时指定编码方式

mysql-uroot-pdb_name

createtabletable_name(....)charactersetgbkcollategbk_chinese_ci

6、更改某行的编码方式

mysql-uroot-pdb_name

altertabletable_namemodifycolumn_namevarchar(20)charactersetgbkcollategbk_chinese_ci

7、在创建列时指定编码方式:

</pre><prename="code"class="sql">mysql-uroot-pdb_name

createtabletable_name(...,col1varchar(20)charactersetgbkcollategbk_chinese_ci,...)charactersetutf8collateutf8_general_ci

插入的数据乱码有很多原因:

1、你要检查一下页面的编码和数据库设置的字符集是否一样,要么都是utf8,要么都是gbk的

2、如果第一点说的两边编码是统一的,你可以在链接数据库的时候加上mysql_query("set names utf8")

3、加上之后还是不行的话,在检查你的页面编码,如果是utf8的话,请选择没有bom的utf8编码

4、以上都没问题的话,还出现乱码的话,修改mysql的配置文件,my.ini加上character-set-server=utf8,然后重启mysql服务就可以了

一般出现乱码的话,基本就是这些原因了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6193483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存