更改表的结构
1.
编辑表的字段
修改一个列的数据类型
(
一般限于修改长度,修改为一个不同类型时有诸多限制):
语法:
ALTER TABLE
表名 MODIFY(
列名,
数据类型);
eg1:
alter table skate_test modify (author number(10,0) )
在修改列的长度时候,
只能编辑比现有字段实际存的长度还要大,
否则提示下面的错误:
ORA-01441:
无法减小列长度,
因为一些值过大
eg2:
alter table skate_test modify (author varchar2(10) )
在修改列的数据类型的时候,
所修改的列必须为空,
否则提示下面的错误:
ORA-01439:
要更改数据类型,
则要修改的列必须为空
2.
增加一个列
语法:
ALTER TABLE
表名 ADD(
列名,
数据类型);
eg1
:
ALTER TABLE skate_test ADD(author NUMBER(38,0) not null);
3.
给列改名
:
语法:
ALTER TABLE
表名 RENAME COLUMN
当前列名 TO
新列名;
eg1
:
ALTER TABLE skate_test RENAME COLUMN author TO authorer_new
4.
删除一个列
语法:
ALTER TABLE
表名 DROP COLUMN
列名;
eg1
:
alter table skate_test drop column author
5.
将一个表改名
语法:
ALTER TABLE
当前表名 RENAME TO
新表名;
eg1
:
alter table skate_test rename to test_sakte
5.
给表加注释
comment column on
表名.
列名 is '
注释内容'; //
修改表的列的注释
COMMENT ON TABLE MOVO_NEW.TEST_SAKTE IS '注释内容'; //修改表的注释
Oracle
约束基本语法
主键约束的添加-->
方法一:Create table
表名(
字段1
字段1
类型 Primary Key,
字段2
字段2
类型,..
字段N
字段N
类型);
Create table UserInfo(UserID
varchar2(20)
Primary Key
,UserPassWord varchar(20),StateID number);
方法二: Alter table
表名 add constraint
约束名 Primary Key(
字段1);
Create table UserInfo(UserID
varchar2(20),UserPassWord varchar(20),StateID number);
Alter table
UserInfo
add
constraint
PK_UserInfo
Primary Key
(UserID);
外键约束的添加-->
方法一:Create table
表名(
字段1
字段1
类型,
字段2
字段2
类型 constraint
约束名 references
外键表名(
外键),..
字段N
字段N
类型);
Create table UserInfo(UserID
varchar2(20),UserPassWord varchar(20),StateID number
constraint
FK_UserInfoState
references
State(StateID));
(
注:在此之前我们必须先创建好State
表)-
Create table State (StateID
number primary key,StateName varchar2(20));
方法二:
Alter table
外键表
add constraint
约束名
Foreign Key(
外键表中的外键)
references
主键表名(
主键表中的主键);
Create table UserInfo(UserID varchar2(20)
Primary Key
,UserPassWord
varchar2(20),StateID number);
Create table
State (StateID number primary key,StateName varchar2(20));
Alter table
UserInfo
add constraint
FK_UserInfoState
Foreign Key
(StateID)
references
State(StateID);
非空约束的添加-->
方法一:Create table
表名(
字段1
字段1
类型,
字段2
字段2
类型 constraint
约束名 not null,..
字段N
字段N
类型);
Create table UserInfo(UserID
varchar2(20),UserPassWord varchar2(20)
constraint N_UserPassWord not null
,StateID number);
方法二:Alter table
表名 modify (
字段名 not null);
Create table UserInfo(UserID
varchar2(20),UserPassWord varchar2(20),StateID number);
Alter table
UserInfo
modify
(UserPassWord not null);
唯一约束的添加-->
方法一:Create table
表名(
字段1
字段类型1
,字段2
字段类型2
constraint
约束名
Unique
,字段n
字段类型n);
Create table dog(dogid number,dogName
varchar2(20)
constraint
Un_dogName
Unique
);
方法二:Alter table
表名 add constraint
约束名 Unique(
被约束字段);
Create table dog(dogid number,dogName
varchar2(20));
Alter table
dog add
constraid Un_dogName
Unique
(dogName);
检查约束的添加-->
方法一:Create table
表名(
列名1
列名1
类型 constraint
约束名 Check(
表达式),
列名2
列名2
类型,列名N
列名N
类型);
Create table pig(pigID number constraint
CK_pigID Check(PigID >=0),pigName varchar2(20));
方法二:Alter table
表名 add constraint
约束名 Check(
表达式);
Create table pig(pigId number,pigName
varchar2(20));
Alter table
pig add
constraint
CK_pigID
Check
(pigID >= 0);
Alter table
pig add
constraint
CK_sex
Check
(sex in (
‘
男
’
,
’
女
’
));
<
约束删除语句:Alter table
表名 drop constraint
约束名>
Alter table pig drop constraint CK_pigID;
|