数据库实现(整理)

一、建库的SQL语句

T-SQL创建数据库的语法:

None.gif CREATE    DATABASE   数据库名
None.gif 
ON   [ PRIMARY ]
None.gif (
None.gif  
< 数据文件参数 >   [ ,…n ]    [ <文件组参数> ]
None.gif )
None.gif 
[ LOG ON ]  
None.gif (
None.gif  
< 日志文件参数 >   [ ,…n ]
None.gif )

创建数据库示例(一个数据文件和一个日志文件):

None.gif CREATE   DATABASE  studentDB
None.gif   
ON    PRIMARY    -- 默认就属于PRIMARY主文件组,可省略
None.gif
(
None.gif NAME
= ' studentDB_data ' ,   -- 主数据文件的逻辑名
None.gif
 FILENAME = ' D:\DB\studentDB_data.mdf ' ,   -- 主数据文件的物理名
None.gif
 SIZE = 5mb,   -- 主数据文件初始大小
None.gif
 MAXSIZE = 100mb,   -- 主数据文件增长的最大值
None.gif
 FILEGROWTH = 15 %     -- 主数据文件的增长率
None.gif
)
None.gif
LOG   ON
None.gif(
None.gif  NAME
= ' studentDB_log ' ,
None.gif  FILENAME
= ' D:\DB\studentDB_data_log.ldf ' ,
None.gif  SIZE
= 2mb,
None.gif  FILEGROWTH
= 1MB
None.gif)
None.gif
GO  None.gif

创建数据库示例(两个数据文件和两个日志文件。多个类似):

None.gif CREATE    DATABASE   employees
None.gif  
ON  
None.gif   (
ExpandedBlockStart.gifContractedBlock.gif   
/**/ /*-主数据文件的具体描述-*/
None.gif   NAME 
=   ' employee1 '
None.gif   FILENAME 
=   ' D:\DB\employee1_Data.mdf '  , 
None.gif   SIZE 
=   10
None.gif   FILEGROWTH 
=   10 %
None.gif  ), 
None.gif  (
ExpandedBlockStart.gifContractedBlock.gif   
/**/ /*-次要数据文件的具体描述-*/
None.gif   NAME 
=   ' employee2 '
None.gif   FILENAME 
=   ' D:\DB\employee2_Data.mdf '  , 
None.gif   SIZE 
=   20
None.gif   MAXSIZE 
=   100
None.gif   FILEGROWTH 
=   1
None.gif  ) 
None.gif 
LOG   ON  
None.gif  (
ExpandedBlockStart.gifContractedBlock.gif   
/**/ /*-日志文件1的具体描述-*/
None.gif   NAME 
=   ' employeelog1 '
None.gif   FILENAME 
=   ' D:\DB\employeelog1_Log.ldf '  , 
None.gif   SIZE 
=   10
None.gif   FILEGROWTH 
=   1
None.gif   ), 
None.gif  (
ExpandedBlockStart.gifContractedBlock.gif   
/**/ /*-日志文件2的具体描述-*/
None.gif   NAME 
=   ' employeelog2 '
None.gif   FILENAME 
=   ' D:\DB\employeelog2_Log.ldf '  , 
None.gif   SIZE 
=   10
None.gif   MAXSIZE 
=   50
None.gif   FILEGROWTH 
=   1
None.gif  )
None.gif
GO  

删除数据库的语法:

None.gif DROP   DATABASE  数据库名

删除数据库示例:

None.gif USE  master   -- 设置当前数据库为master,以便访问sysdatabases表
None.gif
GO
None.gif
IF    EXISTS SELECT   *   FROM   sysdatabases  WHERE   name  = ' studentDB '  )
None.gif   
DROP   DATABASE  studentDB           -- EXISTS()语句:检测是否存在studentDB数据库,如果存在studentDB数据库,则删除 
None.gif
CREATE    DATABASE   studentDB
None.gif
ON  (
None.gif …
None.gif)
None.gif
LOG   ON
None.gif(
None.gif …
None.gif)
None.gif
GO

 

