一、數據定義語言:
1、用於改變數據庫結構,包括創建、更改和刪除數據庫對象;
2、命令:
create table :創建
alter table 修改
drop table 刪除表
truncate table 刪除表數據(不可以回滾)
2、創建表:
-- 創建表 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) --設置外鍵 )
3、修改表結構:
alter 表名 add/modify/drop(增加/修改/刪除)列名 類型名/約束
4、截斷:
truncate table 表名;
-- 將表中的所有記錄全部刪除,但保留表結構,並且不寫日志;
-- truncate 是DDL語言,
delete from 表名 是DML語言;
5、刪除表:drop
6、數據完整性:
可靠性 + 准確性 = 數據完整性
根據數據完整性機制所作用的數據庫對象和范圍的不同,數據完整性可分為以下四種類型:
①、實體完整性:唯一約束、主鍵約束;
②、域完整性:限制數據類型、檢查約束、默認值、非空約束;
③、參照完整性(引用完整性):外鍵約束;
④、自定義完整性:規則、存儲過程
約束實現數據完整性:
創建表:保證數據的完整性 = 實施完整性約束
二、數據操作語言:
數據操作語言:
檢索、插入和修改數據(增 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;
三、事務控制語言:
1、事務是最小的工作單元,作為一個整體進行工作
2、保證事務的整體成功或失敗,稱為事務控制;
3、用於事務控制的語句有:
commit:提交並結束事務處理;
rollback:撤銷事務中已完成的工作;
savepoint:標記事務中可以回滾的點;
四、數據控制語言:
1、數據控制語言為用戶提供權限控制語言;
2、命令:
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;