oracle如何查看語言,oracle查詢語言

如何查看Oracle數據庫字符集,詳細操作,xx

數據庫服務器字符集select * from nls_database_parameters,其來源于props$,是表示數據庫的字符集。

成都創新互聯公司是專業的新鄭網站建設公司,新鄭接單;提供成都網站制作、網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行新鄭網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!

客戶端字符集環境select * from nls_instance_parameters,其來源于v$parameter,

表示客戶端的字符集的設置,可能是參數文件,環境變量或者是注冊表

會話字符集環境select * from nls_session_parameters,其來源于v$nls_parameters,表示會話自己的設置,可能是會話的環境變量或者是alter session完成,如果會話沒有特殊的設置,將與nls_instance_parameters一致。

客戶端的字符集要求與服務器一致,才能正確顯示數據庫的非Ascii字符。如果多個設置存在的時候,alter session環境變量注冊表參數文件

字符集要求一致,但是語言設置卻可以不同,語言設置建議用英文。如字符集是zhs16gbk,則nls_lang可以是American_America.zhs16gbk。

涉及三方面的字符集,

1. oracel server端的字符集;

2. oracle client端的字符集;

3. dmp文件的字符集。

在做數據導入的時候,需要這三個字符集都一致才能正確導入。

2.1 查詢oracle server端的字符集

有很多種方法可以查出oracle server端的字符集,比較直觀的查詢方法是以下這種:

SQL select userenv('language') from dual;

USERENV('LANGUAGE')

----------------------------------------------------

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

SQLselect userenv(‘language’) from dual;

AMERICAN _ AMERICA. ZHS16GBK

2.2 如何查詢dmp文件的字符集

用oracle的exp工具導出的dmp文件也包含了字符集信息,dmp文件的第2和第3個字節記錄了dmp文件的字符集。如果dmp文件不大,比如只有幾M或幾十M,可以用UltraEdit打開(16進制方式),看第2第3個字節的內容,如0354,然后用以下SQL查出它對應的字符集:

SQL select nls_charset_name(to_number('0354','xxxx')) from dual;

ZHS16GBK

如果dmp文件很大,比如有2G以上(這也是最常見的情況),用文本編輯器打開很慢或者完全打不開,可以用以下命令(在unix主機上):

cat exp.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6

然后用上述SQL也可以得到它對應的字符集。

2.3 查詢oracle client端的字符集

在windows平臺下,就是注冊表里面相應OracleHome的NLS_LANG。還可以在dos窗口里面自己設置,

比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK

這樣就只影響這個窗口里面的環境變量。

在unix平臺下,就是環境變量NLS_LANG。

$echo $NLS_LANG

AMERICAN_AMERICA.ZHS16GBK

如果檢查的結果發現server端與client端字符集不一致,請統一修改為同server端相同的字符集。

補充:

(1).數據庫服務器字符集

select * from nls_database_parameters

來源于props$,是表示數據庫的字符集。

(2).客戶端字符集環境

select * from nls_instance_parameters

其來源于v$parameter,表示客戶端的字符集的設置,可能是參數文件,環境變量或者是注冊表

(3).會話字符集環境

select * from nls_session_parameters

來源于v$nls_parameters,表示會話自己的設置,可能是會話的環境變量或者是alter session完成,如果會話沒有特殊的設置,將與nls_instance_parameters一致。

(4).客戶端的字符集要求與服務器一致,才能正確顯示數據庫的非Ascii字符。

如果多個設置存在的時候,NLS作用優先級別:Sql function alter session 環境變量或注冊表 參數文件 數據庫默認參數

字符集要求一致,但是語言設置卻可以不同,語言設置建議用英文。如字符集是zhs16gbk,則nls_lang可以是American_America.zhs16gbk。

oracle反查建表語言

表名改成大寫的試試。

select dbms_metadata.get_ddl('TABLE','ADMINIUSER') from dual

oraclede中數據定義語言

Oracle:數據定義語言(DDL)

