简单的创建数据库的 SQL 语句:

 use master
go if exists(select * from sysdatabases where name='Test')
begin
select '该数据库已存在'
drop database Test --如果该数据库已经存在,那么就删除它
end
else
begin
create database Test
on primary --表示属于 primary 文件组
(
name='stuDB_data', -- 主数据文件的逻辑名称
filename='D:\stuDB_data.mdf', -- 主数据文件的物理名称
size=5mb, --主数据文件的初始大小
maxsize=100mb, -- 主数据文件增长的最大值
filegrowth=15% --主数据文件的增长率
)
log on
(
name='stuDB_log', -- 日志文件的逻辑名称
filename='D:\stuDB_log.ldf', -- 日志文件的物理名称
size=2mb, --日志文件的初始大小
maxsize=20mb, --日志文件增长的最大值
filegrowth=1mb --日志文件的增长率
)
end

接下来是创建数据表的 SQL 语句:

 use Test    --表示设置为在该数据库(Test)执行下面的SQL语句
go

可以先执行一下以上语句。

或者在这里选择数据库。

 use Test    --表示设置为在该数据库(Test)执行下面的SQL语句
go if exists(select * from sysobjects where name='Student')
begin
select '该表已经存在'
drop table Student --删除表
end
else
begin
create table Student
(
S_Id int not null identity(1,1) primary key, --设置为主键和自增长列,起始值为1,每次自增1
S_StuNo varchar(50) not null,
S_Name varchar(20) not null,
S_Sex varchar(10) not null,
S_Height varchar(10) null,
S_BirthDate varchar(30) null
)
end --添加约束
alter table Student add constraint
UQ_S_StuNo --约束名
unique --约束类型(唯一约束)
(S_StuNo) --列名 --删除约束
alter table Student drop constraint
UQ_S_StuNo --约束名

SQL语句创建表变量:

 declare @Score table
(
Id int not null,
Name varchar(50) null
) insert into @Score
select '','刘邦' union
select '','项羽' select * from @Score

SQL语句创建临时表:

 -- ## 表示全局临时表
create table ##temp
(
Id int not null,
Name varchar(10) null
) -- # 表示局部临时表
create table #temp
(
Id int not null,
Name varchar(10) null
)

SQL 语句创建表并设置主外键关系:

 if exists(select * from sysObjects where name='Course')
begin
select '该表已经存在'
drop table Course
end
else
begin
create table Course
(
--列名 字段类型 是否为空 标识外键列(外键列名) 关联表的表名(关联的字段名)
Stu_Id int null foreign key(Stu_Id) references Student(S_Id),
C_Id int not null identity(1,1) Primary key,
C_Name varchar(100) not null
)
end

注意:表变量和临时表都不能添加约束,具体的特征和适用场景请参见:

http://www.cnblogs.com/kissdodog/archive/2013/07/03/3169470.html

SQL Server语句创建数据库和表——并设置主外键关系的更多相关文章

  1. MySQL创建数据表并建立主外键关系

    为mysql数据表建立主外键需要注意以下几点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB. 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型. 外键列和参照列必须创建索引, ...

  2. sql server 脚本创建数据库和表

    USE [master] GO IF EXISTS(SELECT 1 FROM sysdatabases WHERE NAME=N'HkTemp') BEGIN DROP DATABASE HkTem ...

  3. Sql Server有主外键关系时添加、删除数据

    当表之间有主外键关系时删除数据会被约束,添加.删除失败 解决办法,我们可以先把主外键关系的检查约束给关掉 → 然后删除数据 → 之后再把约束打开 查询出关掉所有外键约束的语句 SELECT 'ALTE ...

  4. SQL Server中查询数据库及表的信息语句

    /* -- 本文件主要是汇总了 Microsoft SQL Server 中有关数据库与表的相关信息查询语句. -- 下面的查询语句中一般给出两种查询方法, -- A方法访问系统表,适应于SQL 20 ...

  5. SQL Server 2008创建数据库

    1.数据.数据库.数据管理系统基本概念: 数据:人类有用信息的符号化表示. 数据库:按照数据结构来组织.存储和管理数据的一个仓库. 数据库管理系统(DBMS):可维护.存储并为应用系统提供数据的软件系 ...

  6. sql server 脚本创建数据库邮件

    sql server 脚本创建数据库邮件代码: --脚本创建数据库邮件 --1.开启数据库邮件 RECONFIGURE WITH OVERRIDE GO RECONFIGURE WITH OVERRI ...

  7. sql server 无法创建数据库,错误代码:1807

    SQL Server 不能创建数据库,发生错误:1807 :未能获得数据库 'model' 上的排它锁.请稍后重试操作. declare   @sql   varchar(100)     while ...

  8. SQL SERVER中获取表间主外键关系

    sql server 2008中的主外键关系获取方式: 转自:http://www.cnblogs.com/ke10/archive/2012/06/11/2544655.html SELECT OB ...

  9. 在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键)

    原文:在论坛中出现的比较难的sql问题:10(删除多表中的同一个外键) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有 ...

随机推荐

  1. linux改动登陆主机提示信息

    寻常管理着130多台Linux物理主机.真正搞清楚每一台主机的IP信息.应用部署比較麻烦! 所以在部署之初,必须规划好: 写一个脚本.把主机IP.管理员联系方法,应用部署等主机信息放在.sh里面 sh ...

  2. how to use novaclient python api

    ref: http://docs.openstack.org/developer/python-novaclient/api.html

  3. hdu 1058:Humble Numbers(动态规划 DP)

    Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  4. Android音视频学习第7章:使用OpenSL ES进行音频解码

    /* * *这里使用了transcode-1.1.7对wav文件进行解码.然后使用opensl es进行播放 * */ //用到的变量和结构体 WAV wav; //wav文件指针 SLObjectI ...

  5. OSG四元数与欧拉角之间的转换

    osg::Quat HPRToQuat(double heading, double pitch, double roll) { osg::Quat q( roll, osg::Vec3d(0.0, ...

  6. 【BZOJ2424】[HAOI2010]订货 最小费用流

    [BZOJ2424][HAOI2010]订货 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定 ...

  7. idea下maven项目增加依赖项目里面没有添加相关依赖jar

    困扰了一晚上的问题,一般在pom.xml中增加了相关依赖,idea会自动将依赖的Jar包增加到maven项目中,但是在pom.xml中增加了依赖,项目中并没有 偶然打开idea的侧边栏maven工具栏 ...

  8. 目前最火的php框架

    1.yii 作者:宗霖链接:https://www.zhihu.com/question/25023032/answer/75085250来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  9. 面试之一:CMS收集器整理

      CMS收集器整理 @white 基本说明: 目标:获取最短回收停顿时间 算法:标记-清除算法 线程:并发 步骤: 初始标记:(会STP) 标记 GC Roots 能直接关联到的对象,速度很快 并发 ...

  10. hibernate的二级缓存----collection和query的二级缓存

    collection二级缓存: 不使用集合的二级缓存时: 运行下面的代码: @Test public void testCollectionSecondLevelCache1(){ Departmen ...