oracle的建立表和建立約束的sql語法
1、建立表的語句
--2、建立約束的語句-1、建立模擬的資料表 ---
--1.1.建立學生表student
create
table
student(
stuid
number
notnull, --
學生id
stuname varchar2(10) not
null, --
名稱 gender varchar2(10)not
null, --
性別 age number(2) not
null, --
年齡
joindate date null, --
入學時間
classid number
notnull, --
班級id
address varchar2(50) null
--家庭住址
);
--1.2、建立班級表stuclass
create
table
stuclass(
classid
number
notnull, --
班級id
classname varchar2(20) not
null, --
班級名稱
notes varchar2(50) null
default
'班級資訊
', --
備註,預設班級資訊
);
--注意:建立表還是約束,與sql server基本相同,注意:在oracle中default是乙個值,而sql server中default是乙個約束,--2、建立資料表的約束---
--2.1)建立主鍵約束--
alter
table student add
constraint pk_student_stuid primary
key(stuid);
alter
table stuclass add
constraint pk_stuclass_classid primary
key(classid);
--2.2) 建立檢查約束--
alter
table student add
constraint ck_student_gender check(gender='男
'or gender='女
');alter
table student add
constraint ck_student_age check(age>=
0and age<=
100);
--2.3)建立唯一約束--
alter
table student add
constraint uq_student_stuname unique
(stuname);
--2.4)建立預設約束--
--alter table student add constraint df_student_address default('位址不詳');
alter
table student modify address varchar(50) default
'位址不詳';
alter
table student modify joindate date default
sysdate;
--2.5)建立外來鍵約束--
alter
table student add
constraint
fk_student_stuclass_classid
foreign
key(classid) references stuclass(classid);
因此oracle的default設定可以在建表的時候建立或者通過modify函式建立
3、新增模擬的資料
--4、查詢模擬資料3、新增模擬的資料--
--3.1)新增班級資訊
insert
into stuclass(classid,classname) values(1,'一班'
);
insert
into stuclass(classid,classname) values(2,'二班'
);
insert
into stuclass(classid,classname) values(3,'三班'
);
--3.2)新增學生資訊
insert
into
student(stuid,stuname,gender,age,classid)
values(1,'
關羽','
男',17,1
);
insert
into
student(stuid,stuname,gender,age,classid)
values(2,'
張飛','
男',16,2
);
insert
into
student(stuid,stuname,gender,age,classid)
values(3,'
劉備','
男',18,3);
select4.1)查詢學生表資訊*from
student;
select
*from stuclass;
4.2)查詢班級表資訊
5、驗證資料表約束
5.1)驗證student表的stuname是否唯一(唯一約束)
--結果是插入相同名稱--
insert
into
student(stuid,stuname,gender,age,classid)
values(5,'
關羽','
男',18,1);
5.2)驗證student表gender的檢查約束
--結果是新增性別為未知的資料--
insert
into
student(stuid,stuname,gender,age,classid)
values(4,'
曹操','
未知',18,1);
其它就不一樣驗證了
oracle建立表 約束
圖書資訊表 圖書編號,圖書名稱,出版社,出版日期,圖書 圖書作者,借出標識,讀者編號,描述 主鍵 constraint pk name primary key 外來鍵 constraint fk name foreign key column name reference table name co...
Oracle的表建立和約束
oracle建立表同sql server一樣,使用create table命令來完成。建立約束則使用如下命令 語法格式 altertable命令 alter table 表名add constraint d4 約束名約束內容。不論建立表還是約束,與sql server基本相同,注意 在oracle中...
Oracle建立約束 刪除約束
1.定義not null 約束not null 約束只能在列級定義,不能在表級定義 例 create table emp01 eno int not null,name varchar2 10 constraint nn name2 not null,salary number 6,2 2.定義un...