-- 查看系統全部變量值
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