--IF DB_ID('testdb') IS NULL
--CREATE DATABASE testdb
USE master
GO
IF EXISTS ( SELECT *
FROM sys.databases
WHERE name = 'TestDB' ) --是否存在,存在删除
DROP DATABASE TestDB
--GO
-- EXEC xp_cmdshell 'mkdir D:\SQL' --调用DOS命令创建文件夹
CREATE DATABASE TestDB ON PRIMARY --PRIMARY可选,用于创建主数据库文件
(
NAME='TestDB1_data',--主数据库文件逻辑名
FILENAME='D:\SQL\TestDB1_data.mdf',--主数据库文件物理名
SIZE=5MB,--主数据库文件初始大小
MAXSIZE=10MB,--主数据库文件最大大小
FILEGROWTH = 10%--主数据库文件增长值
),
(
NAME='TestDB2_data',--次数据库文件逻辑名
FILENAME='D:\SQL\TestDB2_data.ndf',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH = 10%
) LOG ON
(
NAME='TestDB1_log',
FILENAME='D:\SQL\TestDB1_log.1df',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH = 10%
),
(
NAME='TestDB2_log',
FILENAME='D:\SQL\TestDB2_log.1df',
SIZE=5MB,
MAXSIZE=10MB,
FILEGROWTH = 10%
)
GO
USE TestDB
GO
IF EXISTS ( SELECT * FROM sys.objects WHERE name = 'TestTable1' AND type = 'u' )
DROP TABLE TestTable1
CREATE TABLE TestTable1
(
[id] INT NOT NULL PRIMARY KEY IDENTITY(1, 1) ,
[T1_id] INT NOT NULL UNIQUE,
[name] VARCHAR(200) NOT NULL ,
[age] INT NOT NULL CHECK(age > 0),
[remark] NVARCHAR(2000) NULL DEFAULT ('')
) go
IF EXISTS ( SELECT * FROM sys.objects WHERE name = 'TestTable2' AND type = 'u' )
DROP TABLE TestTable2
CREATE TABLE TestTable2
(
[id] INT NOT NULL ,
[T2_id] INT NOT NULL FOREIGN KEY REFERENCES TestTable1(id) ,
[name] VARCHAR(200) NOT NULL ,
[age] INT NOT NULL ,
[remark] NVARCHAR(2000) NULL
)
--在外部添加约束
ALTER TABLE dbo.TestTable2 ADD CONSTRAINT Pk_Id PRIMARY KEY (id) --主键
--ALTER TABLE dbo.TestTable2 DROP CONSTRAINT pk_id --删除主键
ALTER TABLE dbo.TestTable2 ADD CONSTRAINT Uq_Id UNIQUE(T2_id)--唯一
--ALTER TABLE dbo.TestTable2 DROP CONSTRAINT uq_id --删除唯一
ALTER TABLE dbo.TestTable2 ADD CONSTRAINT Ck_Age CHECK(age > 0 )--检查
--
ALTER TABLE dbo.TestTable2 ADD CONSTRAINT Df_name DEFAULT('') FOR name
--ALTER TABLE dbo.TestTable2 DROP CONSTRAINT Df_name
ALTER TABLE dbo.TestTable2 ADD CONSTRAINT Fk_Id FOREIGN KEY (T2_id) REFERENCES dbo.TestTable1 (id)
--
--USE master
--DROP DATABASE TestDB

快速建库

-- 1.搜索 [Sharp4DemoDase] 更改为你要创建的库名称 

-- 2.搜索 N'Sharp4DBTest_log' 替换为新库的日志名称 

-- 3.搜索 N'Sharp4DBTest' 替换为新的库文件名 

-- 4.搜索 N'D:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\Sharp4DBTest.mdf' 为新的库文件保存路径 ' 

-- 5.搜索 N'D:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\Sharp4DBTest_log.ldf' 为新的日文件保存路途径 

-- 然后执行下面的脚本 

USE [master] 

GO 

/****** 对象 :  Database [Sharp4DemoDase]    脚本日期 : 12/28/2008 23:13:57 ******/ 

