oracle總結 常用sql語句

2021-06-16 15:29:52 字數 4896 閱讀 2713

2、顯示當前連線使用者

sql> show user

3、檢視系統擁有哪些使用者

sql> select * from all_users;

4、新建使用者並授權

sql> create user a identified by a;(預設建在system表空間下)

sql> grant connect,resource to a;

5、連線到新使用者

sql> conn a/a

6、查詢當前使用者下所有物件

sql> select * from tab;

7、建立第乙個表

sql> create table a(a number);

8、查詢表結構

sql> desc a

9、插入新記錄

sql> insert into a values(1);

10、查詢記錄

sql> select * from a;

11、更改記錄

sql> update a set a=2;

12、刪除記錄

sql> delete from a;

13、回滾

sql> roll;

sql> rollback;

14、提交

sql> commit;

使用者授權:

grant alter any index to "user_id "

grant "dba " to "user_id ";

alter user "user_id " default role all

建立使用者:

create user "user_id " profile "default " identified by " default tablespace

"users " temporary tablespace "temp " account unlock;

grant "connect " to "user_id ";

使用者密碼設定:

alter user "cmsdb " identified by "pass_word "

表空間建立:

create tablespace "table_space " logging datafile

'c:\oracle\oradata\dbs\table_space.ora' size 5m

1、檢視當前所有物件

sql > select * from tab;

2、建乙個和a表結構一樣的空表

sql > create table b as select * from a where 1=2;

sql > create table b(b1,b2,b3) as select a1,a2,a3 from a where 1=2;

3、察看資料庫的大小,和空間使用情況

sql > col tablespace format a20

sql > select b.file_id 檔案id,

b.tablespace_name 表空間,

b.file_name 物理檔名,

b.bytes 總位元組數,

(b.bytes-sum(nvl(a.bytes,0))) 已使用,

sum(nvl(a.bytes,0)) 剩餘,

sum(nvl(a.bytes,0))/(b.bytes)*100 剩餘百分比

from dba_free_space a,dba_data_files b

where a.file_id=b.file_id

group by b.tablespace_name,b.file_name,b.file_id,b.bytes

order by b.tablespace_name

/ dba_free_space --表空間剩餘空間狀況

dba_data_files --資料檔案空間占用情況

4、檢視現有回滾段及其狀態

sql > col segment format a30

sql > select segment_name,owner,tablespace_name,segment_id,file_id,status from

dba_rollback_segs;

5、檢視資料檔案放置的路徑

sql > col file_name format a50

sql > select tablespace_name,file_id,bytes/1024/1024,file_name from

dba_data_files order by file_id;

6、顯示當前連線使用者

sql > show user

7、把sql*plus當計算器

sql > select 100*20 from dual;

8、連線字串

sql > select 列1 | |列2 from 表1;

sql > select concat(列1,列2) from 表1;

9、查詢當前日期

sql > select to_char(sysdate,'yyyy-mm-dd,hh24:mi:ss') from dual;

10、使用者間複製資料

sql > copy from user1 to user2 create table2 using select * from table1;

11、檢視中不能使用order by,但可用group by代替來達到排序目的

sql > create view a as select b1,b2 from b group by b1,b2;

12、通過授權的方式來建立使用者

sql > grant connect,resource to test identified by test;

sql > conn test/test

13、查出當前使用者所有表名。

select unique tname from col;

alter table alist_table add address varchar2(100);

alter table alist_table modify address varchar2(80);

create table alist_table_copy as select id,name,phone,email,

qq as qq2,

address from alist_table;

drop table alist_table;

rename alist_table_copy to alist_table

空值處理

有時要求列值不能為空

create table dept (deptno number(2) not null, dname char(14), loc char(13));

在基表中增加一列

alter table dept

add (headcnt number(3));

修改已有列屬性

alter table dept

modify dname char(20);

注:只有當某列所有值都為空時,才能減小其列值寬度。

只有當某列所有值都為空時,才能改變其列值型別。

只有當某列所有值都為不空時,才能定義該列為not null。

例: alter table dept modify (loc char(12));

alter table dept modify loc char(12);

alter table dept modify (dname char(13),loc char(12));

查詢未斷連線

select process,osuser,username,machine,logon_time ,sql_text

from v$session a,v$sqltext b whe

正在看的oracle教程是:oracle常用sql語句。re a.sql_address=b.address;

1.以user_開始的資料字典檢視包含當前使用者所擁有的資訊, 查詢當前使用者所擁有的表資訊:

select * from user_tables;

2.以all_開始的資料字典檢視包含oracle使用者所擁有的資訊,

查詢使用者擁有或有權訪問的所有表資訊:

select * from all_tables;

3.以dba_開始的檢視一般只有oracle資料庫管理員可以訪問:

select * from dba_tables;

4.查詢oracle使用者:

conn sys/change_on_install

select * from dba_users;

conn system/manager;

select * from all_users;

5.建立資料庫使用者:

create user user_name identified by password;

grant connect to user_name;

grant resource to user_name;

授權的格式: grant (許可權) on tablename to username;

刪除使用者(或表):

drop user(table) username(tablename) (cascade);

6.向建好的使用者匯入資料表

imp system/manager fromuser = fuser_name touser = user_name file = c:\expdat.dmp

commit = y

7.索引

create index [index_name] on [table_name]( "column_name ")

oracle常用sql語句

1.解鎖oracle使用者下某個使用者 以內建的scott使用者為例 sql conn as sysdba sql alter user scott account unlock identified by tiger 解釋 首先要切換到sysdba使用者下,否則會提示 許可權不足 error at...

oracle常用SQL語句

最近專案中用到,現記錄一下 新增主鍵 alter table shop spec detail add constraint spec detail id primary key id 新增索引 create index spec detail id on shop spec detail id 給...

Oracle常用SQL語句

今天接到乙個新任務 任務的主要內容簡單點說就是乙個下拉框,乙個查詢條件,乙個 table 顯示。當聽完的時候感覺真的是很簡單,這樣的事情也並非沒有做過。但是當靜下心來仔細分析需求,則會發現其與眾不同之處。1 下拉框中顯示的是我們整個模組的表名稱 2 查詢條件初步設想是根據時間查詢 3 table 第...