SQL plus常用命令

2021-05-22 07:13:10 字數 3447 閱讀 2552

1.登陸系統使用者

sqlplus 然後輸入系統使用者名稱和密碼

登陸別的使用者

conn 使用者名稱/密碼;

2.建立表空間

create tablespace 空間名

datafile 'c:"空間名' size 15m --表空間的存放路徑,初始值為15m

autoextend on next 10m --空間的自動增長的值是10m

permanent online; --永久使用

3.建立使用者

create user shi --建立使用者名為shi

identified by scj --建立密碼為scj

default tablespace 表空間名 --預設表空間名

temporary tablespace temp --臨時表空間為temp

profile default --受profile檔案的限制

quota unlimited on 表空間名; --在表空間下面建表不受限制

4.建立角色

create role 角色名 identified by 密碼;

5.給角色授權

grant create session to 角色名;--給角色授予建立會話的許可權

grant 角色名 to 使用者名稱; --把角色授予使用者

6.給使用者授予許可權

grant create session,resource to shi;--給shi使用者授予所有許可權

grant create table to shi; --給shi使用者授予建立表的許可權

7.select table_name from user_tables; 察看當前使用者下的所有表

8.select tablespace_name from user_tablespaces; 察看當前使用者下的

表空間9.select username from dba_users;察看所有使用者名稱命令

必須用sys as sysdba登陸

10.建立表

create table 表名

( id int not null,

name varchar2(20) not null

)tablespace 表空間名 --所屬的表空間

storage

( initial 64k --表的初始值

minextents 1 --最小擴充套件值

maxextents unlimited --最大擴充套件值

); 11.--為usrs表新增主鍵和索引

alter table users

add constraint pk primary key (id);

12.為已經建立users表新增外來鍵

alter table users

add constraint fk_roleid foreign key (roleid)

references role(role_id) on delete cascad; --下邊寫主表的列

on delete cascad是建立級聯

13.把兩個列連線起來

select concat(name,id) from 表名; --把name和id連線起來

14.擷取字串

select column(name,'李') from 表名; --把name中的『李』去掉

15.執行事務之前必須寫

set serveroutput on; --開啟輸入輸出(不寫的話,列印不出資訊)

16.while的應用

declare --宣告部分

ccc number:=1; --復職

a number:=0;

begin --事務的開始

while ccc<=100 loop --迴圈

if((ccc mod 3)=0) then --條件

dbms_output.put_line(ccc||','); --列印顯示

a:=a+ccc;

end if; --結束if

ccc:=ccc+1;

end loop; --結束迴圈

dbms_output.put_line(a);

end; --結束事務

/ 17.select into 的用法 --只能處理一行結果集

declare

name varchar(30);

begin

select username into name

from users

where id=2;

dbms_output.put_line('姓名為:'||name);

end;

/ 18.利用%rowtype屬性可以在執行時方便的宣告記錄變數和其他結構

set serveroutput on;

declare

utype users%rowtype;

begin

select * into utype from users where id=20;

dbms_output.put_line('姓名'|| utype.username);

dbms_output.put_line('生日'|| utype.brithday);

end;

/ --%rowtype想當於複製乙個表

19.游標的定義和使用

declare

cursor ucur is select * from users; --宣告游標

us users%rowtype;--定義與游標想匹配的變數

begin

open ucur;--開啟游標

fetch ucur into us;

while ucur %found loop --使用迴圈遍歷游標的查詢結果

dbms_output.put_line('姓名:'||us.username||'生日'||us.brithday);

fetch ucur into us;

end loop;

close ucur; --關閉游標

end;

***********************************====

%found在前一條的fetch語句至少對應資料庫的一行時,%found屬性值為true,否則為false;

% notfound 在前一條fetch語句沒有對應的資料庫行時,%notfound屬性值為true,否則為false;

%isopen 在游標開啟時%isopen屬性值為true;否則為false;

%rowcount顯示迄今為止從顯示游標中取出的行數

20.

刪除drop tablespace 空間名 including contents; --刪除表空間和裡面的內容

drop table 表名 --刪除表

drop user 使用者名稱 --刪除使用者

SQL Plus常用命令

sql plus 是oracle 資料庫互動的客戶端工具,在 sql plus 中可以執行 sql plus 命令和sql plus 語句。我們通常說的 dml ddl dcl都是 sql plus 語句,它們執行完成後,都儲存在乙個被稱為 sql buffer 的記憶體區域,並且只能儲存最後一條執...

sql plus常用命令

一 連線命令 1 conn ect 使用者名稱 密碼 網路伺服器名 as sysdba sysoper 2 disc onnect 斷開連線 3 passw ord 更改其他使用者密碼,需要用sys system登入 4 show user 顯示當前使用者名稱 5 exit 斷開連線並退出 二 檔案...

sqlplus常用命令

如何在xp的cmd命令列狀態下輸入中文?1.開始 執行中輸入regedit 2.hkey current user console systemroot system32 cmd.exe下的項codepage項值改為十進位制 936 值或 十六進製制 000003a8 值。說明一下 十六進製制 00...