菜单

MySQL添加、删除主键的操作方法介绍

2018年12月17日 - MySQL

一. 列常用操作


添加新的同等列test_column,并拿这多少个用作主键,FIRST将这放在表中第一行,auto_increement是机关增长

alter table test_table add column test_column int not null auto_increment FIRST add primary key(test_column);

 

好以SQL语句“alter table ai3 add id0 int  auto_increment primary key
first;”来补加主键列。可以接纳SQL语句“alter table ai4 modify id int
auto_increment primary key;”来改预示键列。

② 删除列

 

alter table test_table drop column test_column;

③ 修改某同排的字段长度(例如当是30字节改为50字节长)

alter table test_table modify column test_column varchar(50);

④ 完全修改某同列(倘诺原本列名是test1_column,类型是int)

alter table test_table change column test1_column test_column varchar(30);


仅仅想更命名某平列(首先要了然当下同排列的品类,虽然原本是int且非也空,列名是error_name_column)

alter table test_table change column error_name_column test_column int not null;

mysql添加删除主键
操作是深基本的操作,上面就是拿使得而mysql添加删除主键的计,倘使你是正接触mysql数据库的新娘子,不妨一看。

二. 针对表的绝大多数操作

① 修改指定表的储存引擎,如果原本是MYISAM

alter table test_table engine=innodb;

② 删除指定表的主键

alter table test_table drop primary key;

此处来只状态要提议,假诺该主键列是活动增长(auto_increment)的,因为mysql要求机关增长列必须是索引,所以去主键也不怕去了主键索引,这是勿称mysql要求的,是无能为力实现的,会报错,必须先行去自动增长(通过改列属性),后去主键

③ 为指定表添加主键

alter table test_table add primary key(test_column);

④ 为指定表添加索引(普通索引),test_index是找引名

alter table test_table add index test_index(test_column);

⑤ 删除指定表索引

alter table test_table drop index test_index;

⑥ 重命名表

alter table test_table rename new_name_table;

 

 



 

 

一旦想在一个已建造好之表中添加同列,可以为此像:

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not
null;

立马长长的语句会向曾部分表中插足新的同样排列,这同样排于声明底末段一列地点。假如我们希望补加于指定的一律排,可以为此:

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not
null after COLUMN_NAME;

专注,下边这令的意是说补加新列到某某平排列后。假如想上加到第一排的语,可以据此:

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not
null first;

  修改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`)  www.2cto.com  

  ) 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;  www.2cto.com  

  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添加删除主键的计介绍。

 

 

 

作者 DouglasLau

http://www.bkjia.com/Mysql/489091.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/489091.htmlTechArticlemysql添加删除主键
操作是甚基本的操作,上面就是拿使而mysql添加删除主键的模式,要是您是刚刚接触mysql数据库的新娘,不妨一看。
修改…

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图