數據定義
SQL的數據定義語句
| 操 作 對 象 |
操 作 方 式 |
||
| 創 建 |
刪 除 |
修 改 |
|
| 表 |
CREATE TABLE |
DROP TABLE |
ALTER TABLE |
| 視 圖 |
CREATE VIEW |
DROP VIEW |
|
| 索 引 |
CREATE INDEX |
DROP INDEX |
|
一、定義基本表
[例1]建立學生表Student
CREATE TABLE Student
(Sno CHAR(5) PRIMARY KEY, Sname CHAR(20) , Ssex CHAR(1) , Sage INT, Sdept CHAR(15));
常用數據類型
CHAR(n) 字符型
INT 整型
NUMERIC ( 精度,小數) 實型
DATE 日期型
NUMERIC ( 8,2) 表示精度8位,有2位小數,6位整數
[例2] 建立一個“學生選課”表SC,它由學號Sno、課程號Cno,修課成績Grade組成,其中(Sno, Cno)為主碼。
CREATE TABLE SC(
Sno CHAR(5) , Cno CHAR(3) , Grade INT, Primary key (Sno, Cno));
建立表時,系統會將表的結構描述存入數據字典中
在SQL SERVER中, 數據字典稱為系統表
數據字典===系統表===數據庫模式
SQL SERVER中, 與TABLE有關的系統表:
sysobjects 數據庫對象
syscolumns 列
二、修改基本表
ALTER TABLE <表名>
[ ADD <新列名> <數據類型> [ 完整性約束 ] ] [ DROP <原列名>|<完整性約束名> ] [ALTER COLUMN <原列名> <數據類型> ];
[例3] 向Student表增加“入學時間”列,其數據類型為日期型。
ALTER TABLE Student ADD Scome DATE;
不論基本表中原來是否已有數據,新增加的列一律為空值。
三、刪除基本表
DROP TABLE <表名>;
刪除表時,系統會從數據字典中刪去有關該表的描述
[例4] 刪除Student表
DROP TABLE Student ;
四.索引的建立與刪除
建立索引是加快查詢速度的有效手段
[例5] 為Student的sname列建立索引。
CREATE INDEX StuName ON Student(Sname);
語句格式:
CREATE INDEX <索引名>
ON <表名>(<列名 [,<列名> ]…);
[例6] 為Course的Cname列建立唯一值索引。
CREATE UNIQUE INDEX CouName ON Course(Cname);
刪除索引
DROP INDEX <索引名>;
刪除索引時,系統會從數據字典中刪去有關該索引的描述。
[例7] 刪除Student表的Stusname索引。
DROP INDEX Stusname;
