3 SQL語(yǔ)言應(yīng)用
3.1 數(shù)據(jù)定義(DDL)
(1)基表定義:CREATE TABLE
CREATE TABLE 表名
(域名1 數(shù)據(jù)類型1 [列完整性約束條件][, 域名2 數(shù)據(jù)類型2 [列完整性約束條件]]…)[in 數(shù)據(jù)庫(kù)空間]
例:定義書(shū)中圖17.8的關(guān)系STU
CREATE TABLE STU
(S CHAR(6) NOT NULL, SN CHAR(10) NOT NULL, SA INTEGER NOT NULL, SD CHAR(8) NOT NULL)
(2)視圖定義:CREATE VIEW,Access數(shù)據(jù)庫(kù)目前不支持
CREATE VIEW 視圖名 [(域名表)] AS (SELECT語(yǔ)句)
(3)索引定義:CREATE [UNIQUE] INDEX,用于對(duì)基表建立索引以提供對(duì)基表的存取路徑
索引可以加快數(shù)據(jù)庫(kù)中有關(guān)數(shù)據(jù)的存取速度。
CREATE [UNIQUE] INDEX 索引名 ON [(域名表)] AS (SELECT語(yǔ)句)
例:對(duì)書(shū)中圖17.8的關(guān)系STU的S域創(chuàng)建名為SNO的索引
CREATE UNIQUE INDEX SNO ON STU(S)
(4)基表刪除:DROP TABLE
DROP TABLE 基表名
例:DROP TABLE STU
(5)視圖刪除:DROP VIEW
DROP VIEW 視圖名
(6)索引刪除:DROP INDEX
DROP INDEX 索引名 ON 基表名
例:DROP INDEX SNO ON STU
(7)基表修改:ALTER TABLE
ALTER TABLE 表名 ADD(OR MODIFY) 域名 數(shù)據(jù)類型
例:在表STU上增加一個(gè)域名為性別(SE),其數(shù)據(jù)類型為CHAR(4)
ALTER TABLE STU ADD SE CHAR(4)
例:將表STU上的S域的字符串長(zhǎng)度改為10。
ALTER TABLE STU MODIFY S CHAR(10) !Access數(shù)據(jù)庫(kù)不支持MODIFY
3.2 數(shù)據(jù)操作(DML)
數(shù)據(jù)操作包括數(shù)據(jù)的查詢、插入、刪除、修改。命令分別為SELECT、INSERT、DELETE、UPDATE
3.3 數(shù)據(jù)控制(DCL)
SQL的數(shù)據(jù)控制功能包括存取控制和完整性控制,為了防止非法用戶對(duì)數(shù)據(jù)的使用和破壞,提供了GRANT和REVOKE語(yǔ)句,是對(duì)操作的授權(quán)控制語(yǔ)句。
3.1 數(shù)據(jù)定義(DDL)
(1)基表定義:CREATE TABLE
CREATE TABLE 表名
(域名1 數(shù)據(jù)類型1 [列完整性約束條件][, 域名2 數(shù)據(jù)類型2 [列完整性約束條件]]…)[in 數(shù)據(jù)庫(kù)空間]
例:定義書(shū)中圖17.8的關(guān)系STU
CREATE TABLE STU
(S CHAR(6) NOT NULL, SN CHAR(10) NOT NULL, SA INTEGER NOT NULL, SD CHAR(8) NOT NULL)
(2)視圖定義:CREATE VIEW,Access數(shù)據(jù)庫(kù)目前不支持
CREATE VIEW 視圖名 [(域名表)] AS (SELECT語(yǔ)句)
(3)索引定義:CREATE [UNIQUE] INDEX,用于對(duì)基表建立索引以提供對(duì)基表的存取路徑
索引可以加快數(shù)據(jù)庫(kù)中有關(guān)數(shù)據(jù)的存取速度。
CREATE [UNIQUE] INDEX 索引名 ON [(域名表)] AS (SELECT語(yǔ)句)
例:對(duì)書(shū)中圖17.8的關(guān)系STU的S域創(chuàng)建名為SNO的索引
CREATE UNIQUE INDEX SNO ON STU(S)
(4)基表刪除:DROP TABLE
DROP TABLE 基表名
例:DROP TABLE STU
(5)視圖刪除:DROP VIEW
DROP VIEW 視圖名
(6)索引刪除:DROP INDEX
DROP INDEX 索引名 ON 基表名
例:DROP INDEX SNO ON STU
(7)基表修改:ALTER TABLE
ALTER TABLE 表名 ADD(OR MODIFY) 域名 數(shù)據(jù)類型
例:在表STU上增加一個(gè)域名為性別(SE),其數(shù)據(jù)類型為CHAR(4)
ALTER TABLE STU ADD SE CHAR(4)
例:將表STU上的S域的字符串長(zhǎng)度改為10。
ALTER TABLE STU MODIFY S CHAR(10) !Access數(shù)據(jù)庫(kù)不支持MODIFY
3.2 數(shù)據(jù)操作(DML)
數(shù)據(jù)操作包括數(shù)據(jù)的查詢、插入、刪除、修改。命令分別為SELECT、INSERT、DELETE、UPDATE
3.3 數(shù)據(jù)控制(DCL)
SQL的數(shù)據(jù)控制功能包括存取控制和完整性控制,為了防止非法用戶對(duì)數(shù)據(jù)的使用和破壞,提供了GRANT和REVOKE語(yǔ)句,是對(duì)操作的授權(quán)控制語(yǔ)句。