基本數據類型及SQL語法數據庫
Oracle 中用於訪問數據庫的主要查詢工具備 SQL*Plus、iSQL*Plus 和企業管理器服務器
Pl/SQL Developer的使用函數
Oracle 服務器由Oracle 數據庫和 Oracle 實例組成工具
Oracle 中的 SYSTEM 用戶和 SYS 用戶具備管理權限,而 SCOTT 用戶只有基本的權限設計
SQL語言的組成3d
DDL(數據定義語言):維護(定義、修改、刪除)SQL模式對象日誌
DML(數據操縱語言):包括數據查詢和數據更新(增刪改查)視頻
DCL(數據控制語言):對數據的訪問控制(授予權限、取消權限)對象
TCL(事務控制語言):對事務的控制(提交、回滾、保存點)blog
SQL應用
經過SQL能夠實現與Oracle服務器的通訊;
Oracle使用該語言存儲和檢索信息
Oracle數據類型
字符、數值、日期時間、LOB
Oracle數據類型---數值型
一、能夠存儲整數、浮點數和實數
二、最高精度爲38位,默認是18位
三、範圍-1*10130——9.999…99*10125
Oracle數據類型---日期時間型
日期時間數據類型存儲日期和時間值,包括年、月、日,小時、分鐘、秒
主要的日期時間類型有: DATE - 存儲日期和時間部分,精確到整個的秒
TIMESTAMP - 存儲日期、時間和時區信息,秒值精確到小數點後6位
得到當前系統日期:select sysdate from dual;
select systimestamp from dual;
Oracle數據類型 ---大對象
LOB稱爲「大對象」數據類型,能夠存儲多大4GB的非結構化信息,例如:聲音剪輯和視頻文件等
LOB數據類型容許對數據進行高效、隨機、分段的訪問
Oracle數據類型---僞列
Oracle中僞列就像一個表列,可是它並無存儲在表中
僞列能夠從表中查詢,但不能插入、更新、刪除他們的值
經常使用的僞列有rownum和rowid
rowid是表中行的存儲地址,該地址能夠惟一地標識數據庫中的一行,可使用rowid僞列快速地定位表中地一行
rownum是查詢返回地結果集中行的序號,可使用它來限制查詢返回的行數
DDL(數據庫定義語言)
建立表 create table
修改表結構 alter table 表名 add/modify/drop(增長/修改/刪除)列名 類型名(增長/修改時寫出)或增長/修改/刪除約束
增長字段:ALTER TABLE t_student Add f_address char(50);
修改字段:ALTER TABLE t_student Modify f_address varchar2(50);
刪除字段:ALTER TABLE t_student Drop column f_address ;
添加約束: ALTER TABLE t_student Add constraint uk_Sname Unique(Sname);
截斷:Truncate table 基本表名
注: 一、截斷表是將表中全部記錄刪除,但保留表結構,而且不寫日誌
二、trancate table 是DDL語言,delete from table_name 是DML語言
刪除表:drop table 基本表名
DROP TABLE t_student;
數據完整性
實體完整性
約束方法:惟一約束、主鍵約束
域完整性
約束方法:限制數據類型、檢查約束、默認值、非空約束
參照完整性(引用完整性)
約束方法:外鍵約束
自定義完整性
約束方法:規則、存儲過程、觸發器
完整性總結:數據存放在表中,數據完整性的問題大可能是因爲設計表引發的,建立表的時候,就應該保證之後數據輸入是正確的,錯誤的數據不容許輸入
DML(數據操縱語言)
insert命令的基本語法
insert into 基本表名[(columns_list)] values(values_list)
插入日期類型的值
日期類型默認格式爲「DD-MON-RR」
INSERT INTO t_student VALUES(‘10014’, ‘許文強’, ‘m’, ‘25-5月-88’, ‘13202010118',1);
使用TO_DATE函數轉換
INSERT INTO t_student(SID,Sname,Ssex,Sbirthday) VALUES (‘10015’,‘馮程程','f',TO_DATE('1990-10-18', 'YYYY-MM-DD'));
插入來自其餘表中的記錄(至關於複製表結構)
CREATE TABLE t_stutemp AS SELECT * FROM t_student WHERE 1=2;
INSERT INTO t_stutemp SELECT * FROM t_student WHERE Sclass=3;
INSERT INTO t_stutemp(SID,Sname,Stel) SELECT SID,Sname,Stel FROM t_student WHERE Sclass=2;
update命令
UPDATE <table_name> SET column_name = value [, column_name = value,……] [WHERE condition];
delete命令
DELETE [FROM] <table_name> [WHERE condition];
TCL(事務控制語言)
事務是最小的工做單元,做爲一個總體進行工做
保證事務的總體成功或失敗,稱爲事務控制
用於事務控制的語句有: COMMIT - 提交併結束事務處理
ROLLBACK - 撤銷事務中已完成的工做
SAVEPOINT – 標記事務中能夠回滾的點
DCL(數據控制語言)
數據控制語言爲用戶提供權限控制命令
用於權限控制的命令有:grant 授予權限
revoke 撤銷已授予的權限
GRANT SELECT ON t_student TO user1 WITH GRANT OPTION;
REVOKE SELECT, UPDATE ON t_student FROM user1;