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

2019-08-19 03:45栏目:网站首页

一. 列常用操作

① 增添新的一列test_column,并将其当做主键,FIEvoqueST将其放在表中首先行,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

      

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

① 修改钦定表的囤积引擎,假若原来是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;

增添字段的语法:alter table tablename add (column datatype [default value][null/not null],….);

修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….);

除去字段的语法:alter table tablename drop (column);

 

增加、修改、删除多列的话,用逗号隔断。

 

应用alter table 来充实、删除和改换二个列的事例。

 

创办表结构: create table test1 (id varchar2(20) not null);

 

追加三个字段:

alter table test1 add (name varchar2(30) default ‘无名氏’ not null);

 

使用三个SQL语句同一时候加上四个字段:

alter table test1 add (name varchar2(30) default ‘无名氏’ not null,

age integer default 22 not null,

has_money number(9,2)

);

 

修改四个字段

alter table test1 modify (name varchar2(16) default ‘unknown’);

 

另:比较正式的写法是:

-- Add/modify columns  alter table TABLE_NAME rename column FIELD_NAME to NEW_FIELD_NAME;

 

去除贰个字段

alter table test1 drop column name;

 

必要留心的是一旦某一列中曾经存在值,尽管您要修改的为比这几个值还要小的列宽那样将会合世贰个错误。

诸如前边若是大家插入一个值 insert into test1 values (’1′,’大家很爱您’);

然后曾修改列: alter table test1 modify (name varchar2(8)); 将会收获以下错误: EKugaROKuga 位于第 2 行: ORA-01441: 不能够减小列长度, 因为一些值过大


高等用法:

重命名表 ALTER TABLE table_name RENAME TO new_table_name;

 

修改列的称谓

语法: ALTER TABLE table_name RENAME COLUMN supplier_name to sname;

范例: alter table s_dept rename column age to age1;

 

附:创立带主键的表>>

create table student ( studentid int primary key not null, studentname varchar(8), age int);

 

1、创立表的还要制造主键约束 (1)无命名 create table student ( studentid int primary key not null, studentname varchar(8), age int); (2)有命名 create table students ( studentid int , studentname varchar(8), age int, constraint yy primary key(studentid));

2、删除表中已有的主键约束 (1)无命名 可用 SELECT * from user_cons_columns; 查找表中主键名称得student表中的主键名字为SYS_C002715 alter table student drop constraint SYS_C002715; (2)有命名 alter table students drop constraint yy;

3、向表中增添主键约束 alter table student add constraint pk_student primary key(studentid);

版权声明:本文由威尼斯人app发布于网站首页,转载请注明出处:MySQL添加列、删除列,创建主键等常用操作总结