SQL Server 建库,表,约束(一)

原创 2012年03月22日 15:17:10

要点:

1.GO是用来分割批处理的语句.而局部变量的范围仅限于一个批处理内,在GO之后就不能使用之前定义的变量

2.创建数据库 CREATE DATABASE studentManager 和 生成主数据文件,日志文件之间 不要加GO语句,加了的话,会报错,生成不了 主次数据文件,和日志文件

 

3.一个数据库中,只可以有一个 主数据文件(扩展名: .mdf),多个次数据文件(扩展名: .ndf)多个日志文件(扩展名: .Ldf)

 

 

 

studentManager.mdf

 

USE master
go
--查找全部数据库中 如果有 名为 studentManager 则删除
if exists (SELECT * FROM sysdatabases WHERE name = 'studentManager')
   drop database studentManager
go
CREATE DATABASE studentManager
--这里不要加GO语句,加了的话,生成不了 主数据文件,和日志文件

on
primary --主数据文件
( 
  name = 'studentManager',
  fileName = 'D:\SQLServer\Data\studentManager.mdf',
  size = 5 MB ,
  maxSize = 50 MB ,
  fileGrowth = 1 MB
)
-- 这里还可以加 次数据文件,扩展名为 .ndf

log on --日志文件
( name = 'studentManager_log',
  fileName = 'D:\SQLServer\Data\studentManager_log.ldf',
  size = 5 MB ,
  maxSize = 50 MB ,
  fileGrowth = 1 MB  
)
-- 这里还可以加多个日志文件,扩展名为 .ldf
go

USE studentManager
go

--建 主表
create table student(
  --字段名  数据类型  约束(一般在此只加非空约束)
     stuId int identity not null ,  -- identity 标识符 自增 1
     stuName varchar(10) not null ,
     stuAge int not null ,
     stuTel varchar(11) not null,
     stuAddress varchar(20),
     groupId int not null
)
go

--建子表
create table exam(
     
     examId int identity not null ,
     stuId int not null , --外键
     writeResult int ,
     computerResult int  
)
go

--给表添加约束条件
alter table student
   add constraint pk_stuId 
            primary key (stuId), --主键约束
       constraint ch_stuAge 
            check (stuAge>=0 and stuAge<=60), --check约束
       constraint ch_stuTel  --check约束
            check (stuTel like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),--check约束 用了通配符

       constraint DE_stuAddress  --default约束
            default '地址不详' for stuAddress
go
alter table exam
   add constraint pk_examId 
            primary key (examId),
       constraint ch_writeResult 
            check (writeResult>=0 and writeResult<=100),
       constraint ch_computerResult 
            check (computerResult>=0 and computerResult<=100),
       --设外键
       constraint exam_stuId
            foreign key (stuId)
            references student(stuId)
go



 

 


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

thinkphp5 execute执行原生sql插入时获取最新进行新增插入的id

示例代码如下: $effects = Db::execute( 'INSERT INTO ' . $th...

sqlserver的字符集配置

记录一点数据库的知识 背景: 1.echo命令可以将内容直接写到文本中,格式为: echo [content] > [filepath] 一个大于号是创建文件,两个是append。 2.Sql...
  • wwwcomy
  • wwwcomy
  • 2015年10月13日 15:06
  • 2027

SQL Server— 存在检测、建库、 建表、约束、外键、级联删除

*主题: SQL Server— 存在检测、建库、 建表、约束、外键、级联删除 *说明:本文是个人学习的一些笔记和个人愚见 * 有很多地方你可能觉得有异议...
  • xieyunc
  • xieyunc
  • 2015年05月03日 19:07
  • 528

sql server建库、建表、建约束技巧

sql server建库、建表、建约束技巧,下文介绍有文字有代码。 --创建School数据库之前:首先判断数据库是否存在,若存在则删除后再创建,若不存在则创建-- --exists关键字:括...

SQL Server— 存在检测、建库、 建表、约束、外键、级联删除

/******************************************************************************** *主题: SQL ...

黑马程序员--SQL Server 建库、表、存储过程代码实例

exec xp_cmdshell 'mkdir f:\bank', no_output exec xp_cmdshell 'mkdir f:\aaaa',no_output exec sp_con...

SQL Server 建库 建表 添加列 添加,删除主键 SQL脚本 (create,alter,exists ,sysobjects,syscolumns)基础篇

--创建数据库 if exists (select * From master.dbo.sysdatabases where name='DirectionDemo') drop database ...

SQL使用DOS命令建库。建表,添加约束,标量值函数,存储过程,触发器,游标

这些代码是很久以前写的,不知怎么找出来了。贴在这里吧。主要是使用DOS建数据库。建表,添加约束,标量值函数,存储过程,触发器。 代码建库: 为了复习在SQL中使用DOS命令,开头便启用了高...
  • fengsji
  • fengsji
  • 2017年11月08日 17:32
  • 151

T-SQL语句:建库,建表,建约束,简单编程, 各种查询,事务,视图,索引,存储过程···

use master go --允许数据中的调用DOS命令 exec sp_configure 'show advanced options' , 1 go reconfigure go exec...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server 建库,表,约束(一)
举报原因:
原因补充:

(最多只允许输入30个字)