表創建標準語法:
我們提供的服務有:網站設計制作、成都做網站、微信公眾號開發、網站優化、網站認證、張家川回族自治ssl等。為上1000+企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的張家川回族自治網站制作公司
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr] , …);
--設計要求:建立一張用來存儲學生信息的表,表中的字段包含了學生的學號、姓名、年齡、入學日期、年級、班級、email等信息,
--并且為grade指定了默認值為1,如果在插入數據時不指定grade得值,就代表是一年級的學生
--DML是不需要commit的,隱式事務
create table student
(
stu_id number(10),
name varchar2(20),
age number(2),
hiredate date,
grade varchar2(10) default 1,
classes varchar2(10),
email varchar2(50)
);
-- 注意日期格式要轉換,不能是字符串,varchar2類型要用引號,否則出現類型匹配
--DML 需要收到commit
insert into student values(20211114,'zhangsan',22,to_date('2021-11-14','YYYY-MM-DD'),'2','1',' 123@qq.com ');
insert into student(stu_id,name,age,hiredate,classes,email) values(20211114,'zhangsan',22,to_date('2021-11-14','YYYY-MM-DD'),'1',' 1234@qq.com ');
select * from student;
-- 給表添加列,添加新列時不允許為not null,因為與舊值不兼容
alter table student add address varchar(100);
-- 刪除列
alter table student drop column address;
--修改列
alter table student modify(email varchar2(100));
正規表設計使用power disinger
--表的重命名
rename student to stu;
-- 表刪除
drop table stu;
**
在刪除表的時候,經常會遇到多個表關聯的情況(外鍵),多個表關聯的時候不能隨意刪除,使用如下三種方式:
2.表的約束(constraint)
約束:創建表時,指定的插入數據的一些規則
約束是在表上強制執行的數據校驗規則
Oracle 支持下面五類完整性約束:
1). NOT NULL 非空約束 ---- 插入數據時列值不能空
2). UNIQUE Key 唯一鍵約束 ----限定列唯一標識,唯一鍵的列一般被用作索引
3). PRIMARY KEY 主鍵約束 ----唯一且非空,一張表最好有主鍵,唯一標識一行記錄
4). FOREIGN KEY 外鍵約束---多個表間的關聯關系,一個表中的列值,依賴另一張表某主鍵或者唯一鍵
-- 插入部門編號為50的,部門表并沒有編號為50的,報錯
insert into emp(empno,ename,deptno) values(9999,'hehe',50);
5). CHECK 自定義檢查約束---根據用戶需求去限定某些列的值,使用check約束
-- 添加主鍵約束/not null約束/check約束/唯一鍵約束
create table student
(
stu_id number(10) primary key,
name varchar2(20) not null,
age number(3) check(age0 and age126),
hiredate date,
grade varchar2(10) default 1,
classes varchar2(10),
email varchar2(50) unique,
deptno number(2),
);
-- 添加外鍵約束
create table stu
(
stu_id number(10) primary key,
name varchar2(20) not null,
age number(3) check(age0 and age126),
hiredate date,
grade varchar2(10) default 1,
classes varchar2(10),
email varchar2(50) unique,
deptno number(2),
FOREIGN KEY(deptno) references dept(deptno)
);
-- 創建表時沒添加外鍵約束 也可以修改 其中fk_0001為外鍵名稱
alter table student add constraint fk_0001 foreign key(deptno) references dept(deptno);
索引創建有兩種方式:
組合索引:多個列組成的索引
--索引:加快數據剪碎
create index i_ename on emp(ename);
--當創建某個字段索引后,查詢某個字段會自動使用到索引
select * from emp where ename = 'SMITH';
--刪除索引 索引名稱也是唯一的
drop index i_ename;
一些概念:
回表:
覆蓋索引
組合索引
最左匹配
創建表結構:
向表中添加主鍵約束
向表中添加Sequences
添加字段的語法:
修改字段的語法:
刪除字段的語法:
添加、修改、刪除多列的話,用逗號隔開。
添加約束語句格式:\x0d\x0aalter table 表名 add constraint 主鍵約束名 primary key(主鍵列名表序列);\x0d\x0a如:\x0d\x0aalter table 修課表 add constraint pk_xh_kc primary key(學號,課程號);\x0d\x0a\x0d\x0a刪除約束語句格式:\x0d\x0aalter table 表名 drop CONSTRAINT 主鍵約束名;\x0d\x0a如:\x0d\x0aalter table 修課表 drop CONSTRAINT pk_xh_kc;
工具/材料
SQL Developer
01
首先打開SQL Developer軟件,找一個沒有主鍵約束的表,如下圖所示
02
然后我們新建一個查詢,在界面中輸入如下的約束修改語句,如下圖所示,主要通過add constranint來添加約束
03
編寫完約束添加語句以后,點擊工具欄中的執行按鈕,如下圖所示,如果輸出欄顯示已變更則證明主鍵約束創建成果
04
然后我們進入STUDENT表的約束添加頁中可以看到,我們加的主鍵約束已經添加進去了,如下圖所示
05
另外,創建表的時候可以直接添加主鍵約束,如下圖所示,直接在表創建語句中添加constraint即可
06
表創建完以后,記得在左側刷新數據庫信息,如下圖所示,因為你創建的信息不刷新的話不會更新
07
最后打開你所創建的表,看到你添加的主鍵約束已經加入進來了,這種方式的效果alter的方式是一樣的
分享文章:oracle如何增加約束 oracle禁用約束
當前鏈接:http://vcdvsql.cn/article4/hiooie.html
成都網站建設公司_創新互聯,為您提供企業網站制作、虛擬主機、定制網站、、商城網站、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