SQL-99-纲要定义.基本限制与查询-(1).ppt
文本预览下载声明
SQL-99: 綱要定義、基本限制與查詢 (1) ▊ Outlines Database Languages SQL資料型態 Data Query Language, DQL (資料查詢語言) Data Definition Language, DDL (資料定義語言) Data Manipulation Language, DML (資料處理語言) Data Control Language, DCL (資料控制語言) (see Chapter 8, Chapter 9; 實作講義Ch. 5~Ch. 7) ▊ Database Languages SQL (Structured Query Language, 結構化查詢語言) 是一種標準的關連式資料庫語言,由IBM於1970年代所研發出來的。 SQL為用來與關連式資料庫系統對話而使用的語言 幾乎目前所有的資料庫管理系統都支援SQL 目前版本為1999年所提出的SQL/99或稱SQL/3,對物件導向DB與分散式DB有提供支援,並加入了程式設計的功能預存程式(stored procedure) (早期版本:SQL/87或稱SQL/1, SQL/92或稱SQL/2) SQL指令的種類: 資料定義語言 (Data Definition Language, DDL) 用來宣告、建立資料庫物件 (即:建立(Create), 刪除(Drop), 更改(Alter)) 即:針對Table或View的Schema 資料處理語言 (Data Manipulation Language, DML) 用來操作資料庫中的資料 (即:插入(Insert),更新(Update),刪除(Delete)) 針對Table內的Data 資料查詢語言 (Data Query Language, DQL) 用來查詢資料庫中的資料,主要指令是Select 資料控制語言 (Data Control Language, DCL) 用來從事資料庫的權限控管,如:GRANT, REVOKE, ALTER PASSWORD 資料管理指令 (Data Administration Commands) 用來從事資料庫的稽核與分析 交易控制指令 (Transactional Control Commands) 用來管理資料庫的交易動作 各家的資料庫系統對於絕大多數的國際標準SQL語法 (ANSI SQL) 皆有支援。然而,在各資料庫系統中還是留有一些專屬的功能。因此,了解各家資料庫系統SQL語法與ANSI SQL之差異點至為重要。 ▊ SQL資料型態 ANSI SQL的字串 (Character Strings) CHAR(n):固定長度字元串 (n為字元個數) VARCHAR(n):變動長度字元串 BIT(n):固定長度位元串 (n為位元個數) BIT VARING(n):變動長度位元串 MySQL的字串型態: 何謂列舉型態與集合型態? 列舉型態 ENUM:(多選一) 這種型態的欄位,其存放的值只能是列舉清單中的其中一項。 列舉清單中最多可有65535個項目,也可以有 NULL 值 。 範例: Field1 ENUM(Am,Pm) DEFAULT ‘Am’ Field2 ENUM(‘經理’,‘工程師’,‘技術員’) DEFAULT ‘工程師’ 集合型態 SET:(多選多) SET 型態欄位可以存放清單中的多個項目。它適合應用於網頁表單中,選擇多個項目儲存的場合。 範例: Field1 SET(‘工程師’,‘技術員’,‘專案經理’)。 若Field1這個欄位表示 “職位”,且公司中有一位工程師同時身兼某專案的專案經理,則在資料庫中插入此工程師之職位時之指令為: INSERT INTO Field1 VALUES (‘工程師’,‘專案經理’) ANSI SQL數值串(Numeric Strings) INT, INTEGER:整數 (4bytes; 0~ 0-4294967295 ) DEC(m,n), DECIMAL(m,n), NUMERIC(m,n):格式化數值 (m:總位數或精確度,n:小數位數) SMALLINT:短整數 (2bytes; 0~65535) FLOAT:浮點數 (4bytes) REAL:單精度實數 (4bytes) DOUBLE PRECISION:雙精度實數 (8bytes) MySQL的數值串型態: ANSI SQL日期/時間 (Date/Time)資料型態 DATE:一般格式為 YYYY-MM-DD TIME:一般格式為 HH:MM:SS TIMESTAMP:時間戳記,由DATE+TIME+六位以上小數秒數 用以記錄交易進入系統的時間順序 INTERVAL:時間區間 MySQL的日期/
显示全部