Oracle資料庫常用命令(持續更新)

2022-09-15 15:03:27 字數 3745 閱讀 8524

select

*from user_tables;

select

*from all_tables;

1

select

*from user_tab_columns where table_name=

'使用者表';

2select

*from all_tab_columns where table_name=

'使用者表';

3select

*from dba_tab_columns where table_name=

'使用者表

';

oracle資料庫日期範圍查詢有兩種方式:to_char方式和to_date方式,接下來通過乙個例項來介紹這一過程。假設要查詢2011-05-02到2011-05-30之間的資料。

to_date方式

select

*from tablename where time >=

to_date(

'2011-05-02

','yyyy-mm-dd')

andtime <= to_date('

2011-05-30

','yyyy-mm-dd

') ;

執行的結果是:可以顯示05-02的資料,但是不能顯示05-30的資料。

所有可以得出結論:

1)如果想顯示05-30的資料可以2)如果想要顯示05-30的資料可以<=to_date('2011-05-30 23:59:59 999','yyyy-mm-dd hh24:mi:ss')也是可以查出來的。

to_char方式:

select

*from tablename where to_char(time,'

yyyy-mm-dd

') >=

'2011-05-02

'and

to_char(time,'

yyyy-mm-dd

') <=

'2011-05-30

';

執行的結果是:可以同時顯示05-02和05-30的資料。

關於like後面的條件,oracle提供了四種匹配模式:

1)%:表示任意0個或多個字元。可匹配任意型別和長度的字元,有些情況下若是中文,請使用兩個百分號(%%)表示。

select

*from

user

where name like

'%三%

';

將會把name為「張三」,「張貓三」、「三腳貓」,「唐三藏」等等有「三」的記錄全找出來。

如果需要找出name中既有「三」又有「貓」的記錄,請使用and條件

select

*from

user

where name like

'%三%

'and name like

'%貓%

';

2)_:表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句。

select

*from

user

where name like

'_三_

';

只找出「唐三藏」這樣name為三個字且中間乙個字是「三」的記錄。

select

*from

user

where name like

'三__

';

只找出「三腳貓」這樣name為三個字且第乙個字是「三」的記錄。

3)regexp_like:正規表示式函式查詢。

select

*from

user

where card_number like

'1____60';

select

*from

user

where regexp_like(card_number, '

1....60

');

可以找出card_number中以1開頭60結束並且查詢為7位的記錄,其中card_number欄位屬性為字串。

但如果card_number屬性為數字,使用like就不是很好實現了,可以使用如下方式:

select

*from

user

where regexp_like(card_number, '

1[0-9]60

');

也可以通過使用字符集的方式實現:

select

*from

user

where regexp_like(card_number, '

1[[:digit:]]60

');

查詢card_number中不是純數字的記錄:

select

*from

user

where

not regexp_like(card_number, '

^[[:digit:]]+$

');

查詢card_number中不包含任何數字的記錄:

select

*from

user

where regexp_like(card_number, '

^[^[:digit:]]+$

');

查詢以12或者1b開頭的記錄,不區分大小寫:

select

*from

user

where regexp_like(card_number, '

^1[2b]

','i

');

查詢以12或者1b開頭的記錄,區分大小寫:

select

*from

user

where regexp_like(card_number, '

^1[2b]

');

查詢資料中包含空白的記錄:

select

*from

user

where regexp_like(card_number, '

[[:space:]]

');

查詢所有包含小寫字母或者數字的記錄:

select

*from

user

where regexp_like(card_number, '

^([a-z]+|[0-9]+)$

');

查詢任何包含標點符號的記錄:

select

*from

user

where regexp_like(card_number, '

[[:punct:]]

');

alter

table

user modify(name varchar(255));

select sys_guid() from

dual;

insert

into

user(id) values(sys_guid());

Oracle資料庫常用命令

export oracle sid db name 伺服器 啟動資料庫伺服器 lsnrctl start sqlplus as sysdba sql startup 資料庫 建立資料庫 oracle home bin dbca 或者 oracle home bin dbassist 連線資料庫 co...

Oracle資料庫常用命令

誤刪正在使用的表空間後處理辦法 1 connect sys as sysdba 用sys登陸資料庫 2 shutdown 解除安裝資料庫,關閉資料庫 3 startup mount 例程啟動 4 alter database open 開啟資料庫 5 alter database datafile ...

Oracle資料庫常用命令

1 主鍵和外來鍵 主鍵 關係型資料庫中的一條記錄中有若干個屬性,若其中的某乙個屬性組 注意是組,可以是乙個,也可以是多個 能唯一標識一條記錄,那麼該屬性組就是主鍵 外來鍵 關係型資料庫表中的一列或者某幾列的組合,它的值與另外一張表的某一列或者某幾列相匹配,且為另一張表的主鍵 即這張表的某一列或某幾列...