oracle數據庫經常使用語法(中文註釋版)

-- 查看系統全部變量值
show all數據庫

-- 顯示當前鏈接用戶
show useroracle

-- 顯示錶結構
desc 表名函數

-- 顯示錯誤
show errorspa

-- 退出
exit;server

表空間是數據庫中最大的邏輯單位,一個oracle中至少有一個表空間,varchar2是oracle獨有的.每一個數據庫中都有一個名爲system的表空間,即系統表空間,用於存放數據庫字典表、程序單元、過程、函數包和觸發器等。一個數據庫文件只能與一個表空間相聯繫,每一個表空間由一個或多個數據文件組成。索引

-- 建立表空間
create tablespace 表空間名it

--建立表空間同時制定數據文件路徑大小 (size後爲表空間大小單位爲K或者M)
create tablespace 表空間名 datafile '數據文件路徑' size 10M autoextend onio

-- 刪除表空間
drop tablespace 表空間名table

-- 修改表空間
alter tablespace 表空間名 add datafile '文件路徑' size 大小效率

-- 授予權限
grant 角色權限(角色)[,角色權限] to 用戶

-- 查看當前用戶的系統權限
select * from user_sys_privs

-- 收回權限
revoke 角色權限 from 用戶

-- 建立表
create table 表名 (
  字段名 數據類型 [not null] [primary key],
  字段名 數據類型
);

-- 提交
commit

-- 從現有的表中建立表並複製其數據
create table 表名 as select * from 被複制數據庫.表名

-- 從現有的表中建立表並複製其表結構,不包括數據
create table 表名 as select * from 被複制數據庫.表名 where 1=2

-- 修改表中字段(字段的屬性修改)
alter table 表名 modify(字段1 字段類型, 字段2 字段類型)

-- 刪除表中字段(字段是要刪除的字段)
alter table 表名 drop (字段1, 字段2)

-- 修改表字段的名稱
alter table 表名 rename column 原字段名 to 新字段名

-- 刪除表(刪除後可回收站查看並恢復)
drop table 表名

-- 刪除表(刪除後不可查看和恢復)
drop table 表名 purge

-- 查看回收站
show recyclebin

-- 查看回收站
select * from recyclebin

-- 清空回收站
purge recyclebin

-- 新增數據
insert into 表名 (字段1,字段2...) values (value1, value2...)

-- 複製其餘表的數據新增到本表中
insert into 表名 select語句

--  修改
update 表名 set 字段=value where 條件

-- dual是一個僞表,用來構成select的語法規則 。僞列rowid是物理結構上的,每條數據記錄到數據庫的時候,都會有一個物理記錄,通一條記錄在不一樣查詢中對應的rowid相同

-- 查看當前用戶
select user from dual

-- 查詢當前系統時間並格式化
select to_char(sysdate, 'yyyy-mm-d hh24:mi:ss') from dual

-- 用做計算器
select 2*8 from dual

--條件刪除
delete from 表名 where 字段=條件value

--刪除表後在建立一個和原有表結構相同的表
truncate table 表名

-- 建立一個保存點
savepoint 保存點名

-- 回滾到保存點(若是保存點建立後提交了,那麼保存點會失效)
rollback  to 保存點名

-- 鏈接運算符 ||
select '名字爲:' || value || '職位爲:' value from 表名

-- union 並集而且去重複    union all 並集不去重
select * from 表名 where 條件 union select * from 表名 where 條件

-- 非集合方式實現並集而且去重 (效率要高不少)
select * from 表名 where 字段 in(條件1, 條件2)

-- 交集,查詢公共部分 intersect
查詢工資1000-2000區間和1500-2500之間的工資
select * from 表名 where 工資字段 1000 and 2000 intersect select * from 表名 where 工資字段 1500 and 2500

-- 非集合形式實現交集
select * from 表名 where 工資字段 1500 and 2000

-- 減集 minus
查詢工資在1000-2000而且不在1500-2500的工資
select * from 表名 where 工資字段 1000 and 2000 minus select * from 表名 where 工資字段 1500 and 2500

-- 非集合形式實現減集
select * from 表名 where 工資字段 >=1000 and 工資字段 < 1500

-- 四捨五入
round(數值, 四捨五入的值)

-- 返回當前日期
select sysdate from dual

-- 在日期基礎上加上n個月後的新日期
select sysdate,add_months(sysdate, 加上的月數) from dual

-- months_between 返回2個日期之間的月份數

-- 建立視圖
create or replace view 視圖名 as select 字段名 from 表名

-- 查詢視圖
select * from 視圖名

-- 視圖中插入值,插入的值是放到基表中,視圖是虛擬表,並不存在數據
insert into 視圖名(字段名) values(插入的值)

-- 更新視圖值
update 視圖名 set 字段名=字段值 where 條件

-- 刪除
elete from 視圖名 where 條件

-- 刪除一個視圖
drop view 視圖名

-- 同義詞是數據庫的一個別名

-- 管理員授予用戶A建立同義詞的權限
grant create synonym to A用戶

-- 建立私有同義詞
create synonym 同義詞名 for 表名

-- 爲視圖建立同義詞
create synonym 同義詞名 for 視圖名

-- 查詢同義詞
select * from 同義詞名

-- 刪除同義詞
drop synonym 同義詞名

-- sys用戶賦予用戶A建立刪除公有同義詞的權限
grant create public synonym,drop public synonym to 用戶A

-- sys用戶回收用戶A建立刪除公有同義詞的權限
revoke create public synonym,drop public synonym from 用戶A

-- 建立公有同義詞
create public synonym 同義詞名 for 表名

-- 鏈接
conn system/密碼

-- 索引是創建在數據庫表中的某些列上面,是與表關聯的,可提供快速訪問數據的方式,但會影響增刪改的效率
-- 建立索引
create unique[可選] index 索引名 on 表名(字段名 字數是升序仍是降序[可選])

-- 刪除索引
drop index 索引名

-- 建立組合列惟一索引
create unique index 索引名 on 表名(字段名, 字段名)

-- 序列是oracle提供的一個產生惟一數值型值的機制 ,一般用於主鍵,能保證惟一,不保證聯繫
-- 建立一個序列
create sequence 序列名

-- 查看序列的下一個值
select 序列名.nextval from dual

--查看序列當前值
select 序列名.currval from dual

-- 刪除序列
drop sequence 序列名  

-- 分區表就是將一個表分紅多個區,能夠分別對不一樣的區進行操做,不一樣的區也能夠保存在不一樣的位置,但實際仍是一張表

-- PLSQL

declare --定義一個常量
常量名 constant number(4,0): = 7788;
--定義變量
變量名 varchar2(20);
begin
--正式執行語句部分
select 字段名 from 表名 where 條件;
end;

-- 設置控制檯顯示
set serveroutput on

-- 建立角色
create role 角色名

-- 授予表A的 select 操做權限給用戶B
grant select on  表A to 用戶B
-- 其餘的權限
grant update on 表A to 用戶B

-- 撤銷表A的update操做權限給用戶B revoke update on 表A from 用戶B

相關文章
相關標籤/搜索