数据库——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;

 

posted @ 2019-03-30 15:45  王陸  阅读(4407)  评论(0编辑  收藏  举报