来添加主键列,添加字段的语法

发布时间:2019-10-23  栏目:数据  评论:0 Comments

二. 针对表的多数操作

① 修改指定表的存储引擎,假设原本是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;

创建表结构:

一. 列常用操作


添加新的一列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

附:创建带主键的表>>

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

需要注意的是如果某一列中已经存在值,如果你要修改的为比这些值还要小的列宽这样将会出现一个错误。

例如前面如果我们插入一个值

ALTER TABLEtable_nameRENAME TOnew_table_name;

alter table student add constraint pk_student primary key(studentid);

增加一个字段:

studentid int primary key not null,

(id varchar2(20) not null);

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

(2)有命名

alter table s_dept rename column age to age1;

create table test1

将会得到以下错误:

修改列的名称

— Add/modify columns

has_money number(9,2)

age int);

alter table TABLE_NAME rename column FIELD_NAME to NEW_FIELD_NAME;

3、向表中添加主键约束

create table student (

alter table student drop constraint SYS_C002715;

age int);

modify (name varchar2(16) default ‘unknown’);

(1)无命名

然后曾修改列: alter table test1

values (’1′,’我们很爱你’);

);

constraint yy primary key(studentid));

ALTER TABLE table_name RENAME COLUMN supplier_name to sname;

语法:

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

alter table students drop constraint yy;

studentid int ,

ORA-01441: 无法减小列长度, 因为一些值过大

相关文章

留下评论

网站地图xml地图