1、命名規則和約定:

表名和列名的長度最多為30個字符

表名和列名必須以字母打頭

表名或者列名中不允許有空格和*

Oracle服務器的保留字也不能作為表名或列名

2、數據類型:

創建數據表時,要為表中的每一列分配一個數據類型。數據類型指定了將要存儲在此列中的數據的類型。通過為一列提供一種數據類型,可以避免在此列中存儲錯誤類型的數據

Varchar2:VARCHAR2是一種字符型數據類型,用來在一列中存儲可變長度的字母數字混合的數據。VARCHAR2必須指定最大長度,最小長度和默認長度都是一個字符。指定的長度要置于圓括號當中,例如VARCHAR(20)。如果數據比指定的長度短,那么只存儲數據值,并不在值的尾部添加空格。但是,如果輸入的值比指定的長度長,則會產生錯誤,并不會將較長的值截短。如果某一列的值沒有固定的長度,那么最適合使用VARCHAR2數據類型

Char:CHAR類型是一種字符型數據類型,用來在一列中存儲固定長度的字母數字混合的數據。默認長度和最小長度都是一個字符。如果輸入的值比指定的長度短,則在其尾部添加空格,以使其長度等于指定的長度;如果輸入的值比指定的長度長,則會發生錯誤。CHAR類型適用于固定長度的值

Number:NUMBER數據類型用來存儲負數、正數、整數、定點數和浮點數。NUMBER數據類型可以用于任何要進行數學計算的列。當某一列使用Number類型時,可以指定其精度和標度。精度是一個數字的有意義數字的總數,包括小數點左右兩邊的數字,但指定精度時小數點不計算在內。標度是小數點右邊數字的總數

整數類型全部是數字,沒有小數部分。如果一列定義為整數類型,則只需要提供精度的大小即可

定點小數類型的小數點右邊的數字為數是指定的

浮點小數類型的小數位為數是可變的。小數點前可以有任意位數字,或者也可以根本不出現小數點。將一列定義為這種類型時不用隨同NUMBER類型一起來指定標度和精度

Date:DATE類型用于存儲日期和時間值。DATE類型的列中存儲著日、月、世紀、小時、分鐘和秒。對DATE類型不需要指定大小。

LONG:LONG類型用于可變長度的字符數據,最大為2G Byte。一張數據表中只能有一列定義為LONG類型,定義LONG類型時,不需要指定其大小

NCHAR:NCHAR類型與CHAR類型相似,但它對每一個字符都使用兩個字節的二進制編碼,而CHAR類型則對每一個字符使用一個字節的ACSII編碼,它只能表示256個不同的字符

CLOB:這一字符大對象數據類型用于存儲單字節字符數據,最大為4G個字節

NCLOB:這一字符大對象數據類型使用2 Byte的字符代碼

BLOB:二進制大對象數據類型用于存儲二進制數據,最大為4G Byte

3、約束

約束是對數據表施加規則。約束有助于我們使自己的數據庫具有完整性。

完整性規則:

(1)實體完整性:主鍵中的列不能是空(null),主鍵提供了可以惟一地識別一行或一個實體的方法。

(2)引用完整性:外鍵值或者是空值,或者必須作為引用表的主鍵值而存在

Oracle使用約束來實現關系數據庫的完整性規則,并在單個列級別實現數據完整性。無論何時,當對數據表中的一行或一條記錄進行插入、更新或刪除操作時,都必須滿足約束條件,這樣其操作才能成功

3.1、約束類型

(1)完整性約束:定義數據表中的主鍵和外鍵,以及此外鍵所引用的主鍵

(2)值約束:如果不允許值為空,如果要求值是惟一的,以及如果一個列的值只允許是一組確定的值,那么就需要定義值約束

3.2、命名約束

Oracle通過內部名稱或用戶自定義的名稱來識別約束,對于每一個用戶帳號,每一個約束名都必須是惟一的。一個用戶不能在兩張不同的數據表上創建具有相同名稱的約束。一般情況下,命名約束時采用如下的約定形式:

table name_column name_constraint type

這里table name是要定義約束的表名,column name是要應用約束的列名,constraint type是用縮寫形式來表示的約束類型

約束與縮寫的對應形式

PRIMARY KEY:pk

FOREIGN KEY:fk

UNIQUE:uk

CHECK:ck

NOT NULL:nn

如果用戶沒有命名一個約束,則Oracle服務器會自動生成一個約束名,所用的格式是SYS_Cn,這里n是任意一個惟一的數字

3.3、定義約束

可以在創建表時創建約束,也可以在表創建完成之后再添加約束。約束的定義有兩個級別:

列級別:一個列級別的約束只涉及單獨一列,它的定義與列的定義同時進行。除外鍵約束和復合主鍵約束外,其他類型的約束均可以在列級別進行定義通用的語法格式是:

Column datatype [CONSTRAINT constraint_name] constraint_type

表級別:一個表級別的約束涉及一列或多列,它的定義與列的定義是分開進行的。一般來說,所有列的定義都完成之后才定義表級別約束。除非空約束,所有約束均可以在表級別進行定義。通用的語法格式是:

[CONSTRAINT constraint_name] constraint_type(Column name)

3.3.1、主鍵約束

主鍵約束也稱為實體完整性約束。它為表創建一個主鍵。一張表只能有一個主鍵約束。無論是一列用作主鍵還是多列復合起來用作主鍵,主鍵只能是非空值,而且也只能有惟一的值。例如,N2公司數據庫的DEPT表將DeptId列用作主鍵,則在列級別定義約束如下所示:

DeptId NUMBER(2) CONSTRAINT dept_deptid_pk PRIMARY KEY

在表級別定義約束如下所示:

CONSTRAINT dept_deptid_pk PRIMARY KEY(DeptId)

3.3.2、外鍵約束

外鍵約束也稱為主鍵完整性約束。它使用一列或多列作為外鍵,建立了此外鍵與同一張表或者另一張表的主鍵之間的關系

要確定一張數據表的外鍵,其他被引用的表及其主鍵必須已經存在。雖然外鍵與被引用的主鍵列不需要具有相同的名稱,但是外鍵值必須與父表的主鍵值相匹配,或者外鍵值是空值

CONSTRAINT student_facultyid_fk FOREIGN KEY(FacultyId)REFERENCES faculty(FacultyId)

STUDENT標的FaultyId引用了FACULTY表的主鍵FacultyId

在結束FOREIGN KEY之前,還可以添加ON DELETE CASCADE子句,它不僅允許刪除父表中的記錄,而且還會同時刪除子表中依賴的記錄。在不使用ON DELETE CASCADE子句的情況下,如果子表引用父表中的記錄,那么就不能刪除父表中的這一行記錄

3.3.3、非空約束

非空約束確保一列具有一個值而且不是空值

3.3.4、惟一性約束

惟一性約束要求一列或一組列中的每一個值都是惟一的。如果惟一性約束應用于單一列,則此列只有惟一的值;如果惟一性約束應用于一組列,那么這組列合起來具有惟一的值。惟一性約束允許空值,除非此列也應用了NOT NULL非空約束

3.3.5、檢查約束

檢查約束定義了每一行都必須滿足的條件。一列可以有多個檢查約束,檢查約束既可以在列級別定義,也可以在表級別定義

CONSTRAINT dept_deptid_cc CHECK ((DeptId=10)and(DeptId=99))

3.3.6、非空檢查約束

非空約束也能夠作為檢查約束來聲明,它可以在列級別定義,也可以在表級別定義:

Name VARCHAR2(15) CONSTRAINT faculty_name_ck CHECK(Name IS NOT NULL)

3.3.7、DEFAULT默認值

默認值確保當向表中插入新的一行時,某一特定的列總是具有一個值。如果用戶輸入另一個值,則默認值就會被覆蓋,如果插入空值,那么就會使用默認值

