Oracle的创建表和创建约束的Sql语句
生活随笔
收集整理的這篇文章主要介紹了
Oracle的创建表和创建约束的Sql语句
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Oracle的創建表和創建約束的Sql語法
1、創建表的語句
---1、創建模擬的數據表 ---
--1.1.創建學生表Student
create table Student(
StuId NUMBER NOT NULL, --學生ID
StuName VARCHAR2(10) NOT NULL, --名稱
Gender VARCHAR2(10)NOT NULL, -- 性別
Age NUMBER(2) NOT NULL, -- 年齡
JoinDate DATE NULL, --入學時間
ClassId NUMBER NOT NULL, --班級ID
Address VARCHAR2(50) NULL --家庭住址
);
--1.2、創建班級表StuClass
create table StuClass(
classId NUMBER not null, -- 班級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>=0 and 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的创建表和创建约束的Sql语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CRM Fiori offline技术实
- 下一篇: CRM Fiori:Complex no