首页 > 代码库 > Sql--列操作

Sql--列操作

Oracle的列操作(增加列,修改列,删除列),包括操作多列

增加一列:

   alter table emp4 add test varchar2(10);

修改一列:

   alter table emp4 modify test varchar2(20);

删除一列:

alter table emp4 drop column test;

 

  这里要注意几个地方,首先,增加和修改列是不需要加关键字COLUMN,否则会报错ora-00905。

  其次,对删除单列的话,一定要加COLUMN,然后记住,删除是不需要加列类型的。

 

增加多列:

   alter table emp4 add (test varchar2(10),test2 number);

修改多列:

   alter table emp4 modify (test varchar2(20),test2 varchar2(20));

删除多列:

   alter table emp4 drop (test,test2);

很奇怪的现象,再单列中要加关键字COLUMN,然而再删除多列的时候,不能加COLUMN关键字。

 

 

 

 

MySQL 添加列,修改列,删除列

ALTER TABLE:添加,修改,删除表的列,约束等表的定义。

    查看列:desc 表名;
    修改表名:alter table t_book rename to bbb;
    添加列:alter table 表名 add column 列名 varchar(30);
    删除列:alter table 表名 drop column 列名;
    修改列名MySQL: alter table bbb change nnnnn hh int;
    修改列名SQLServer:exec sp_rename‘t_student.name‘,‘nn‘,‘column‘;
    修改列名Oracle:lter table bbb rename column nnnnn to hh int;
    修改列属性:alter table t_book modify name varchar(22);

  如果想在一个已经建好的表中添加一列,可以用诸如:
  alter table t1 add column addr varchar(20) not null;
  这条语句会向已有的表t1中加入一列addr,这一列在表的最后一列位置。如果我们希望添加在指定的一列,可以用:
  alter table t1 add column addr varchar(20) not null after user1;
  注意,上面这个命令的意思是说添加addr列到user1这一列后面。如果想添加到第一列的话,可以用:
  alter table t1 add column addr varchar(20) not null first;
  


sp_rename:SQLServer 内置的存储过程,用与修改表的定义。





MySQL 查看约束,添加约束,删除约束 添加列,修改列,删除列

    查看表的字段信息:desc 表名;
    查看表的所有信息:show create table 表名;
    添加主键约束:alter table 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
    添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
    删除主键约束:alter table 表名 drop primary key;
    删除外键约束:alter table 表名 drop foreign key 外键(区分大小写);

    修改表名:alter table t_book rename to bbb;
    添加列:alter table 表名 add column 列名 varchar(30);
    删除列:alter table 表名 drop column 列名;
    修改列名MySQL: alter table bbb change nnnnn hh int;
    修改列名SQLServer:exec sp_rename‘t_student.name‘,‘nn‘,‘column‘;
    修改列名Oracle:alter table bbb rename column nnnnn to hh int;
    修改列属性:alter table t_book modify name varchar(22);

sp_rename:SQLServer 内置的存储过程,用与修改表的定义。

Sql--列操作