SQL sever数据导入导出实验

1.创建数据库TCP-H

(1)右键"数据库",点击"新建数据库"即可

(2)用sql语言创建,此处以创建数据库DB_test为例,代码如下:

复制代码
use master;
 go

 --检查在当前服务器系统中的所有数据里面是否有该数据库
IF EXISTS(SELECT * FROM sysdatabases WHERE NAME='DB_test')
--如果有删除该数据库
 DROP DATABASE DB_test
-- 创建该数据库
 CREATE DATABASE DB_test  ---DB_Yun 数据名称
 ON PRIMARY
 (
 NAME='DB_test',  --主数据文件的逻辑名
 FILENAME='D:developsqldataDB_test.mdf', --主数据文件存储位置
 SIZE=16MB,  --主数据文件的初始大小
 FILEGROWTH=8MB, --每次增容时增加的容量大小
 MAXSIZE=UNLIMITED  --增量速度 unlimited无限制
 )
 LOG  ON( 
	NAME='DB_test.LDF',  --日志文件
	FILENAME='D:developsqldataDB_test.ldf', --日志文件存储位置
	SIZE=16MB,  --日志文件初始大小
	FILEGROWTH=8MB,  --日志文件每次增加的容量大小
	MAXSIZE=UNLIMITED

(3)创建成功

2.进行数据的导入

(1)下载csv文件

(2)进行导入,导入代码如下

复制代码
use [TPC-H];

/*drop table PART;*/
CREATE TABLE PART
(P_PARTKEY int primary key,
P_NAME varchar(55),
P_MFGR char(25),
P_BRAND char(10),
P_TYPE varchar(25),
P_SIZE int,
P_CONTAINER char(10),
P_RETAILPRICE decimal,
P_COMMENT varchar(23))
TRUNCATE TABLE PART;

BULK INSERT PART
FROM"D: part.csv"
WITH
(FIELDTERMINATOR=',',
ROWTERMINATOR='
')

/*drop table REGION;*/
CREATE TABLE REGION
(R_REGIONKEY INT PRIMARY KEY,
R_NAME CHAR(25),
R_COMMENT VARCHAR(152))
TRUNCATE TABLE REGION;

BULK INSERT REGION
FROM"D: 
egion.csv"
WITH
(FIELDTERMINATOR=',',
ROWTERMINATOR='
')

/*drop table NATION*/
CREATE TABLE NATION
(N_NATIONKEY INT PRIMARY KEY,
N_NAME CHAR(25),
N_REGIONKEY INT FOREIGN KEY REFERENCES REGION(R_REGIONKEY),
N_COMMENT VARCHAR(152))
TRUNCATE TABLE NATION;

BULK INSERT NATION
FROM"D: 
ation.csv"
WITH
(FIELDTERMINATOR=',',
ROWTERMINATOR='
')

/*drop table SUPPLIER*/
CREATE TABLE SUPPLIER
(S_SUPPKEY int PRIMARY KEY,
S_NAME char(25),
S_ADDRESS varchar(40),
S_NATIONKEY INT FOREIGN KEY REFERENCES NATION(N_NATIONKEY),
S_PHONE CHAR(15),
S_ACCTBAL DECIMAL,
S_COMMENT VARCHAR(101))
TRUNCATE TABLE SUPPLIER;

BULK INSERT SUPPLIER
FROM"D: supplier.csv"
WITH
(FIELDTERMINATOR=',',
ROWTERMINATOR='
')

/*drop table PARTSUPP*/
CREATE TABLE PARTSUPP
(PS_PARTKEY INT FOREIGN KEY REFERENCES PART(P_PARTKEY),
PS_SUPPKEY INT FOREIGN KEY REFERENCES SUPPLIER(S_SUPPKEY),
PS_AVAILQTY INT,
PS_SUPPLYCOST DECIMAL,
PS_COMMENT VARCHAR(199),
PRIMARY KEY(PS_PARTKEY,PS_SUPPKEY))
TRUNCATE TABLE PARTSUPP;

BULK INSERT PARTSUPP
FROM"D: partsupp.csv"
WITH
(FIELDTERMINATOR=',',
ROWTERMINATOR='
')

/*drop table CUSTOMER*/
CREATE TABLE CUSTOMER
(C_CUSTKEY INT PRIMARY KEY,
C_NAME VARCHAR(25),
C_ADDRESS VARCHAR(40),
C_NATIONKEY INT FOREIGN KEY REFERENCES NATION(N_NATIONKEY),
C_PHONE CHAR(15),
C_ACCTBAL DECIMAL,
C_MKTSEGMENT CHAR(10),
C_COMMENT VARCHAR(117))
TRUNCATE TABLE CUSTOMER;

BULK INSERT CUSTOMER
FROM"D: customer(1).csv"
WITH
(FIELDTERMINATOR=',',
ROWTERMINATOR='
')

/*drop table ORDERS*/
CREATE TABLE ORDERS
(O_ORDERKEY INT PRIMARY KEY,
O_CUSTKEY INT,
O_ORDERSTATUS CHAR(1),
O_TOTALPRICE DECIMAL,
O_ORDERDATE DATE,
O_ORDERPRIORITY CHAR(15),
O_CLERK CHAR(15),
O_SHIPPRIORITY INT,
O_COMMENT VARCHAR(79),
FOREIGN KEY(O_CUSTKEY) REFERENCES CUSTOMER(C_CUSTKEY))
TRUNCATE TABLE ORDERS;

BULK INSERT ORDERS
FROM"D: orders.csv"
WITH
(FIELDTERMINATOR=',',
ROWTERMINATOR='
')

/*drop table LINEITEM*/
CREATE TABLE LINEITEM
(L_ORDERKEY INT FOREIGN KEY REFERENCES ORDERS(O_ORDERKEY),
L_PARTKEY INT FOREIGN KEY REFERENCES PART(P_PARTKEY),
L_SUPPKEY INT FOREIGN KEY REFERENCES SUPPLIER(S_SUPPKEY),
L_LINENUMBER INT,
L_QUANTITY DECIMAL,
L_EXTENDEDPRICE DECIMAL,
L_DISCOUNT DECIMAL,
L_TAX DECIMAL,
L_RETURNFLAG CHAR(1),
L_LINESTATUS CHAR(1),
L_SHIPDATE DATE,
L_COMMITDATE DATE,
L_SHIPINSTRUCT CHAR(25),
L_SHIPMODE CHAR(50),
L_COMMENT VARCHAR(60),
PRIMARY KEY(L_ORDERKEY,L_LINENUMBER))
TRUNCATE TABLE LINEITEM;

BULK INSERT LINEITEM
FROM"D: lineitem.csv"
WITH
(FIELDTERMINATOR=',',
ROWTERMINATOR='
')

(3)导入成功

3.进行数据的导出

(1)下载安装bcp工具

(2)使用导出语句

bcp TPC-H.dbo.PART out "D:学校d大二下数据库实验一数据文件ile.csv" -c -t -T -S . -U sa -P 1234

(3)导出成功

相关推荐
robottt6663 小时前
2026国产协作机器人排名与选型指南:越疆、遨博、节卡、珞石解析
大数据·数据库·人工智能
郑州光合科技余经理3 小时前
本地生活系统:多业务订单字段怎么分账本导出
java·开发语言·前端·数据库·uni-app·php·ai编程
weixin_460443566 小时前
考试监控大屏为什么不能直接查数据库?WebSocket、Redis与实时数据聚合架构设计
数据库·redis·在线考试系统·培训考试系统·煤矿培训考试系统·煤矿在线考试系统·宏远培训考试系统
风哥2号6 小时前
数据库教程FGMT02‑生产环境Linux+Oracle19c安装配置与项目实战
linux·数据库·ffmpeg
九皇叔叔10 小时前
【第二章】Redis基础入门:Redis是什么、为什么快以及核心特性详解
数据库·redis·缓存
云和恩墨11 小时前
删库不跑路,回滚极速触达——zData S“旁路日志”持续保护原理深剖
数据库
MetaLite11 小时前
SpringBoot接口分层规范-外网网关内部服务与参数边界
java·数据库·spring boot
Wang's Blog13 小时前
Java框架快速入门: Spring Security+OAuth2之元注解简化权限表达式
java·数据库·spring
蓝速科技15 小时前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
QYR-分析15 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能