HELP 幫助用戶瞭解數據庫中各種對象的結構
SHOW 幫助用戶瞭解某種對象的定義,即返回其DDL語句
EXPLAIN 返回一個SQL語句經優化處理後的執行步驟,注意並未真正執行
FALLBACK 對數據加以保護的一種方式,是冗餘的備份
RENAME 對錶重命名
NULLIFZERO 對數據作累計處理時,忽略零值
ZEROIFNULL 對數據作累計處理時,將空值作零處理
WITH...BY 對詳細數據記錄作分類統計(Sub-Total)時有用
MODIFY USER/DATABASE 對用戶/數據庫對象作動態修改而無需數據庫重組
HELP 命令 參數 說明
HELP DATABASE databasename; 可以顯示一個指定數據庫所包含的所有對象
HELP USER username; 顯示某個用戶中所包含對象的信息
HELP TABLE tablename; 顯示某張表的信息
HELP VIEW viewname; 顯示某個視圖的信息
HELP MACRO macroname; 顯示某個宏的信息
HELP COLUMN table or viewname.*; 顯示錶/視圖的各列的信息
HELP COLUMN table or viewname.colname . . ., colname; 顯示錶/視圖某幾列的信息
HELP INDEX tablename; 顯示某個表中的所有索引定義
HELP STATISTICS tablename; 顯示錶的統計
HELP CONSTRAINT table or viewname.constraintname; 顯示定義在某個表/視圖上的約束定義
HELP JOIN INDEX join_indexname; 顯示連接索引的定義
HELP TRIGGER triggername; 顯示觸發器的信息
HELP PROCEDURE procedurename; 顯示存儲過程的信息
HELP PROCEDURE procedurename ATTRIBUTES;
HELP 'SQL'; 得到所有SQL命令的列表信息
HELP 'SQL sqlcommand'; 得到某個特定SQL命令的使用方法
如要知道這些數據庫對象是用什麼樣的DDL命令創建的,則要使用SHOW命令:
SHOW命令 參數
SHOW TABLE Tablename ;
SHOW VIEW Viewname;
SHOW MACRO Macroname;
SHOW INDEX Tablename;
SHOW JOIN INDEX join_indexname;
SHOW TRIGGER Triggername;
SHOW PROCEDURE Procedurename;
EXPLAIN命令:利用EXPLAIN命令,可以瞭解Teradata執行一個SQL交易請求的詳細過程和計劃,這對於更進一步地理解Teradata的查詢處理機制有很大的幫助。另一方面,對於複雜SQL交易的調試來說,這也是不可缺少的一個工具。
利用EXPLAIN解釋一個SQL交易的方法很簡單,就是在原來SQL語句的前面加上EXPLAIN即可,其它完全不變。
在LIKE結構的字符串中,'%'和'_'可以作爲通配符使用,但是如果需要匹配這些字符本身(比如查找95%),即把它們作爲一般字符時使用,我們可以通過定義ESCAPE字符來達到這個目的,緊跟在ESCAPE字符後的’%’和’_’作爲一般字符看待。
例:
LIKE ''%A%�A__'' ESCAPE ''A''
在這個表達式中,將字母A定義爲ESCAPE字符,其中:
! 第一個%爲通配符;
! 第一個A和其後的%聯合表示字符%;
! 第三個%爲通配符;
! 第二個A和其後的A聯合表示字符A;
! 第四個A和其後的’_’聯合表示字符_;
! 最後一個’_’爲通配符。
對於表達式的操作數如果是字符,ANSI標準中是區分大小寫的,如果不要區分大小寫,可以使用UPPER函數將其轉換成大寫字母來進行匹配。Teradata缺省不區分大小寫,如果要區分,可以使用其擴展參數CASESPECIFIC。
NULL的使用
NULL的說明:
! NULL顯示沒有數據的字段
! NULL表示不存在或未發現的值
! NULL既不是數字類型也不是字符類型
! 具有NULL值的字段可以被壓縮,不佔任何空間
NULL也可以參與運算,其運算規則爲:
! NULL在算術運算中產生的結果爲NULL(空)
! NULL在比較運算中產生的結果爲False
! UNKNOWN DATA, MISSING DATA和NULL是同樣的含義
! 當進行升序排列時,NULL在數字列排列在負數前,在字符列排列在空格
前。
宏
CREATE MACRO macroname AS ( . . . ); 定義宏
EXECUTE macroname; 執行宏語句
SHOW MACRO macroname; 顯示宏定義
REPLACE MACRO macroname AS ( . . . ); 改變宏定義
DROP MACRO macroname; 從字典中刪除宏定義
EXPLAIN EXEC macroname; 顯示宏執行的解釋
EXISTS在子查詢中的使用
EXISTS可以使用在子查詢中,用來表示查詢至少返回一行。如果前面加上否定詞NOT,則表示查詢時無記錄存在。EXISTS可以代替IN,而NOT EXISTS可以代替NOT IN。
CHARACTERS函數
CHARACTERS函數也是Teradata的擴展,用於計算VARCHAR型數據字段的實際字符串長度。CHARACTERS函數可以簡寫成CHARACTER、CHARS或者CHAR。
TRIM函數
ANSI標準的TRIM函數用於去除字符數據中前頭或後端的空格或者二進制數據(BYTE與VARBYTE)中前頭或後端的零。在Teradata缺省模式下,TRIM (<expression>)只能去除後端的空格或二進制零。
SELECT CAST (salary_amount AS FORMAT ''$$$,$$9.99'');
SELECT (1000/salary_amount) * 100
(FORMAT 'ZZ9%')
(TITLE 'Increase Percentage')
FROM employee
WHERE employee_number = 1004;
SELECT (CAST (1000/salary_amount) * 100 AS FORMAT 'ZZ9%'
TITLE 'Increase Percentage') FROM ...
FORMAT短語中可以使用的格式化字符主要爲:
$ 美元標識符
9 數字位
Z 將數字中的前綴零去除
, 在指定位置插入逗號
. 指定小數點位置
- 在指定位置插入連字號
/ 在指定位置插入斜線
% 在指定位置插入百分號
X 字符數據,每個X代表一個字符
G 圖形數據.一個G代表一個邏輯字符(雙字節)
B 在指定位置插入空格
對日期的格式化處理
在Teradata中,日期數據的缺省輸出格式是:YY/MM/DD,這和ANSI標準是一樣的。而ANSI標準建議的日期顯示格式是:YYYY-MM-DD。
其它一些常用的日期顯示格式列舉如下,其中的B表示空格。
YYYY/MM/DD'
YYYY-MM-DD'
YYYY.DDD'
DBMMMBYYYY'
MMBDD,BYYYY'
YYYYBMMMBDD'
YY/MM/DD'
D-MM-YY'
YBDDD'
MM'
下面是一些對日期進行格式化的例子。
句法 結果
FORMAT 'YYYY/MM/DD' 1996/03/27
FORMAT 'DDbMMMbYYYY' 27 Mar 1996
FORMAT 'mmmBdd,Byyyy' Mar 27, 1996
FORMAT 'DD.MM.YYYY' 27.03.1996
FORMAT 'MM/DD/YY' 03/27/96
FORMAT 'MMM.DD.YY' Mar.27.96
FORMAT 'yy -- mm -- dd' 96 -- 03 -- 27
FORMAT 'DDDYY' 08696
SELECT last_name,first_name,hire_date (FORMAT 'mmmBdd,Byyyy')
FROM employee
ORDER BY last_name;
利用FORMAT短語,可以將字符字段或表達式進行截取處理,這種處理隻影響顯示格式,而不會影響數據的內部存儲格式。
Teradata的屬性函數
屬性函數 返回信息說明
TYPE 數據類型
TITLE 標題短語
FORMAT 格式短語
NAMED NAMED子句
CHARACTERS 字符個數
Teradata DDL允許在創建表時指定表的物理屬性,包括:
A. SET 不允許記錄重複,例:CREATE SET TABLE table1 ...
B. MULTISET 允許記錄重複,例:CREATE MULTISET TABLE table1 ...
C. 數據保護要結合FALLBACK和JOURNAL (流水或日誌)。
FALLBACK是Teradata的一種數據保護機制,數據表的每一條記錄都同時存放兩份,而且位於不同的AMP所控制的存儲單元中;當數據發生問題或者AMP失敗時,可以利用存放在其他AMP上的數據保證對數據表的訪問。
- FALLBACK 使用FALLBACK保護機制
- NO FALLBACK 不使用FALLBACK保護機制
日誌有BEFORE和AFTER兩種,分別保存了一條記錄變化前後的狀態。當系統出錯時,可以利用日誌進行恢復。
D. 存儲空間選項
DATABLOCKSIZE用來指定數據塊大小,最小的數據塊爲6144字節,最大的數據塊是32256字節。
FREESPACE用來定義在每個磁盤柱面上保留的空間(0-75%)。
例:
CREATE MULTISET TABLE table_1
, FALLBACK, NO JOURNAL
teradata中的部分sql命令
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Oracle關閉和開啓歸檔日誌
一 設置爲歸檔方式 Sql代碼 sql> archive log list; #查看是不是歸檔方式 sql> alter system
爱上DBA
2020-06-16 16:34:02
朝花夕拾3------SQL語句
Lemon**
2020-06-15 12:36:17
朝花夕拾2------SQL語句
Lemon**
2020-06-15 12:36:17
朝花夕拾1------SQL語句
目錄 1.SQL語句學習網站(來源於https://www.jianshu.com/p/723e8bd6c5c8) 2.SQL練習題 2.1 第二節練習題 帶約束的查詢 2.2 第三節 有約束的查詢
Lemon**
2020-06-15 12:36:17
MySql知識總結——表結構修改、查看錶信息等
遐想者csdn
2020-06-07 10:43:21
朝花夕拾-5-----SQL語句(表的增刪改)
Lemon**
2019-09-04 13:07:54
朝花夕拾4----SQL語句
Lemon**
2019-09-04 13:07:54
朝花夕拾------SQL語句
Lemon**
2019-08-28 13:07:59