增加表字段
-- 增加一列
alter table [table_name] add [column_name] varchar(10) comment '说明';
-- 增加多列
alter table [table_name] add columns ([column_name] varchar(20) comment '说明',[column_name] varchar(20) comment '说明');
如果想在一个已经建好的表中添加一列,可以用诸如:
-- 这条语句会向已有的表t1中加入一列addr,这一列在表的最后一列位置。
alter table t1 add column addr varchar(20) not null;
如果我们希望添加在指定的一列,可以用:
-- 添加addr列到user1这一列后面
alter table t1 add column addr varchar(20) not null after user1;
如果想添加到第一列的话,可以用:
-- 添加到第一列
alter table t1 add column addr varchar(20) not null first;
修改表字段
-- 修改一列
alter table emp4 modify test varchar(20);
-- 修改多列
alter table emp4 modify (test varchar(20),test2 varchar(20));
注意
增加和修改列是不需要加关键字COLUMN,否则会报错ora-00905。
对删除单列的话,一定要加COLUMN,然后记住,删除是不需要加列类型的。
删除表字段
-- 删除一列
ALTER TABLE table_name DROP column_name;
-- 删除多列
ALTER TABLE table_name DROP (column_name_1, column_name_2,...);
-- 如果要删除的列具有
-- CHECK约束,则必须先删除该约束,然后再删除该列。 此外,SQL Server不允许删除具有
-- PRIMARY KEY或
-- FOREIGN KEY约束的列。
-- 删除CHECK约束:
ALTER TABLE table_name DROP CONSTRAINT ck_positive_price;
-- 删除表分区
-- alter table [table_name] drop if exists partition ([分区字段] = '20220317');
注意:
很奇怪的现象,再单列中要加关键字COLUMN,然而再删除多列的时候,不能加COLUMN关键字。
删除表
DROP table [table_name];
TRUNCATE table [table_name];
delete FROM [table_name] WHERE [column_name] = '条件' ORDER BY [column_name] DESC LIMIT 6;
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 表名 add constraint 主键 (形如:PK_表名) primary key 表名(主键字段);
添加外键约束:alter table 从表 add constraint 外键(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
删除主键约束:alter table 表名 drop primary key;
删除外键约束:alter table 表名 drop foreign key 外键(区分大小写);