黑馬oracle_day01:02.oracle的基本操做

01.oracle體系結構html

02.oracle的基本操做數據庫

03.oracle的查詢編程

04.oracle對象緩存

05.oracle編程服務器

02.oracle的基本操做

PLSQL中文亂碼問題解決
1.查看服務器端編碼oracle

select userenv('language') from dual;

我實際查到的結果爲:AMERICAN_AMERICA.ZHS16GBK
2.執行語句 select * from V$NLS_PARAMETERS; 
查看第一行中PARAMETER項中爲NLS_LANGUAGE 對應的VALUE項中是否和第一步獲得的值同樣。
若是不是,須要設置環境變量。
不然PLSQL客戶端使用的編碼和服務器端編碼不一致,插入中文時就會出現亂碼。
3.設置環境變量
計算機->屬性->高級系統設置->環境變量->新建
 設置變量名:ide

NLS_LANG

 變量值:第1步查到的值, 個人是post

AMERICAN_AMERICA.ZHS16GBK

4.從新啓動PLSQL,插入數據正常。編碼

04建立表空間建立用戶以及用戶受權

 

 

 

-- 建立表空間
create tablespace itheima
datafile 'c:\oracle\itheima.dbf'
size 100m
autoextend on
next 10m;

 

 

-- 刪除表空間
drop tablespace itheima;
-- 建立用戶
create user kangmianfeng
-- 設置用戶密碼
identified by root
-- 設置所屬表空間
default tablespace itheima;
-- 給用戶受權
-- oracle數據庫中經常使用角色
connect --鏈接角色,基本角色
resource --開發者角色
dba --超級管理員
-- 給kangmianfeng授予dba角色
grant dba to kangmianfeng;

-- 切換到kangmianfeng用戶下(Session-Logoff-all ---> Session-Logon-kangmianfeng)

-- 查看當前USER_TABLES所屬的表空間
SELECT TABLE_NAME,TABLESPACE_NAME FROM USER_TABLES

 

 

05數據類型介紹和表的建立

 

-- 建立一個person表
create table person(
    pid number(20),
    pname varchar2(10)

);

 

06修改表結構

-- 修改表結構
-- 添加一列
alter table person add (gender number(1));

 

-- 修改列類型
alter table person modify (gender char(1));-- char長度固定
-- 修改列名稱
alter table person rename column gender to sex;
-- 刪除一列
alter table person drop column sex;

 

07數據的增刪改

-- 查詢表中記錄
select * from person;
-- 添加一條記錄
insert into person (pid, pname) values (110111,'小明');
commit;-- 手動提交事務
-- 修改一條記錄
update person set pname='小馬' where pid = 110111;
commit;

----三個刪除
-- 刪除表中所有記錄
delete from person;
-- 刪除表結構
drop table person;
-- 在數據量大的狀況下,尤爲在表中帶有索引的狀況下
-- 該操做效率高
-- 索引能夠提升查詢效率,可是會影響增刪改效率
truncate table person;

 


 

08序列的使用

----- oracle的序列不真的屬於任何一張表,可是邏輯上能夠和表作綁定。url

----- 序列默認從1開始,以此遞增,主要用來給主鍵賦值使用。

----- dual:虛表,只是爲了補全oracle的語法,沒有任何意義。

-- 建立一個序列
create sequence s_person;
select s_person.nextval from dual;
select s_person.currval from dual;
-- 添加/插入一條記錄
insert into person (pid, pname) values (s_person.nextval,'小明');
commit;-- 提交事務
-- 查詢表中記錄
select * from person;

 

      create sequence 序列名;
---- [INCREMENT BY n] 每次增長n(默認增長1)
---- [START WITH n] 從n開始
---- [{CACHE n|NOCACHE}]; 緩存

 

=========================================

參考資料:   

ORACLE的CONNECT和RESOURCE角色權限

=========================================

end

相關文章
相關標籤/搜索