系統使用者登入:
系統自帶的使用者(sys,system,scott)
格式: sqlplus username/password@servicename
as sysdba
示例: sqlplus system/a123456@orcl
as sysdba -- as sysdba 表示用管理員賬戶登入
注意: 如果不加as sysdba即使普通使用者登入
1.內建有四個資料表:
員工表、部門表、工資等級、獎金表,都在scott使用者下
注意:剛安裝好的oracle資料庫 scott使用者是鎖定的,需要進行解鎖才能登入
2.解鎖scott使用者:
1.使用system使用者進行登入 (本機的資料庫)
sqlplus system/a123456@orcl
as sysdba -- 在控制外面不要在語句結尾加分號
2.使用alter解鎖:
alter
user scott account unlock
;-- 解鎖
alter
user scott account lock
;-- 加鎖
3.驗證:
conn scott/tiger@orcl
tiger
tiger
口令已更改
已登入4.檢視當前使用者下的所有表
show
user
;-- 檢視當前使用者
select table_name from user_tables;
-- 檢視當前使用者下所有的表
emp -- 雇員表
dept -- 部門表
salgrade -- 工資等級表
bonus -- 獎金表
select
*from emp;
-- 檢視emp表下的所有資料
命令
含義show user;
顯示當前使用者名稱
connect scott/tiger;
登入scott資料庫
conn system/a123456;
登入system資料庫
disconnect;
斷開連線
desc emp;
顯示表結構
select * from tab;
檢視當前使用者下的表名
select table_name from user_tables;
查詢當前使用者下的表名
@path;
path代表sql檔案所在的位置
set linesize 100;
設定行寬
set pagesize 8;
設定每頁顯示的記錄數
col 欄位名 for 9999/a;
設定欄位的顯示寬度,9999表示數字,a表示字元
1.之所以會設定行寬、列寬和頁面記錄,是因為在sqlplus模式下:select查詢的時候經常會遇到返回的記錄折行,為了便於我們檢視,所以會對其進行設定。2.sqlplus命令是會話級的,exit之後就消失了
3.在使用 set pagesize時,需要注意:該記錄數包含標題、虛線、空行。
1.rownum
作用:是oracle系統順序分配為從查詢返回的編號,返回的第一行分配的是1.第二行是2,一次類推,這個偽 字段可以用於限制查詢返回的總行數;
例如:select rownum,empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;
-- 14條記錄
select rownum,deptno,dname,loc from dept;
-- 4條記錄
需求:取雇員表中前三條記錄:
select
rownum,empno,ename,job,mgr,hiredate,sal,comm,deptno
from emp
where rownum <=3;
需求:取雇員表第三條及以後的記錄:
select
*from
(select rownum rn,empno,ename,job,mgr,hiredate,sal,comm,deptno from emp
)where rn >=3;
注釋: rownum表示行號,是乙個偽列,可以在每一張表**現
例如1:查詢表記錄中的前五行:
select
*from emp where rownum <=5;
例如2:取員工表,第六到第十條資料
select
*from
(select rownum rn,empno,ename,job,mgr,hiredate,sal,comm,deptno from emp
)where rn between
6and10;
2.建立序列
語法: creater sequence 序列名稱 [maxvalue num | nomaxvalue]
[minvalue num | nominvalue]
[increment by num start
with10]
[cache num | nocache]
[cycle
| nocycle]
squence引數說明:
maxvalue 100 序列的最大值
nomaxvalue 不設定最大值
minvalue 10 序列的最小值
nominvalue 不設定最小值
increment by
1 每次增加1個 類似mysql的自增長
start
with
1 從1開始計數
cache 10 設定快取10個序列
nocache 不設定快取
cycle 到頭迴圈
nocycle 一直累加,不迴圈
建立:create sequence myseq minvalue 1 maxvalue 100
start
with
1 incerment by
1 cache 20 nocycle
解釋: 建立乙個名為 myseq 的序列,該序列的範圍是1
-100,從1開始,每次加1,快取20個,不迴圈
使用: nextval -
> 取得序列的下乙個內容
序列名.nextval
1.如果要使用scott使用者建立檢視,需要對該使用者進行授權:
grant
create
view
to scott;
-- 將建立檢視的許可權給scott使用者;
2.在使用插入語句時需要注意,oracle不支援一次插入多條記錄
3.在獲取日誌值時,不能直接使用year、month、day獲取:
select empno,ename,
hiredate,
to_char(hiredate,
'yyyy'
)year
,-- year(hiredate)
to_char(hiredate,
'mm'
)month
,-- month(hiredate)
to_char(hiredate,
'dd'
)day
,-- day(hiredate) %c
to_char(hiredate,
'yyyy/mm/dd'
)ymd,
to_char(hiredate,
'fmyyyy/mm/dd'
)ymd -- 用fm去掉前導0
只要方向對了,不怕路太遠。
oracle相關知識
1.oracle的儲存過程 幾個去 ibm 面試的兄弟回來抱bai怨 去了好幾個du不同的zhi ibm 專案組,幾乎每個面試官問到數dao據庫的時候都要問用沒用過儲存過程,煩人不?大家去面的程式設計師,又不是 筆者認為,儲存過程說白了就是一堆 sql 的合併。中間加了點邏輯控制。但是儲存過程處理比...
oracle相關知識2
64位oracle連線plsql不成功的問題 1.plsql只有32位的版本,按網上的即可。刪除使用者 刪除使用者遇到問題,顯示該使用者在連線中 a.查詢當前連線使用者的詳細資訊 select sid,serial status from v session where username xx b....
oracle的相關知識
開啟enterprise manager console 的時候一直閃退,這個問題想了好幾天,在網上也搜了各種答案,在這裡彙總一下。首先是服務 先介紹oracle所有的相關服務 1 oracle orcl vss writer service oracle卷對映拷貝寫入服務,vss volume s...