---
tags: database
---
# 匯入
```
--建立資料庫
create database S1311034032;
--新增TmpData
create table S1311034032.dbo.TmpData
(
s_no char(10),
s_name varchar(24),
s_sex CHAR(1),
s_birthday DATE,
s_phone CHAR(10),
s_address VARCHAR(100),
c_no CHAR(5),
c_name VARCHAR(24),
c_points INT,
c_time INT,
c_cost INT,
c_bdate DATE,
r_result DECIMAL(6,2),
r_date DATE
)
--匯入資料
select * from S1311034032.dbo.TmpData
BULK
INSERT S1311034032.dbo.TmpData
FROM 'D:\資料庫\data.txt'
with
(
FIELDTERMINATOR ='\t'
, ROWTERMINATOR ='\n'
)
--建立students
Create table S1311034032.dbo.students
(
s_no char(10) Primary key,
s_name varchar(10) not null, --學生 姓名 --
s_sex char(1) not null, --學生性別 --
s_birthday Date not null, --學生 生日 --
s_phone char(10) NOT NULL, --學生電話 --
s_address varchar(100) NOT NULL --學生 住址 --
)
CREATE INDEX classes ON S1311034032.dbo.students(s_name)
insert into S1311034032.dbo.students(s_no,s_name,s_sex,s_birthday,s_phone,s_address)
select distinct s_no,s_name,s_sex,s_birthday,s_phone,s_address
from S1311034032.dbo.TmpData
--建立 classes
Create table S1311034032.dbo.classes
(
c_no char(5) not null Primary key,
c_name varchar(24) null,
c_points int null,
c_time int null,
c_cost int null,
c_bdate Date null
)
CREATE INDEX classes ON S1311034032.dbo.classes(c_no)
--insert into S1311034032.dbo.classes(c_no,c_name,c_points,c_time,c_cost,c_bdate)
SELECT distinct [c_no]
,[c_name]
,[c_points]
,[c_time]
,[c_cost]
,[c_bdate]
FROM [S1311034032].[dbo].[TmpData]
--建立 results
create table S1311034032.dbo.results
(
s_no char(10)not null FOREIGN KEY REFERENCES S1311034032.dbo.students(s_no), --學生 編號 --
c_no char(5) not null FOREIGN KEY REFERENCES S1311034032.dbo.classes(c_no), --課程 編號 --
r_result float null, --成績 --
r_date date null, --考試日期 --
CONSTRAINT PK_results PRIMARY KEY (s_no,c_no)
)
CREATE INDEX results ON S1311034032.dbo.results(s_no,c_no)
insert into S1311034032.dbo.results(s_no,c_no,r_result,r_date)
SELECT distinct [s_no]
,[c_no]
,[r_result]
,[r_date]
FROM [S1311034032].[dbo].[TmpData]
```