二、建表的SQL语句

建表的语法:

None.gif CREATE   TABLE   表名
None.gif (
None.gif    字段1 数据类型 列的特征,
None.gif    字段2 数据类型 列的特征,
None.gif     ……
None.gif)None.gif

 建表示例:

None.gif USE  studentDB    -- 将当前数据库设置为studentDB
None.gif
GO
ExpandedBlockStart.gifContractedBlock.gif
CREATE    TABLE   stuInfo     /**/ /*-创建学员信息表-*/
None.gif(
None.gif stuName  
VARCHAR ( 20 )   NOT    NULL  ,   -- 姓名,非空(必填)
None.gif
 stuNo    CHAR ( 6 )   NOT    NULL ,    -- 学号,非空(必填)
None.gif
 stuAge   INT    NOT    NULL ,   -- 年龄,INT类型默认为4个字节
None.gif
 stuID  NUMERIC( 18 , 0 ),      -- 身份证号
None.gif
 stuSeat    SMALLINT    IDENTITY  ( 1 , 1 ),    -- 座位号,自动编号
None.gif
 stuAddress    TEXT     -- 住址,允许为空,即可选输入
None.gif

None.gif
GO

 

删除表的语法:

None.gif DROP   TABLE  表名

 删除表示例:

None.gif USE  studentDB    -- 将当前数据库设置为studentDB,以便在studentDB数据库中建表
None.gif
GO
None.gif
IF   EXISTS SELECT   *   FROM   sysobjects   WHERE   name = ’stuInfo’ )
None.gif    
DROP    TABLE   stuInfo
ExpandedBlockStart.gifContractedBlock.gif
CREATE    TABLE   stuInfo    /**/ /*-创建学员信息表-*/
None.gif(
None.gif
None.gif
None.gif
GO None.gif

 



三、加约束的SQL语句

常用的约束类型:
主键约束(Primary Key Constraint)、唯一约束(Unique Constraint)、检查约束(Check Constraint)、默认约束(Default Constraint)、外键约束(Foreign Key Constraint)
约束名的取名规则推荐采用:约束类型_约束字段

添加约束的语法:

None.gif ALTER   TABLE  表名  
None.gif     
ADD   CONSTRAINT  约束名  约束类型  具体的约束说明

添加约束示例:

None.gif ALTER   TABLE  stuInfo 
None.gif     
ADD   CONSTRAINT  PK_stuNo  PRIMARY   KEY  (stuNo)  -- 添加主键约束(stuNo作为主键)
None.gif
ALTER   TABLE  stuInfo 
None.gif    
ADD   CONSTRAINT  UQ_stuID  UNIQUE  (stuID)  -- 添加唯一约束(因为每人的身份证号全国唯一)
None.gif
ALTER   TABLE  stuInfo 
None.gif    
ADD   CONSTRAINT  DF_stuAddress 
None.gif          
DEFAULT  ( ' 地址不详 ' FOR  stuAddress  -- 添加默认约束(如果地址不填,默认为“地址不详”)
None.gif
ALTER   TABLE  stuInfo 
None.gif    
ADD   CONSTRAINT  CK_stuAge 
None.gif        
CHECK (stuAge  BETWEEN   15   AND   40 -- 添加检查check约束,要求年龄只能在15-40岁之间
None.gif
ALTER   TABLE  stuMarks
None.gif   
ADD   CONSTRAINT  FK_stuNo   -- 添加外键约束(主表stuInfo和从表stuMarks建立关系,关联字段为stuNo)
None.gif
        FOREIGN   KEY (stuNo)  REFERENCES  stuInfo(stuNo)
None.gif
GO

删除约束的语法:

None.gif ALTER   TABLE  表名  
None.gif      
DROP   CONSTRAINT  约束名 

None.gif ALTER    TABLE   stuInfo  
None.gif     
DROP    CONSTRAINT   DF_stuAddressNone.gif



 

转载于:https://www.cnblogs.com/taisin/archive/2007/02/06/642512.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值