qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          跟屌絲大哥學DB2-第四課 數據類型 ,表 ,視圖,索引,模式,約束(一)

          (DiaoSiID)在我們建立表前 ,我們先要了解DB2中都有哪些數據類型,以便我們這些屌絲以后快速創建表。

          DB2 提供了一套豐富且靈活的數據型。DB2 附 INTEGERCHAR DATE 等基本數據型。它提供了建用的數據型(UDT)的工具,使用夠創復雜的非傳統的數據型,從而適當今復雜境。在定的情況下,用哪數據型取決于列中存的信息的型和范

          內置的數據型分:數字、字符串、日期時間和 XML。

          的數據型分單值類型、構化型和引用型。

          數字數據



          如上所示,數字數據型又可分型在可以存的數字數據的范和精度方面有所差異。


          • 整數SMALLINTINTEGER BIGINT 用來存整數。例如,存數量可以定義為 INTEGERSMALLINT 可以在 2 個字中存 -32,768 32,767 的整數。INTEGER 可以在 4 個字中存 -2,147,483,648 2,147,483,647 的整數。BIGINT 可以在 8 個字中存 -9,223,372,036,854,775,808 9,223,372,036,854,775,807 的整數。
          • 小數DECIMAL 用來存有小數部分的數字。要定義這個數據型,需要指定精度p,表示的位數)和小數位s,表示小數點右的位數)。定義為 DECIMAL(10,2) 的列可以保存的金最高可 99999999.99。數據中需要的存于精度,按照公式 p/2 +1 算。所以 DECIMAL(10,2) 需要 10/2 + 1 (即 6)字
          • 浮點數REAL DOUBLE 用來存數字的近似。例如,非常小或非常大的科學可以定義為 REALREAL 可以定義為具有 1 24 位之度,需要 4 的存DOUBLE 可以定義為具有 25 53 位之度,需要 8 的存FLOAT 可以視為 REAL DOUBLE 的同義詞

          字符串數據




          如上所示,DB2 字符數據或字符串提供了幾數據型。根據要存的字符串的大小和字符串中的數據來選擇數據型。

          下面的數據型用來存儲單字符串:

          • CHAR CHARACTER 用來存最多 254 的固定度的字符串。例如,制造商可以零件分配一個 8 字符度的標識符,因此標識符在數據中存儲為 CHAR(8) 型的列。
          • VARCHAR 用來存變長度的字符串。例如,制造商用不同度的標識符表示大量零件,因此標識符存儲為 VARCHAR(100) 型的列。VARCHAR 列的最大 32,672 。在數據中,VARCHAR 數據只占用恰好所需的空

          下面的數據型用來存雙字字符串:

          • GRAPHIC 用來存固定度的雙字字符串。GRAPHIC 列的最大度是 127 個字符。
          VARGRAPHIC 用來存變長度的雙字字符串。VARGRAPHIC 列的最大度是 16,336 個字符。

           


          DB2 提供了存非常的字符串數據的數據型。所有字符串數據型都具有相似的特征。首先,在數據中此數據在物理上并沒有與行數據存在一起,意味著需要理才能訪問此數據。數據型的度最大可以定義為 2GB。但是,需要的空只是實際使用的空數據型有:

          • LONG VARCHAR
          • CLOB(字符大象)
          • LONG VARGRAPHIC
          • DBCLOB(雙字字符大象)
          • BLOB(二制大象) 

          日期時間數據

          DB2 提供了三日期和時間的數據型:

          • DATE
          • TIME
          • TIMESTAMP 

          些數據型的在數據中存儲為內部格式;但是用程序可以將其作字符串操。在些數據型之一,它被表示字符串。在更新些數據,將在引號中。

          DB2 提供了操日期時間值的內置函數。例如,可以使用 DAYOFWEEK DAYNAME 函數判斷一個日期是星期幾。使用 DAYS 函數算兩個日期之相差多少天。DB2 提供了特殊寄存器以根據時間-日期時鐘生成當前日期、時間時間戳。例如,CURRENT DATE 返回一個表示系上的當前日期的字符串。

          日期和時間值的格式取決于在建數據庫時指定的數據國家編碼。有幾可用的格式:ISO、USA、EUR 和 JIS。例如,如果數據使用 USA 格式,那日期的格式是 mm/dd/yyyy。在用程序,可以使用 BIND 命令的 DATETIME 選項格式。

          TIMESTAMP 數據型只有一格式。字符串表示是 yyyy-mm-dd-hh.mm.ss.nnnnnn


          XML 數據

          DB2 提供了 XML 數據型來存格式良好的 XML 文檔。

          XML 列中的儲為與字符串數據型不同的內部表示。要在 XML 數據型的列中存 XML 數據,需要使用 XMLPARSE 函數數據轉換。可以使用 XMLSERIALIZE 函數將 XML 數據型的值轉換為 XML 文檔的串行化字符串DB2 提供了多其他的內置函數來操 XML 數據型。

          的數據

          DB2 適合自己用程序的數據型。有三的數據型:

          • 單值類基于內置型定新的數據型。個新型具有內置型相同的功能,但可以使用它確保只比相同型的。例如,可以基于 DECIMAL(10,2) 一個加元型(CANDOL)和一個美元型(USADOL)。種類型都基于同一內置型,但除非轉換函數,否無法比下面是 CANDOL USADOL UDT CREATE TYPE 句:

          CREATE DISTINCT TYPE CANDOL AS DECIMAL(10,2) WITH COMPARISONS

          CREATE DISTINCT TYPE USADOL AS DECIMAL(10,2) WITH COMPARISONS

           

          DB2 生成函數來行基本型和單值類型之轉換生成用于比較單值類例的比操作符。下列示了如何 CANDOL 型列的表,以及如何使用 CANDAL 轉換函數向表中插入數據:

          CREATE TABLE ITEMs (ITEMID CHAR(5), PRICE CANDOL )

          INSERT INTO ITEMs VALUES('ABC11',CANDOL(30.50) ) 

                   

          XML 數據

          DB2 提供了 XML 數據型來存格式良好的 XML 文檔。

          XML 列中的儲為與字符串數據型不同的內部表示。要在 XML 數據型的列中存 XML 數據,需要使用 XMLPARSE 函數數據轉換。可以使用 XMLSERIALIZE 函數將 XML 數據型的值轉換為 XML 文檔的串行化字符串DB2 提供了多其他的內置函數來操 XML 數據型。

          的數據

          DB2 適合自己用程序的數據型。有三的數據型:

          • 單值類基于內置型定新的數據型。個新型具有內置型相同的功能,但可以使用它確保只比相同型的。例如,可以基于 DECIMAL(10,2) 一個加元型(CANDOL)和一個美元型(USADOL)。種類型都基于同一內置型,但除非轉換函數,否無法比下面是 CANDOL USADOL UDT CREATE TYPE 句:

          CREATE DISTINCT TYPE CANDOL AS DECIMAL(10,2) WITH COMPARISONS

          CREATE DISTINCT TYPE USADOL AS DECIMAL(10,2) WITH COMPARISONS

           

          DB2 生成函數來行基本型和單值類型之轉換生成用于比較單值類例的比操作符。下列示了如何 CANDOL 型列的表,以及如何使用 CANDAL 轉換函數向表中插入數據:

          CREATE TABLE ITEMs (ITEMID CHAR(5), PRICE CANDOL )

          INSERT INTO ITEMs VALUES('ABC11',CANDOL(30.50) ) 

                   

          • 構化型:建由幾個內置型列成的型。然后,可以在建表使用構化型。例如,可以建一 ADDRESS 構化型,它包含表示街道號、街道名、城市之的數據。然后在定其他表(如工表或者供商表)使用這種類型,因為這些表也需要同的數據。另外,構化可以在構中有子型。就允將屬于某一構的象存在數據中。
          • 的引用型:在使用構化,可以使用引用型定義對另一個表中行的引用。些引用看起來與參照束相似,然而,它制表系。表中的引用允用不同的方法指定查詢

          構化和引用型是高里的信息只作為對這型的介

           

          OK  屌絲大哥精心為你準備的DB2數據類型 怎么樣 還滿意吧 用戶定義類型 確實很給力 不過用到時候較少
          下來屌絲大哥為大家帶來表的逆襲
          首先 屌絲大哥帶領眾屌絲連接DB2
          首先 啟動DB2 
          db2start
          db2 connect to DiaoSi user diaosi using diaosipassword
          有些屌絲可能不明白怎么連接 哥來解釋  db2 connect to 數據庫名稱 user 用戶名稱 using 密碼

          所有數據都存在數據的表中。 由不同數據型的一列或多列成。數據存在行(或稱為記錄)中。

          表是使用 CREATE TABLE SQL 句定的。DB2 提供了一個用來建表的 GUI 工具 DB2 Control Center個工具可以根據指定的信息建一個表。它生成 CREATE TABLE SQL 句,以后可以在腳本或用程序中使用句。

          個數據都有一表,稱統編目表(system catalog tables,它保存于數據中所有象的信息DB2 基系統編目表提供了視圖。數據中定個表在視圖 SYSCAT.TABLES 中都有相的一行。數據個表的一列在 SYSCAT.COLUMNS 中都有相的一行。可以用 SELECT 句像看數據中的任何其他表一樣查視圖;但是,不能使用 INSERTUPDATE DELETE 句。在行數據定義語言(DDL句(比如 CREATE)和其他操作(比如 RUNSTATS些表會自更新。

          建表


           

          使用 CREATE TABLE SQL 句在數據中定一個表。下面的建一個簡單的名 BOOKS 的表,表包含三列:

          CREATE TABLE Diaosi ( DiaoSiID INTEGER,

                                 Diaosi  NAME VARCHAR(100),

                               muer CHAR(10) )

           

          可以使用 CREATE TABLE SQL 建與數據中另一個表或視圖相似的表:

          CREATE TABLE MYmuer LIKE BalckMUer



          建一個與原始表或視圖具有相同列的表。新表的列具有與原始表或視圖中的列相同的名稱、數據型和可空屬性。可以指定制其他屬性(比如列默認值標識屬性)的子句。

          選項可用于 CREATE TABLE 句(將在下面介新概念時討論)。CREATE TABLE SQL 句的詳細信息可以在 SQL Reference 中找到( 參考)。

          建了表之后,有幾方法可以在其中填充數據。INSERT 句允向表中插入一行或幾行數據。DB2 提供了一些用程序插入來自文件的大量數據。IMPORT 用程序使用 INSERT 句插入行。它是向數據中加少量數據而設計的。LOAD 用程序用于加大量數據,它將行直接插入到數據中的數據,因此比 IMPORT 用程序要快得多。

          在數據中存

          表存在數據表空 中。表空間擁有分配的物理空。在建表之前必建表空

          建表,可以 DB2 把表放在默的表空內,也可以指定表應該駐留在哪個表空內。下面的 CREATE TABLE 句將  DiaoSiS 
          表放在 
           DiaoSiINFO 表空內:

          CREATE TABLE DiaoSiS(

                                          DiaoSiID INTEGER,

                                 Diaosi  NAME VARCHAR(100),

                               muer CHAR(10) )

                       IN DiaoSiINFO



          修改表

          可以使用 ALTER TABLE SQL 句更改表的某些特征。例如,可以添加或除:

          • 一個或多個惟一性或參照
          • 一個或多個檢查約

          下面的句向   DiaoSi 表中添加一個列   DiaoSiTYPE  

          ALTER TABLE DiaoSi ADD DiaoSiTYPE CHAR(1)

           

            


          posted on 2012-12-06 23:12 順其自然EVO 閱讀(365) 評論(0)  編輯  收藏 所屬分類: DB2

          <2012年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 乐清市| 武宣县| 石城县| 东阿县| 翁源县| 乌兰察布市| 舞阳县| 大兴区| 阳东县| 铜梁县| 阿巴嘎旗| 大竹县| 沙湾县| 亳州市| 尉氏县| 鄯善县| 凯里市| 昂仁县| 佛冈县| 马山县| 太和县| 兴安盟| 苗栗市| 筠连县| 兴宁市| 磐安县| 延寿县| 天全县| 安图县| 甘泉县| 吴江市| 韶关市| SHOW| 永泰县| 晋宁县| 台南市| 平昌县| 石泉县| 星座| 嘉定区| 颍上县|