获取完全一样的数据库,包括表与表之间的外键关系,check,default表结构脚本

  今天公司给了一个任务,某一个项目由于数据过大,造成Sql Server 2012 的运行占用很大内存,于是要把之前的不常用的数据分开。要求写个脚本,要求:

1.能获取原来数据库中的表结构,主键一致。表与表之间的约束关系(外键,check,default)一致;

2.有些表不想要就不要,可选。

3.而且效率要考虑,这个脚本以后常用。

(这里都是本地的测试数据)

软件: Sql Server2012(其他的版本没有亲自试验,不知道效果)

图1:找到原数据库,选择任务-->生成脚本

图2:选择要创建的表(可以选择全部,本例选全部)

图3:保存脚本的路径,这里是默认路径

图4:一些概述,直接Next

图5:先手动新建一个database,这里是AnswerTest,然后打开刚才保存的脚本,将其中的一些名称全部改为你刚刚建立的database,这里全部改为AnswerTest

图6:这一部分是创建刚才新建database的语句,但是因为我们创建了,所以就不需要这一部分了。但是,要是我不手动创建之前的database的话,执行的时候其他的地方会报错,说:“database AnswerTest doesn‘t exist……”,不知道是什么原因,求教。

图7:这些约束先检查一遍(这里完全正确),请按F5,执行。

  我一共测试了4遍,测试通过。

时间: 2024-11-11 06:46:12

获取完全一样的数据库,包括表与表之间的外键关系,check,default表结构脚本的相关文章

例题:学习数据库查询。学生信息表的创建,主外键关系,以及45道题的查询实例。主要知识点在讲页45页,和讲页65页

create database shujuku use shujuku use cangku go --注意事项:外键对本关系不一定是键 --2:创建外键时,链接表的主关键字已经确立 --3:当创建外部键后,外部键的取值必须来源于主键值 --4:要想删除主键表时,必须先删除外键表信息 create table student--学生表 ( sno varchar(50) not null primary key ,--学生主键 sname varchar(50)not null, ssex va

SQL Server数据库中导入导出数据及结构时主外键关系的处理

2015-01-26 软件开发中,经常涉及到不同数据库(包括不同产品的不同版本)之间的数据结构与数据的导入导出.处理过程中会遇到很多问题,尤为突出重要的一个问题就是主从表之间,从表有外检约束,从而导致部分数据无法导入. 情景一.同一数据库产品,相同版本 此种情况下源数据库与目标数据库的数据结构与数据的导入导出非常简单. 方法1:备份源数据库,恢复到目标数据库即完成. 方法2:使用SQL Sever数据库自带的[复制数据库]功能或者[导入数据]功能按照向导操作即可. 情景二.同一数据库产品,不同版

数据库的SQL语句创建和主外键删除操作

1 create table UserType 2 3 ( 4 5 Id int primary key identity(1,1), Name nvarchar(25) not null 6 7 ) go 1 create table UserInfo 2 3 ( 4 5 Id int primary key identity(1,1), LoginPwd varchar(50) not null, LoginName varchar(50) not null, Name varchar(25

数据库主从表、关系;主、外键关系和作用

从数据库是主数据库的备份,当主数据库变化时从数据库要更新,这些数据库软件可以设计更新周期.这是提高信息安全的手段.主从数据库服务器不在一个地理位置上,当发生意外时数据库可以保存.主外键的关系结构:1,一对一,不用引用主外键,把它们放一个表中即可例如:一个学生只能有一个卡号,那么学生跟卡号放在一个表中即可2,一对多,引用主外键,'一'相当于主键,'多'即是引用主键的外键.例如:一个班级可以有多个学生,并且一个学生只能属于一个班级,这就是一对多的关系:3,多对多关系,需要创建一个表,表中需要两个字段

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

sql server 2008中的主外键关系获取方式: 转自:http://www.cnblogs.com/ke10/archive/2012/06/11/2544655.html SELECT OBJECT_NAME(con.constid) '关系名' ,OBJECT_NAME(sf.fkeyid) '主键表' ,fcol.name '主键' ,OBJECT_NAME(sf.rkeyid) '外键表' ,rcol.name '外键',st.name'数据类型'FROM sysforeignk

Oracle数据库中,知道一张表,查询与其有主外键关系的表

--查外键表NC56.CSCI有无对应的主键表 SELECT a.owner, A.TABLE_NAME primary_table_name, A.CONSTRAINT_NAME primary_table_key_name, b.owner, B.TABLE_NAME foreign_table_name, B.CONSTRAINT_NAME foreign_table_foreign_key_name, B.STATUS foreign_table_foreign_key_stat FRO

关于表的主外键关系练习 师生 分数表

--创建三个表 --表一:学生表 student--学号:code int (主键)从1开始--姓名:name varchar(50)--性别:sex char(10)--班级:banji char(10)--语文教师编号:yujiao int --数学教师编号:yujiao int --英语教师编号:yujiao int --表二:教师表 teacher--教师名字:name --教师编号:code int (主键) 从1001开始--负责课程:lesson char(10)(语文.数学.英语

详细讲解提高数据库查询效率的实用方法、外键关于性能

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放

MySQL 之 第二章: 库与表的基本操作; 数据类型; 完整性约束; 外键;

库与表的基本操作 数据类型 完整性约束 外键 库与表的基本操作 库的增删改查: 查看系统库语句: show databases; information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件.锁等现象mysql: 授权库,主要存储系统用户的权限信息 sys: 创建数据库语法: