MySQL添加列、删除列,创立主键等常用操作总计

发布时间:2018-12-15  栏目:MySQL  评论:0 Comments

一. 列常用操作


添加新的同样列test_column,并将那多少个当作主键,FIRST将这放在表中首先履行,auto_increement是全自动增长

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

 

得利用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;
  • 1

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

alter table test_table modify column test_column varchar(50);
  • 1

④ 完全修改某一样列(假若原本列名是test1_column,类型是int)

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


仅仅想再次命名某一样列(首先需通晓当下同排列的型,尽管原本是int且未为空,列名是error_name_column)

alter table test_table change column error_name_column test_column int not null;
  • 1

mysql添加删除主键
操作是那多少个基本的操作,下边就是以使得你mysql添加删除主键的主意,假如您是正接触mysql数据库的新娘,不妨一看。

二. 针对表的大多数操作

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

alter table test_table engine=innodb;
  • 1

② 删除指定表的主键

alter table test_table drop primary key;
  • 1

此处来只状态要指出,假若该主键列是机关增长(auto_increment)的,因为mysql要求机关增长列必须是索引,所以去主键也便去了主键索引,这是不适合mysql要求的,是力不从心实现之,会报错,必须优先去自动增长(通过改列属性),后去主键

③ 为指定表添加主键

alter table test_table add primary key(test_column);
  • 1

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

alter table test_table add index test_index(test_column);
  • 1

⑤ 删除指定表索引

alter table test_table drop index test_index;
  • 1

⑥ 重命名表

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地图