從數(shù)據(jù)庫用戶角度看,數(shù)據(jù)庫中的數(shù)據(jù)是以表、視圖等方式儲存的。那么用戶自己是怎么創(chuàng)建表的呢?簡單的有兩種方式,一種是用戶可以在Oracle提供的SQL*Plus中使用CREATE TABLE語句創(chuàng)建表,也可以通過OEM圖形化工具創(chuàng)建表。
公司主營業(yè)務(wù):成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出烏拉特后免費(fèi)做網(wǎng)站回饋大家。
工具/材料
電腦
Oracle 10g
CREATE TABLE創(chuàng)建表
01
首先用戶必須要有CREATE TABLE系統(tǒng)權(quán)限,并且只能在自己的模式中創(chuàng)建表,圖中的例子使用CREATE TABLE語句在當(dāng)前模式中創(chuàng)建了一個(gè)共有5列的表:表的名稱為employees,包含 emp_id, name, job,age,dep_id 等5列,后面的number、 varchar2、等為數(shù)據(jù)類型,括號里面為長度。
02
如果想要在其他模式中創(chuàng)建表,則必須在表名前加上模式名,并且用戶還要有CREATE ANY TABLE系統(tǒng)權(quán)限,例如圖中語句將在SYSTEM模式中創(chuàng)建employees1表
OEM創(chuàng)建表
01
在OEM主界面中選擇【管理】選項(xiàng)卡,進(jìn)入如圖所示的數(shù)據(jù)庫管理界面;然后在“數(shù)據(jù)庫對象”中單擊【表】選項(xiàng)。
02
系統(tǒng)進(jìn)入管理表界面,在該頁面中單擊【創(chuàng)建】按鈕,進(jìn)入如圖所示的“創(chuàng)建表的組織形式”界面。在該界面中用戶可以選擇創(chuàng)建的表類型---標(biāo)準(zhǔn)表、臨時(shí)表或索引表。
03
在選擇創(chuàng)建的表類型后,單擊【繼續(xù)】按鈕,進(jìn)入如圖所示的“創(chuàng)建表”界面。在“名稱”文本框中輸入要?jiǎng)?chuàng)建表的名稱。系統(tǒng)在“方案”文本框中顯示當(dāng)前模式,這表示新創(chuàng)建的表將屬于該模式。
04
在“創(chuàng)建表”頁面中選擇“約束條件”選項(xiàng)卡,進(jìn)入如圖所示的“表約束條件”頁面。該頁面中用戶可以為創(chuàng)建的表定義約束條件,包括主鍵約束(PRIMARY)、唯一約束(UNIQUE)、檢查約束(CHECK)和外鍵(FOREIGN)約束。
05
設(shè)置儲存參數(shù),選擇“儲存”選項(xiàng)卡,進(jìn)入如圖所示的儲存設(shè)置界面,最后保存表格,單機(jī)【確定】按鈕,系統(tǒng)會(huì)根據(jù)用戶對表的設(shè)置,創(chuàng)建一個(gè)新表。
表創(chuàng)建標(biāo)準(zhǔn)語法:
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr] , …);
--設(shè)計(jì)要求:建立一張用來存儲學(xué)生信息的表,表中的字段包含了學(xué)生的學(xué)號、姓名、年齡、入學(xué)日期、年級、班級、email等信息,
--并且為grade指定了默認(rèn)值為1,如果在插入數(shù)據(jù)時(shí)不指定grade得值,就代表是一年級的學(xué)生
--DML是不需要commit的,隱式事務(wù)
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)
);
-- 注意日期格式要轉(zhuǎn)換,不能是字符串,varchar2類型要用引號,否則出現(xiàn)類型匹配
--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;
-- 給表添加列,添加新列時(shí)不允許為not null,因?yàn)榕c舊值不兼容
alter table student add address varchar(100);
-- 刪除列
alter table student drop column address;
--修改列
alter table student modify(email varchar2(100));
正規(guī)表設(shè)計(jì)使用power disinger
--表的重命名
rename student to stu;
-- 表刪除
drop table stu;
**
在刪除表的時(shí)候,經(jīng)常會(huì)遇到多個(gè)表關(guān)聯(lián)的情況(外鍵),多個(gè)表關(guān)聯(lián)的時(shí)候不能隨意刪除,使用如下三種方式:
2.表的約束(constraint)
約束:創(chuàng)建表時(shí),指定的插入數(shù)據(jù)的一些規(guī)則
約束是在表上強(qiáng)制執(zhí)行的數(shù)據(jù)校驗(yàn)規(guī)則
Oracle 支持下面五類完整性約束:
1). NOT NULL 非空約束 ---- 插入數(shù)據(jù)時(shí)列值不能空
2). UNIQUE Key 唯一鍵約束 ----限定列唯一標(biāo)識,唯一鍵的列一般被用作索引
3). PRIMARY KEY 主鍵約束 ----唯一且非空,一張表最好有主鍵,唯一標(biāo)識一行記錄
4). FOREIGN KEY 外鍵約束---多個(gè)表間的關(guān)聯(lián)關(guān)系,一個(gè)表中的列值,依賴另一張表某主鍵或者唯一鍵
-- 插入部門編號為50的,部門表并沒有編號為50的,報(bào)錯(cuò)
insert into emp(empno,ename,deptno) values(9999,'hehe',50);
5). CHECK 自定義檢查約束---根據(jù)用戶需求去限定某些列的值,使用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)
);
-- 創(chuàng)建表時(shí)沒添加外鍵約束 也可以修改 其中fk_0001為外鍵名稱
alter table student add constraint fk_0001 foreign key(deptno) references dept(deptno);
索引創(chuàng)建有兩種方式:
組合索引:多個(gè)列組成的索引
--索引:加快數(shù)據(jù)剪碎
create index i_ename on emp(ename);
--當(dāng)創(chuàng)建某個(gè)字段索引后,查詢某個(gè)字段會(huì)自動(dòng)使用到索引
select * from emp where ename = 'SMITH';
--刪除索引 索引名稱也是唯一的
drop index i_ename;
一些概念:
回表:
覆蓋索引
組合索引
最左匹配
建表方法:
(1)在cmd里邊更具需要進(jìn)行創(chuàng)建
(2)在sql developer中進(jìn)行創(chuàng)建,而對于在可視化界面sqldeveloper中創(chuàng)建時(shí),也有兩種方式,即一種是使用命令直接進(jìn)行創(chuàng)建,另外一種是使用可視化界面按鈕進(jìn)行點(diǎn)擊創(chuàng)建
下面就是創(chuàng)建的具體過程:
(1)首先我們進(jìn)行數(shù)據(jù)的連接,在SQLdeveloper中進(jìn)行操作,在使用sqldeveloper時(shí)需要下載sqldeveloper,點(diǎn)擊此處可下載:下載sqldeveloper,下載安裝之后,打開sqldeveloper軟件,然后點(diǎn)擊左上角的綠色的“+”,就會(huì)彈出如下圖所示對話框,(在設(shè)置的時(shí)候首先需要對賬戶解鎖,首次登陸最好使用管理員已解鎖賬號進(jìn)行登錄,登錄方式與此類似)然后進(jìn)行設(shè)置
(2)在連接成功之后我們能夠看到如下所示界面
(3)開始創(chuàng)建表,我們進(jìn)行創(chuàng)建一個(gè)有關(guān)新聞信息的簡單表,其中包含信息如下所示:
(4)下面進(jìn)行表的創(chuàng)建:左鍵點(diǎn)擊要建表的數(shù)據(jù)庫連接名打開,在“表(已過濾)”選項(xiàng)進(jìn)行右鍵單擊選擇“新建表”,然后出現(xiàn)新建表對話框,具體步驟如下圖所示:
(5)接著在彈出的對話框中進(jìn)行設(shè)置表格式,具體步驟如下所示,對于需要添加字符的字段雙擊修改即可,然后進(jìn)行保存:
(6)保存完之后,可在右側(cè)看到如下所示表樣:
(7)接這就讓我們來進(jìn)行數(shù)據(jù)的插入,如下代碼所示:Insert into newmessage values( 1,1,1,1,'蘇姑娘的新聞管理系統(tǒng)網(wǎng)站開始運(yùn)營了','今天是公歷2016年5月16日,星期一,蘇姑娘的網(wǎng)站正式開始運(yùn)營,其中,豐富的題材將是本網(wǎng)站的亮點(diǎn)', '含有很多好文章','蘇姑娘','蘇姑娘','admin',1,'2016年5月16日星期一',100,1,1);select * from newmessage; 插入后界面如下所示:
當(dāng)前文章:oracle創(chuàng)建表怎么用,oracle數(shù)據(jù)庫怎么創(chuàng)建表
新聞來源:http://muchs.cn/article6/phidog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、動(dòng)態(tài)網(wǎng)站、外貿(mào)建站、網(wǎng)站內(nèi)鏈、定制開發(fā)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)