方法如下:
我们先建一个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服务就可以了
一般出现乱码的话,基本就是这些原因了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)