MySQL添加删除主键的方法

2010-10-15 13:34:17来源:作者:

mysql添加删除主键操作是非常基本的操作,下面就将教您mysql添加删除主键的方法,如果您是刚刚接触mysql数据库的新人,不妨一看。

mysql添加删除主键操作是非常基本的操作,下面就将教您mysql添加删除主键的方法,如果您是刚刚接触mysql数据库的新人,不妨一看。

修改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;//删除主建

以上就是mysql添加删除主键的方法介绍。

关键词:MySQL