本文共 3162 字,大约阅读时间需要 10 分钟。
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
1)如需在表中添加列(不能为非空约束),请使用下列语法:需要注意的是添加字段的时候 ADD 后面没有COLUMN 关键字
ALTER TABLE table_name ADD column_name datatype;ALTER TABLE Persons ADD Adress varchar(255) NULL;
2)要删除表中的列,请使用下列语法:需要注意DROP 关键字后面有COLUMN 关键字
ALTER TABLE table_name DROP COLUMN column_name;ALTER TABLE Persons DROP COLUMN Adress ;
3)要改变表中列的数据类型,请使用下列语法:
ALTER TABLE table_name ALTER COLUMN column_name datatype;ALTER TABLE Persons ALTER COLUMN Adress int NULL;
4)给已创建的表添加约束:
添加约束有两种方式,一种是创建约束,并给创建的约束定义一个名字。这样可以再次进行操作。另一种就是直接创建约束,不命名,但是再次操作时候不方便。 第一种:ALTER TABLE table_name ADD CONSTRAINT 约束名 约束类型(column_name);ALTER TABLE Persons ADD CONSTRAINT uq__Persons__1022 unique(ID);ALTER TABLE Persons ADD CONSTRAINT df_name_ID default 3 for c_ID;ALTER TABLE Persons ADD CONSTRAINT ck_name_ID (ID>0);
第二种:
ALTER TABLE table_name ADD 约束类型(column_name);ALTER TABLE Persons ADD unique(ID);
5)删除约束
ALTER TABLE table_name DROP CONSTRAINT constr_name;ALTER TABLE table_name DROP CONSTRAINT pk_name_ID;ALTER TABLE table_name DROP CONSTRAINT ck_name_ID;
1)增加列
ALTER TABLE table_name ADD column_name datatype;ALTER TABLE table_name ADD column column_name datatype;//这条语句向已有的表中加入新的一列,这一列在表的最后一列位置。如果希望添加在指定的一列,可以用:ALTER TABLE table_name ADD column new_column_name datatype after column_name ;//如果想添加到第一列,可以用:ALTER TABLE table_name ADD column new_column_name datatype first;
2)删除列
ALTER TABLE table_name DROP column_name;
3)要改变表中列的数据类型,请使用下列语法:
//mysql修改字段类型:ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;//修改字段名:ALTER TABLE table_name CHANGE
4)给已创建的表添加约束:
ALTER TABLE Persons ADD PRIMARY KEY(ID);-- 通过修改列定义添加或者添加主键,修改约束一般是先删掉原有的后重新添加ALTER TABLE Persons MODIFY ID INT(10) PRIMARY KEY;ALTER TABLE Persons ADD CONSTRAINT GNAME_UNI UNIQUE KEY(ID);/*如果没有用CONSTRAINT设置约束名 系统会自动生成*/ -- 同理可用MODIFY COLUMN及CHANGE COLUMN方法添加ALTER TABLE Persons ADD FOREIGN KEY(c_ID) REFERENCES goods(c_ID);-- 非空约束以及自增约束:在定义时设置,或者通过MODIFY COLUMN 和 CHANGGE COLUMN设置及删除-- 一张表只能有一个自增长列,并且该列必须定义了约束(可以是主键约束,也可以是唯一约束,也可以是外键约束,但是不可以是非空和检查约束)
5)删除约束
语法:ALTER TABLE tab_name DROP PRIMARY KEY;/*主键是唯一的就这样就行了*/语法:ALTER TABLE tab_name DROP [INDEX | KEY] index_name_ID /*删除唯一性约束*/语法:ALTER TABLE tab_name DROP FOREIGN KEY fk_name_ID/*删除外键约束*/
1)添加字段:
alter table tablename modify (column datatype [default value][null/not null],....); alter table tablename add (字段名 number(2),字段名 varchar2(13));
2)删除字段的语法:
alter table tablename drop column column_name;
3)更改列属性
--更改列属性ALTER TABLE Student modify city number(2);--更改默认值ALTER TABLE Student modify sex default 1;--增加表主键ALTER TABLE Student add constraint stu_pk primary key(student_id);--增加表外键ALTER TABLE Student add constraint stu_refforeign key(school) references school(schoolid);--更改非空约束ALTER TABLE Student modify sname not null;--增加检查约束ALTER TABLE Student add constraint check_stu_age check (age>10);--增加唯一性ALTER TABLE Student add constraint uqe_phone unique (phone);--删除约束ALTER TABLE Student drop constraint uqe_phone;--约束失效ALTER TABLE Student disable constraint uqe_phone;--约束复效ALTER TABLE Student enable constraint uqe_phone;--修改表名ALTER TABLE Student RENAME TO Student2--修改表列名ALTER TABLE Student RENAME COLUMN phone TO phoneno
转载地址:http://cushn.baihongyu.com/