数据库实现

一、建库的SQL语句

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

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

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

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

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

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

删除数据库的语法:

DROP DATABASE 数据库名


删除数据库示例:

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

二、建表的SQL语句

建表的语法:

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

 建表示例:

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

GO

删除表的语法:

DROP TABLE 表名

 删除表示例:

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


GO



三、加约束的SQL语句

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

添加约束的语法:

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

添加约束示例:

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

删除约束的语法:

ALTER TABLE 表名  
      
DROP CONSTRAINT 约束名 
ALTER  TABLE  stuInfo  
     
DROP  CONSTRAINT  DF_stuAddress

 

原文地址:https://www.cnblogs.com/tianlangshu/p/2468881.html