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