State CHAR(2) DEFAULT ‘NJ’

4、創建Oracle數據表

CREATE TABLE語句的通用語法格式是:

CREATE TABLE [schema.] tablename

(column1 datatype [CONSTRAINT constraint_name] constraint_type,

column2 datatype [CONSTRAINT constraint_name] constraint_type,…

[CONSTRAINT constraint_name] constraint_type(Column name,…),…)

schema是可選的,它與用戶的注冊名相同

tablename是用戶指定的表名

column是單個列的名字

datatype是該列的數據類型和大小

constraint_name是用戶提供的約束名

constraint_type是指完整性約束或值約束

每個列都可以有零個、一個或多個在列級別定義的約束,一般情況下,表級別約束是在所有列定義完成之后才聲明

4.1、CREATE TABLE語句中的STORAGE子句

CREATE TABLE語句中可以包括STORAGE子句,但它是可選的。在創建數據庫時,使用該子句,由參數INITIAL定義為數據表分配的初始磁盤空間,另外還可以使用另一個參數NEXT,它在數據表對分配的初始磁盤空間已經用完的情況下,定義再追加分配多少磁盤空間。

CREATE TABLE sample(Id NUMBER(3),Name VARCHAR(25))

TABLESPACE CIS_DATA

STORAGE(INITIAL 1M NEXT 100K)

PCTFREE 20;//空閑百分比

5、顯示數據表信息

當用戶創建了數據庫中的一張表或多張表時,Oracle用自己的數據字典來跟蹤所有這些表。Oracle提供了SQL語句和SQL *Plus命令可以查看Oracle的數據字典表中的信息

5.1、查看用戶的表名

SELECT TABLE_NAME FROM USER_TABLES;

Oracle創建系統表來存儲用戶和用戶對象的有關信息,USER_TABLES是一個Oracle系統表,TABLE_NAME是此表中的一個列

5.2、查看表結構

DESCRIBE 表名

5.3、查看約束信息

Oracle的數據字典表USER_CONSTRAINTS存儲著我們為每一列輸入的約束信息

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE

FROM USER_CONSTRAINTS

WHERE TABLE_NAME=’STUDENT’;

表明必須采用大寫字母,因為Oracle是以大寫字母保存表名的

5.4、查看表空間信息

一個表空間包括一個或多個物理數據文件。我們可以獲得使用數據字典視圖USER_TABLESPACES所能得到的所有表空間的有關信息。

數據字典視圖USER_USERS為用戶提供了其賬號的有關信息,以及永久的臨時的表空間

5.5、注釋表和列

創建數據表時可以為該表及其列添加注釋,添加注釋的目的是為編寫文檔的方便,添加注釋所使用的語句是COMMENT語句。例如:

COMMENT ON TABLE student IS ‘Table holds students for INDO-S College’

COMMENT ON COLUMN employee.Lname IS ‘last name’

可以分別使用數據字典視圖ALL_TAB_COMMENTS 和ALL_COL_COMMENTS,查看表和列的所有注釋信息

6、修改已存在的數據表

要修改已經存在的表,某些修改是允許的,有些是不允許的

6.1、向已存在的表添加新列

ALTER TABLE tablename

ADD colname datatype;

6.2、修改已存在的列

ALTER TABLE tablename

MODIFY colname newdatatype;

6.3、添加一個約束

ALTER TABLE tablename

ADD [CONSTRAINT constraint_name] constraint_type(Column name);

6.4、刪除一列

ALTER TABLE tablename

DROP COLUMN columnname;

6.5、刪除一個約束

ALTER TABLE tablename

DROP CONSTRAINT constraintname;

6.6、啟動/禁用約束

啟用或禁用約束的格式是:

ALTER TABLE tablename

ENABLE | DISABLE CONSTRAINT constraintname;

6.7、重新命名一列

ALTER TABLE tablename RENAME COLUMN oldname TO newname;

6.8、重新命名一個約束

ALTER TABLE tablename RENAME CONSTRAINT oldname TO newname;

6.9、修改表的存儲屬性

ALTER TABLE tablename STORAGE(NEXT nK)

7、刪除數據表

當刪除一張數據表時,表中所有的數據以及表結構將被永久性地刪除

DROP TABLE tablename;

8、重新命名數據表

RENAME oldtablename TO newtablename;

oracle數據庫用的是什么語言

Oracle的查詢語言當然是所有數據庫公認的SQL語句了;

Oracle的編程語言是PL/SQL語言,這是Oracle獨有的~~

如何查看Oracle數據庫的字符編碼

1、SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET' ;

--查詢oracle 相關參數

2、SELECT * FROM NLS_DATABASE_PARAMETERS ;

擴展資料:

Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處于領先地位的產品。

可以說Oracle數據庫系統是目前世界上流行的關系數據庫管理系統,系統可移植性好、使用方便、功能強,適用于各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的數據庫解決方案。

ORACLE數據庫系統是美國ORACLE公司(甲骨文)提供的以分布式數據庫為核心的一組軟件產品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結構的數據庫之一。

比如SilverStream就是基于數據庫的一種中間件。ORACLE數據庫是目前世界上使用最為廣泛的數據庫管理系統,作為一個通用的數據庫系統,它具有完整的數據管理功能;作為一個關系數據庫,它是一個完備關系的產品;作為分布式數據庫它實現了分布式處理功能。

但它的所有知識,只要在一種機型上學習了ORACLE知識,便能在各種類型的機器上使用它。

Oracle數據庫最新版本為Oracle Database 12c。Oracle數據庫12c?引入了一個新的多承租方架構,使用該架構可輕松部署和管理數據庫云。

此外,一些創新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個數據庫,而Automatic Data Optimization和Heat Map能以更高的密度壓縮數據和對數據分層。

這些獨一無二的技術進步再加上在可用性、安全性和大數據支持方面的主要增強,使得Oracle數據庫12c?成為私有云和公有云部署的理想平臺。

參考資料:Oracle數據庫--百度百科

網頁名稱:oracle如何查看語言,oracle查詢語言
瀏覽路徑:http://m.kartarina.com/article32/hsccsc.html

成都網站建設公司_創新互聯,為您提供網站導航搜索引擎優化用戶體驗建站公司企業網站制作微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都做網站
主站蜘蛛池模板: 亚洲AV日韩AV永久无码下载| 精品人妻系列无码人妻免费视频| 亚洲∧v久久久无码精品 | 国产激情无码一区二区| 国产成人午夜无码电影在线观看| 色AV永久无码影院AV| 永久免费无码网站在线观看| 无码中文人妻视频2019| 亚洲AV永久无码精品一区二区国产 | 久久亚洲精品无码av| 免费无码黄网站在线看| 色综合久久久无码网中文 | 无码国内精品久久人妻蜜桃| 精品韩国亚洲av无码不卡区| 无码性午夜视频在线观看| 亚洲成av人片不卡无码久久| 亚洲AV无码国产一区二区三区 | 精品无码人妻夜人多侵犯18| 黑人无码精品又粗又大又长| 无码专区HEYZO色欲AV| 一本久道综合在线无码人妻| 中文字幕无码精品三级在线电影 | 精品人妻少妇嫩草AV无码专区| 色综合久久久无码网中文 | 亚洲Av无码国产一区二区| 中文字幕无码亚洲欧洲日韩| 久久青青草原亚洲AV无码麻豆| av无码东京热亚洲男人的天堂| 67194成是人免费无码| 免费无码又黄又爽又刺激| av区无码字幕中文色| 伊人久久一区二区三区无码| 亚洲AV成人无码天堂| 日韩av无码中文字幕| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 亚洲精品无码永久在线观看 | 亚洲精品色午夜无码专区日韩| 亚洲成av人片在线观看天堂无码| 国产精品无码素人福利| 精品人妻系列无码人妻免费视频 | 久久久久久av无码免费看大片|