以此纪念在深圳做测试的日子…… 每天进步一点点,相信成长不言而喻

SQL学习笔记之一

上一篇 / 下一篇  2010-01-10 21:18:20 / 个人分类:数据库

SQL学习笔记——数据定义之一:

1、表的建立和删除:

建立:CREATE TABLE <表名>

 (<列定义>……[<完整性约束>])

例1:建立教学管理数据库中包括学号、姓名、年龄、性别、地址的表STUDENTS

Create table students

(SNO numeric(6,0) not null,

 SNAME varchar(20) not null,

 SEX char(2),

 BPLACE varchar(20),

 PRIMARY KEY(SNO))

注:not null表示该列不允许出现空值,primary key定义主关键字

例2:根据例1建立的students表,建立一个只包含学号、姓名和年龄的女学生表

 CREATE TABLE GIRL

 AS SELECT SNO,SNAME,AGE WHERE SEX='女'

2.删除表

  DROP CREATE <表名>{CASCADE|RESTRICT]

  使用CASCADE时,在删除表时,该表中的数据、表本身和该表上所建的视图和索引将全部随之消失

  使用RESTRICT时,只有在先清除了表中全部记录行数据,以及在该表上所建的索引和视图后,才能删除一个表。

3.表的扩充和修改

 增加列:ALTER TABLE <表名> ADD (<列名><数据类型>)

  例:在Students表中增加地址列

      ALTER TABLE STUDENT ADD (ADDR VARCHAR(20))

 删除列:ALTER TABLE <表名> DROP <列名>

  例:在STUDENTS表中删除BPLACE列,并把引用该列的所有视图和索引一起删除

      ALTER TABLE STUDENT DROP BPLACE CASCADE

 补充定义主关键字或删除主关键字:ALTER TABLE <表名> ADD PRIMARY KEY(<列名表>)

                               ALTER TABLE <表名> DROP PRIMARY KEY

  例:补充添加GIRL表的主关键字

      ALTER TABLE GIRL ADD PRIMARY KEY(SNO)

      删除students表的主关键字:ALTER TABLE STUDENT DROP PRIMARY KEY

 补充或删除外来关键字:

  补充:ALTER TABLE <表名1> ADD FOREIGN KEY[<外来关键字名>](<列表名>)

       REFERENCES <表名2>

       [ON DELETE {CASCADE|RESTRICT|SET NULL}]

  说明:表名1为当前修改定义的表名;表名2为外来关键字出处的表名;

       [ON DELETE {CASCADE|RESTRICT|SET NULL}]说明当表中被引用的关键字被删除时,为了保证完整性可以采用的三种处理方法:1、CASCADE即当主表(表名2)中的某个关键字被删除时,在本基本表(表名1)中引用了该外来字段的对应行也随之删除;2、RESTRICT即被本基本表的外来关键字所引用的表名2中的主关键字不得删除;3、SET NULL即主表2中某个关键字被删除时,在本基本表1中引用了该外来关键字的对应行的外来关键字设为空值。

  例:补充定义ENROLLS表中外来关键字SNO、CNO

     ALTER TABLE ENROLLS

     ADD FOREIGN KEY(SNO) REFERENCES STUDENT(SNO) ON DETELE CASCADE,

     ADD FOREIGN KEY(CNO) REFERENCES COURSE(CNO) ON DETELE CASCADE

     删除外来关键字:ALTER TABLE ENROLLS DROP SNO

 

 

 


TAG:

 

评分:0

我来说两句

Open Toolbar