1、數據定義語言:java
一、用於改變數據庫結構,包括建立、更改和刪除數據庫對象;數據庫
二、命令:ide
create table :建立spa
alter table 修改日誌
drop table 刪除表code
truncate table 刪除表數據(不能夠回滾)對象
二、建立表:blog
-- 建立表 create table sclass( cid int primary key, cname varchar(10) ) create table java ( ssid int primary key, -- 主鍵約束 sname varchar2(20) unique, -- 惟一約束 ssex char(5) check(ssex in ('男','女')),--檢查約束,檢查輸入的是不是男或者女 sbirth date not null, -- 非空約束 saddress varchar2(50) default '淄博',-- 默認值約束 --score double check(score between 0 and 100), -- 檢查約束的範圍寫法 cid int, constraint fk_student_class foreign key(cid) references sclass(cid) --設置外鍵 )
三、修改表結構:事務
alter 表名 add/modify/drop(增長/修改/刪除)列名 類型名/約束ci
四、截斷:
truncate table 表名;
-- 將表中的全部記錄所有刪除,但保留表結構,而且不寫日誌;
-- truncate 是DDL語言,
delete from 表名 是DML語言;
五、刪除表:drop
六、數據完整性:
可靠性 + 準確性 = 數據完整性
根據數據完整性機制所做用的數據庫對象和範圍的不一樣,數據完整性可分爲如下四種類型:
①、實體完整性:惟一約束、主鍵約束;
②、域完整性:限制數據類型、檢查約束、默認值、非空約束;
③、參照完整性(引用完整性):外鍵約束;
④、自定義完整性:規則、存儲過程
約束實現數據完整性:
建立表:保證數據的完整性 = 實施完整性約束
2、數據操做語言:
數據操做語言:
檢索、插入和修改數據(增 insert、刪delete、改update、查select)
insert into java values(1,'張三','男',to_date('1997-02-22','yyyy-mm-dd'),'濟南');
日期類型 使用
to_date
--複製表(表不存在)--只複製表結構,不復製表數據(由於1=2,不成立) create table student as select * from java where 1=2; select * from student; --複製表結構和表內容、不復制約束 create table student2 as select * from java; select * from student2; --插入來自其餘表中的數據(select前能夠加from) insert into student select * from java; select * from student;
3、事務控制語言:
一、事務是最小的工做單元,做爲一個總體進行工做
二、保證事務的總體成功或失敗,稱爲事務控制;
三、用於事務控制的語句有:
commit:提交併結束事務處理;
rollback:撤銷事務中已完成的工做;
savepoint:標記事務中能夠回滾的點;
4、數據控制語言:
一、數據控制語言爲用戶提供權限控制語言;
二、命令:
grant:授予權限;
revoke:撤銷已授予的權限;
--建立用戶 create user yym identified by 123456; grant connect, resource to yym;--授予權限 --登陸管理員的帳戶,給用戶yym設置能訪問scott.emp表的權限(只能查看) grant select on scott.emp to yym with grant option; select * from scott.emp; --管理員撤銷yym的訪問剛纔那個表的權限 revoke select on scott.emp from yym;