溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

oracle表的管理方式

發(fā)布時間:2021-09-14 10:58:32 來源:億速云 閱讀:152 作者:chen 欄目:數(shù)據(jù)庫

本篇內(nèi)容主要講解“oracle表的管理方式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“oracle表的管理方式”吧!

oracle 支持的數(shù)據(jù)類型? 
字符類 
char       定長 最大 2000 個字符。  
Oracle  筆記
5
例子:char(10)   ‘小韓’前四個字符放‘小韓’,后添 6 個空格補全 如‘小韓   ’ 
varchar2(20)   變長   最大 4000 個字符。 
例子:varchar2(10) ‘小韓’ oracle 分配四個字符。這樣可以節(jié)省空間。 
clob(character large object) 字符型大對象 最大 4G 
char 查詢的速度極快浪費空間,查詢比較多的數(shù)據(jù)用。 
varchar 節(jié)省空間 
數(shù)字型 
number 范圍 -10 的 38 次方 到 10 的 38 次方 
可以表示整數(shù),也可以表示小數(shù) 
number(5,2) 
表示一位小數(shù)有 5 位有效數(shù),2 位小數(shù) 
范圍:-999.99 到 999.99 
number(5) 
表示一個 5 位整數(shù) 
范圍 99999 到-99999 
日期類型 
date 包含年月日和時分秒     oracle 默認(rèn)格式   1-1 月-1999 
timestamp 這是 oracle9i 對 date 數(shù)據(jù)類型的擴展??梢跃_到毫秒。 
? 圖片 
blob 二進制數(shù)據(jù) 可以存放圖片/聲音   4G     一般來講,在真實項目中是不會把圖片和聲音真的往數(shù)據(jù)庫里存放,一般存放
圖片、視頻的路徑,如果安全需要比較高的話,則放入數(shù)據(jù)庫。 
怎樣創(chuàng)建表 
建表 
--學(xué)生表 
create table student (       ---表名
xh             number(4),     --學(xué)號
xm       varchar2(20),     --姓名
sex           char(2),         --性別
birthday date,                 --出生日期
sal           number(7,2)     --獎學(xué)金 
); 
--班級表 
CREATE TABLE class( 
classId NUMBER(2), 
cName VARCHAR2(40) 
); 
修改表 
? 添加一個字段 
SQL>ALTER TABLE student add (classId NUMBER(2)); 
? 修改一個字段的長度 
SQL>ALTER TABLE student MODIFY (xm VARCHAR2(30)); 
? 修改字段的類型/或是名字(不能有數(shù)據(jù)) 不建議做 
SQL>ALTER TABLE student modify (xm CHAR(30)); 
? 刪除一個字段   不建議做(刪了之后,順序就變了。加就沒問題,應(yīng)為是加在后面) 
SQL>ALTER TABLE student DROP COLUMN sal;  
Oracle  筆記
6
? 修改表的名字     很少有這種需求 
SQL>RENAME student TO stu; 
? 刪除表 
SQL>DROP TABLE student; 
添加數(shù)據(jù)
所有字段都插入數(shù)據(jù) 
INSERT INTO student VALUES ('A001', '張三', '男', '01-5 月-05', 10); 
oracle 中默認(rèn)的日期格式‘dd-mon-yy’ dd 日子(天) mon 月份   yy   2 位的年   ‘09-6 月-99’ 1999 年 6 月 9 日 
修改日期的默認(rèn)格式(臨時修改,數(shù)據(jù)庫重啟后仍為默認(rèn);如要修改需要修改注冊表) 
ALTER SESSION SET NLS_DATE_FORMAT ='yyyy-mm-dd'; 
修改后,可以用我們熟悉的格式添加日期類型: 
INSERT INTO student VALUES ('A002', 'MIKE', '男', '1905-05-06', 10); 
插入部分字段 
INSERT INTO student(xh, xm, sex) VALUES ('A003', 'JOHN', '女'); 
插入空值 
INSERT INTO student(xh, xm, sex, birthday) VALUES ('A004', 'MARTIN', '男', null); 
問題來了,如果你要查詢 student 表里 birthday 為 null 的記錄,怎么寫 sql 呢? 
錯誤寫法:select * from student where birthday = null; 
正確寫法:select * from student where birthday is null; 
如果要查詢 birthday 不為 null,則應(yīng)該這樣寫: 
select * from student where birthday is not null; 
修改數(shù)據(jù) 
? 修改一個字段 
UPDATE student SET sex = '女' WHERE xh = 'A001'; 
? 修改多個字段 
UPDATE student SET sex = '男', birthday = '1984-04-01' WHERE xh = 'A001'; 
修改含有 null 值的數(shù)據(jù) 
不要用 = null 而是用 is null; 
SELECT * FROM student WHERE birthday IS null; 
? 刪除數(shù)據(jù) 
DELETE FROM student; 
刪除所有記錄,表結(jié)構(gòu)還在,寫日志,可以恢復(fù)的,速度慢。 
Delete 的數(shù)據(jù)可以恢復(fù)。 
savepoint a; --創(chuàng)建保存點 
DELETE FROM student; 
rollback to a;   --恢復(fù)到保存點 
一個有經(jīng)驗的 DBA,在確保完成無誤的情況下要定期創(chuàng)建還原點。 
DROP TABLE student; --刪除表的結(jié)構(gòu)和數(shù)據(jù); 
delete from student WHERE xh = 'A001'; --刪除一條記錄; 
truncate TABLE student; --刪除表中的所有記錄,表結(jié)構(gòu)還在,不寫日志,無法找回刪除的記錄,速度快。

到此,相信大家對“oracle表的管理方式”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI