SQL Server基础SQL脚本之主外键约束

概要


本系列,几乎都是代码,记得当时写的时候用的是微软的官方实例数据库AdventureWorks_Data.mdf、AdventureWorks_Log.ldf来运行的。

下载链接:链接: https://pan.baidu.com/s/1pMdLz6N 密码: xvhu

或者回复“AdventureWorks”来获取链接。

代码我就放在文中了。

if exists(select * from sys.databases where name='SchDB')
drop database SchDB
create database SchDB on primary
(name='S_DB',filename='D:\S_DB.mdf',size=5mb,maxsize=100mb,filegrowth=10%),
(name='S_DB_N_1',filename='D:\S_DB_N_1.ndf',size=1mb,maxsize=50mb,filegrowth=1mb),
(name='S_DB_N_2',filename='D:\S_DB_N_2.ndf',size=1mb,maxsize=50mb,filegrowth=1mb),
filegroup XXX
(name='S_DB_N_3',filename='D:\S_DB_N_3.ndf',size=1mb,maxsize=50mb,filegrowth=1mb),
(name='S_DB_N_4',filename='D:\S_DB_N_4.ndf',size=1mb,maxsize=50mb,filegrowth=1mb),
(name='S_DB_N_5',filename='D:\S_DB_N_5.ndf',size=1mb,maxsize=50mb,filegrowth=1mb)
go

alter database SchDB add filegroup YYY
go
alter database SchDb add file(
    name='S_DB_N_6',filename='D:\S_DB_N_6.ndf',
    size=1mb,maxsize=50mb,filegrowth=1mb
)to filegroup YYY
alter database SchDB modify filegroup YYY default
use SchDB
create table U3(
    id  int constraint PK_HAHA primary key,
    age int constraint CK_HAHA check(age in(20,70,80)) default 80
)
insert into U3 output inserted.* values(default)
insert into U3 output inserted.* values(30)
sp_renameDB 'SchDB','HEIHEI'
create schema XIXI
create table XIXI.U(
    id int foreign key(id) references U3(id)
)
create table Y(
    id  int  ,
    s_id int
constraint PK_id_s_id primary key(id,S_id)
)
--创建唯一约束
create table K1(name nvarchar(20) unique)
create table K3(
    id int not null,--如果是主键必须添加not null
    name nvarchar(20) constraint UQ_Name2 unique
)
--修改表创建约束
alter table K3 add constraint PK_id primary key(id)

create table a(--主表
aid int primary key
)
create table b(--从表
bid int foreign key(bid) references a(aid)
)
drop table b
drop table a

create table a1(
    aid int constraint PK_a primary key,
    age int check(age between 27 and 80),
    sex int check(sex in('M','F')),
    tel nvarchar(20) check(tel like'1[3,5,7,8][0-9][0-9][0-9][0-9][0-9][0-9][0-9]
        [0-9][0-9]')

)
create table b2(
    f nvarchar(10)
)

create rule R as @f  like 'Y%'
sp_bindrule 'R','b2.f'
insert into b2 values('you')
select * from b2
sp_unbindrule 'b2.f'
drop rule R

create type HAHA from int not null
create table F(hj    HAHA )
insert into F values(23)

create synonym HIHI for AdventureWorks.HumanResources.Department
    select * from HIHI

create partition function GG(int) as range left for values(30,70,90)
    create partition function JK(date) as range right for values('2001-09-09',
    '2003-06-09')

    ---------------------------------
if exists(select * from sys.databases where name='SchDB')
drop database SchDB
create database SchDB on primary
(name='S_DB',filename='D:\S_DB.mdf',size=5mb,maxsize=100mb,filegrowth=10%),
(name='S_DB_N_1',filename='D:\S_DB_N_1.ndf',size=1mb,maxsize=50mb,filegrowth=1mb),
(name='S_DB_N_2',filename='D:\S_DB_N_2.ndf',size=1mb,maxsize=50mb,filegrowth=1mb),
filegroup XXX
(name='S_DB_N_3',filename='D:\S_DB_N_3.ndf',size=1mb,maxsize=50mb,filegrowth=1mb),
(name='S_DB_N_4',filename='D:\S_DB_N_4.ndf',size=1mb,maxsize=50mb,filegrowth=1mb),
(name='S_DB_N_5',filename='D:\S_DB_N_5.ndf',size=1mb,maxsize=50mb,filegrowth=1mb)
go
alter database HEIHEI add filegroup FG_New
alter database HEIHEI add file(name='S_DB_N_7',filename='D:\S_DB_N_7.ndf')to 
filegroup FG_New
alter partition scheme SC next used FG_New
alter partition function GG() split range(90)

原文发布于微信公众号 - 数据库SQL(SQLdba)

原文发表时间:2018-02-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

史上最全Linux命令科普 | 常见命令的名称是怎么来的?

1 目录缩写 缩写 | 全称 | 说明 --- | --- | --- | /bin | BINaries | 二进制可执行命令 /dev | DEVices...

2614
来自专栏coding...

swift3.0 coreData的使用-日记本demo效果需求分析创建工程添加数据库改写Detail页面改写Master页面Demo地址

基于官方MasterDetail模板,官方写了很多复杂的coredata逻辑,在此基础上快速开发简单的日记本程序。

724
来自专栏散尽浮华

jenkins配置记录(2)--代码发布流程

在我们的日常运维工作中,使用jenkins来完成业务代码发版上线是至关重要的一环。 前面已经提到在jenkins上添加用户权限的操作,今天重点说下如何在jenk...

3459
来自专栏bboysoul

解决因为ssh秘钥权限问题导致的Connection closed by 192.168.1.31 port 2222

事情是这样的, 其实是gitlab上不能使用ssh去拉取代码,我一直以为是防火墙的问题,后来测试端口是开着的,但是就是一直连接拒绝,所以这个就很蛋疼,后来才想到...

532
来自专栏Jerry的SAP技术分享

使用SAP云平台的destination消费Internet上的OData service

通过SAP云平台上的destination我们可以消费Internet上的OData service或者其他通过HTTP方式暴露出来的服务。

3824
来自专栏自由而无用的灵魂的碎碎念

解决windows7不能设置壁纸的问题

我的系统是windows server 2008 r2(启用windows 7桌面体验)最近因为系统慢的缘故,强关了一下机,开机进入系统,发现成黑屏了,改变wi...

894
来自专栏实战docker

Java的wait()、notify()学习三部曲之二:修改JVM源码看参数

在上一章《 Java的wait()、notify()学习三部曲之一:JVM源码分析》中,我们通过JVM源码分析了线程同步的相关操作,但还是留下了一些疑惑未解:在...

2189
来自专栏企鹅号快讯

防止“rm-rf/”误删除的5种方法

到周四了,大家好啊,在raksmart服务器Linux系统下防止“rm -rf /”误删除,不解释了,运维应该在每台服务器都去配置这个问题以减少灾难的发生,下面...

1736
来自专栏熊二哥

Linux快速入门03-系统管理

这部分将涉及常用的各类linux命令和一些系统高级管理特性,尤其是shell script的创建,这部分在系统自动化运维时会很有作用。 ? 在进入bash介绍...

1847
来自专栏逸鹏说道

使用OAuth打造webapi认证服务供自己的客户端使用

一、什么是OAuth OAuth是一个关于授权(Authorization)的开放网络标准,目前的版本是2.0版。注意是Authorization(授权),而不...

3346

扫描关注云+社区