mysql修改表的方法

修改mysql默认字符集的方法

(1) 最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,

如 default-character-set = utf8
character_set_server = utf8

修改完后,重启mysql的服务,service mysql restart

使用 mysql> SHOW VARIABLES LIKE ‘character%’;查看,发现数据库编码均已改成utf8

(2) 还有一种修改mysql默认字符集的方法,就是使用mysql的命令

mysql> SET character_set_client = utf8 ;  
mysql> SET character_set_connection = utf8 ;  
mysql> SET character_set_database = utf8 ;  
mysql> SET character_set_results = utf8 ;   
mysql> SET character_set_server = utf8 ;  
mysql> SET collation_connection = utf8 ; 
mysql> SET collation_database = utf8 ;  
mysql> SET collation_server = utf8 ; 

一般就算设置了表的mysql默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:

SET NAMES 'utf8';  

它相当于下面的三句指令:

SET character_set_client = utf8;  
SET character_set_results = utf8;   
SET character_set_connection = utf8; 

修改表结构

添加列

/*	修改表结构:表创建好之后,对表的结构进行修改(修改字段,添加字段,删除字段...)
	格式:
		alter(修改) table(表) 表名...;
	修改表结构:添加列,使用关键字add(添加)
	格式:
		alter table 表名 add 字段名 数据类型(长度) [约束];
*/
-- 给category表中添加一个字段age,类型int,添加一个非空约束
ALTER TABLE category ADD age INT NOT NULL;

修改列

/*
	修改表结构:修改列的类型长度及约束,使用关键字modify(改变,修改)
	格式:
		alter table 表名 modify 字段名 新的数据类型(长度) [约束];
	注意:
			列中如果有数据,修改数据类型可能会报错varchar-->int
*/
-- 修改category表中age字段,类型修改为varchar(2),去掉非空约束
ALTER TABLE category MODIFY age VARCHAR(2);

修改列名

/*
	修改表结构:修改列名(同时可以把列的数据类型和约束一起进行修改),使用关键字change(改变)
	格式:
		alter table 表名 change 旧列名 新列名 数据类型(长度) [约束];
*/
-- 修改category表中age字段,字段名修改descr,类型varchar(50),添加非空约束
ALTER TABLE category CHANGE age descr VARCHAR(50) NOT NULL;

删除列

/*
	修改表结构:删除列,使用关键字drop
	格式:
		alter table 表名 drop 列名;
*/
-- 删除category表中descr字段
ALTER TABLE category DROP descr;
-- 删除外键
ALTER TABLE articles DROP FOREIGN KEY articles_ibfk_1;

修改表名

/*
	修改表名
	格式:
		rename table 旧表名 to 新表名;
*/
-- 修改category表名为fenlei
RENAME TABLE category TO fenlei;

修改表的字符集

/*
	修改表结构:修改表的字符集
	格式:
		alter table 表名 character set 新的字符集;
	注意:
			表中如果有数据,修改字符集,容易产生乱码utf8--gbk
*/
-- 把fenlei表的字符集修改为gbk
ALTER TABLE fenlei CHARACTER SET gbk;

修改外键

语法:
alter table 从表 add [constraint][外键名称] foreign key (从表外键字段名) references 主表 (主表的主键);

[外键名称]用于删除外键约束的,一般建议“_fk”结尾
alter table 从表 drop foreign key 外键名称
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值