Oracle的建立表和建立約束的Sql語句

2021-09-07 18:35:33 字數 3716 閱讀 6751

oracle的建立表和建立約束的sql語法

1、建立表的語句

--

-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

'班級資訊

', --

備註,預設班級資訊

);

2、建立約束的語句

--

--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);

注意:建立表還是約束,與sql server基本相同,注意:在oracle中default是乙個值,而sql server中default是乙個約束,

因此oracle的default設定可以在建表的時候建立或者通過modify函式建立

3、新增模擬的資料

--

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);

4、查詢模擬資料

select

*from

student;

select

*from stuclass;

4.1)查詢學生表資訊

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...