CREATE DATABASE [Sharp4DemoDase] ON PRIMARY
(
NAME= N'Sharp4DBTest' ,
FILENAME= N'D:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\Sharp4DBTest.mdf',
SIZE= 3072KB ,
MAXSIZE= UNLIMITED,
FILEGROWTH= 1024KB
) LOG ON
(
NAME= N'Sharp4DBTest_log' ,
FILENAME= N'D:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\DATA\Sharp4DBTest_log.ldf',
SIZE= 1024KB ,
MAXSIZE= 2048GB ,
FILEGROWTH= 10%
) COLLATE Chinese_PRC_CI_AS GO EXEC dbo.sp_dbcmptlevel @dbname = N'Sharp4DemoDase', @new_cmptlevel = 90
GO
IF ( 1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled') )
BEGIN
EXEC [Sharp4DemoDase].[dbo].[sp_fulltext_database] @action = 'disable'
END
GO
ALTER DATABASE [Sharp4DemoDase] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET ANSI_NULLS OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET ANSI_PADDING OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET ARITHABORT OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [Sharp4DemoDase] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [Sharp4DemoDase] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [Sharp4DemoDase] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET ENABLE_BROKER
GO
ALTER DATABASE [Sharp4DemoDase] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [Sharp4DemoDase] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [Sharp4DemoDase] SET READ_WRITE
GO
ALTER DATABASE [Sharp4DemoDase] SET RECOVERY FULL
GO
ALTER DATABASE [Sharp4DemoDase] SET MULTI_USER
GO
ALTER DATABASE [Sharp4DemoDase] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [Sharp4DemoDase] SET DB_CHAINING OFF USE [master]
GO
/****** 对象 : Database [Test01] 脚本日期 : 12/29/2008 10:08:46 ******/
IF EXISTS ( SELECT name
FROM sys.databases
WHERE name = N'Test01' )
DROP DATABASE [Test01]

参考:--更多超详细的约束请看 http://www.cnblogs.com/troywithblog/archive/2013/05/24/3096480.html

SQL_DDL_建库建表的更多相关文章

  1. MySQL建库建表

    一直使用SQL SERVER 数据库:最近项目使用MY SQL感觉还是有一点不适应.不过熟悉之后就会好很多. MY SQL 安装之后会有一个管理工具MySQL Workbench 感觉不太好用,数据库 ...

  2. 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式

    导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...

  3. 【ITOO 3】.NET 动态建库建表:实用EF框架提供的codeFirst实现动态建库

    导读:在上篇博客中,介绍了使用SQL字符拼接的方式,实现动态建库建表的方法.这样做虽然也能够实现效果,但是,太麻烦,而且,如果改动表结构,字段的话,会对代码修改很多.但是EF给我们提供了一种代码先行的 ...

  4. SQL Server建库-建表-建约束

    ----------------------------------------SQL Server建库-建表-建约束创建School数据库------------------------------ ...

  5. 使用T-sql建库建表建约束

    为什么要使用sql语句建库建表? 现在假设这样一个场景,公司的项目经过测试没问题后需要在客户的实际环境中进行演示,那就需要对数据进行移植,现在问题来了:客户的数据库版本和公司开发阶段使用的数据库不兼容 ...

  6. mysql那些事(4)建库建表编码的选择

    mysql建数据库或者建表的时候会遇到选择编码的问题,以前我们都是习惯性的选择utf8,但是在mysql在5.5.3版本后加了utf8mb4的编码,utf8mb4可以存4个字节Unicode,mb4就 ...

  7. C# 利用*.SQL文件自动建库建表等的类

    /// <summary> /// 自动建库建表 /// </summary> public class OperationSqlFile { SqlConnection sq ...

  8. Mysql建库建用户建表等常用命令

    格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...

  9. oracle 11g 建库 建表 增 删 改 查 约束

    一.建库 1.(点击左上角带绿色+号的按钮) 2.(进入这个界面,passowrd为密码.填写完后点击下面一排的Test按钮进行测试,无异常就点击Connect) 二.建表 1-1. create t ...

随机推荐

  1. Jersey入门二:运行项目

    1.项目有了,在终端窗口进入项目的根目录(即 \simple-service ) 2.现在先测试运行下: mvn clean test  项目将会被编译,并且进行单元测试  上面可以看看到测试通过 ...

  2. 在windows下的CLI模式下如何运行php文件

    https://blog.csdn.net/evkj2013/article/details/52313728 https://jingyan.baidu.com/article/da1091fb09 ...

  3. 洛谷P1527 [国家集训队] 矩阵乘法 [整体二分,二维树状数组]

    题目传送门 矩阵乘法 题目描述 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. 输入输出格式 输入格式: 第一行两个数N,Q,表示矩阵大小和询问组数: 接下来N行N列一共N* ...

  4. Python并发编程-IO模型-IO多路复用实现SocketServer

    Server.py import select import socket sk = socket.socket() sk.bind(('127.0.0.1',8080)) sk.setblockin ...

  5. 使用IDEA运行Eclipse编辑jetty运行的J2EE项目的惨痛教训

    公司的项目原本是使用Eclipse,使用自带的jetty运行, 用IDEA通过git clone后,使用Tomcat运行,可以运行,却无法访问页面,总是报错404 后来使用IDEA Jetty运行,经 ...

  6. JAVAEE——淘淘商城第一天:电商行业的背景和技术特点,商城的介绍、技术的选型、系统架构和工程搭建

    1. 学习计划 1.电商行业的背景. 2.电商行业的技术特点 3.商城的介绍 a) 常用的名词介绍 b) 系统功能介绍 4.淘淘商城的系统架构 a) 传统架构 b) 分布式架构 c) 基于服务的架构 ...

  7. Swift2.0语言教程之类的嵌套与可选链接

    Swift2.0语言教程之类的嵌套与可选链接 Swift2.0语言类的嵌套 在一个类中可以嵌套一个或者多个类.它们的嵌套形式也是不同的,大致分为了两种:直接嵌套和多次嵌套.下面依次讲解这两种方式. S ...

  8. python语法(二)— 判断

    昨天简单的学习了一些python的一些简单的语句与python的数据类型,今天继续学习python的基础语句 if 语句. 一.if 语句 if 语句语法 if expression: ifSuite ...

  9. Linux命令学习<不断更新>

    没有系统的学习过Linux命令,遇到了就学习一下,慢慢积累. 1.echo 命令,学习网站『https://linux.cn/article-3948-1.html』. echo单词有回声.共鸣的意思 ...

  10. [BZOJ4557][JLOI2016]侦察守卫(树形DP)

    首先可以确定是树形DP,但这里存在跨子树的信息传递问题,这里就需要“借”的思想. f[i][j]表示i子树内所有点都被覆盖到,且i以外j层内的点都能被覆盖到 的方案数. g[i][j]表示i子树内离i ...