转发生龙活虎篇相比较健全的,创造主键等常用操作计算

生机勃勃. 列常用操作


增多新的一列test_column,并将其视作主键,FI昂CoraST将其放在表中率先行,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

Oracle
扩大校订删除字段

二. 针对表的非常多操作

① 改正钦命表的囤积引擎,倘若原来是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_997755.com澳门葡京 ,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));

将会博得以下错误:

ERROR 位于第 2 行:

ORA-01441: 无法减小列长度, 因为有个别值过大


高端用法:

重命名表

ALTER TABLEtable_nameRENAME TOnew_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);

相关文章

发表评论

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

*
*
Website