數據庫——SQL數據定義


數據定義

 

 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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM