关闭

mysql的一些操作

650人阅读 评论(0) 收藏 举报

 

修改mysql的字符集:
在安装mysql5.0时可以设置好mysql的字符集,一般使用utf8的字符集
 
1查看建立表“tablename”的sql语句
Show create table tablename;//查看建立表“tablename”的sql语句

| maos_mail_batch | CREATE TABLE `maos_mail_batch` (
 `ID` varchar(32) character set latin1 NOT NULL,
 `BATCH_TIME` varchar(30) character set latin1 NOT NULL,
 `BATCH_INTRODUCE` varchar(2000) character set latin1 default NULL,
 `BATCH_SUM` int(11) default NULL,
 `BATCH_STATE` varchar(1) character set latin1 default NULL,
 PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

 
2修改数据库和表的字符集
alter database maildb default character set utf8;//修改数据库的字符集
alter table mailtable default character set utf8;//修改表的字符集
 
如果您想要把表默认的字符集和所有字符列(CHAR, VARCHAR, TEXT)改为新的字符集,应使用如下语句:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
警告:前面的操作转换了字符集之间的列类型。如果您有一列使用一种字符集(如latin1),但是存储的值实际上使用了其它的字符集(如utf8),这种情况不是您想要的。此时,您必须对这样的列进行以下操作。
ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;
这种方法能够实现此功能的原因是,当您转换到BLOB列或从BLOB列转换过来时,并没有发生转换。
 
3 mysql的主键问题:
Mysql的两种主键。Primary key 和not null auto_incriment
在建立mysql表时,给一个字段添加了主键primary key
在insert数据时可以不用insert主键,mysql会自动添加0,但是在第二次insert时没有填写值mysql数据库还是默认添加0,会导致有重复的主键,这是不可以的。所有在定义了primary key时,在insert数据时要给主键填写值。
在建立mysql表时,给一个字段添加了主键not null auto_increment=1;
这也是一个主键。时自增长的以1为开始。这个字段是可以不用填写值的,mysql数据库会自动给填写值,不会出现primary key的状况。
Alter table tb add primary key(id);
Alter table tb change id id int(10) not null auto_increment=1;
 
4 删除自增长的主键id
先删除自增长在删除主键
Alter table tb change id id int(10);//删除自增长
Alter table tb drop primary key;//删除主建
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:225992次
    • 积分:1253
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:6篇
    • 译文:0篇
    • 评论:26条
    文章存档
    最新评论
    sohu