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...