Loading

SQL service 数据插入

目的:实现对数据库XDSA中表S72、C72、SC72的数据插入

1.构建数据库

2.构建表

3.插入数据

插入数据语句:

命令:

INSERT INTO TableName
VALUES('值','值','值','值','值')

示例:

INSERT INTO S72
VALUES('200512','李勇','计算机系','20','男')

命令:insert  into  表名 (列名 ,列名)

            values (值,值)

示例:insert  into  表名(Sname,Sid,Sage)

            values(‘张三’,12,15)

(批量插入)

命令:BULK INSERT 表名 FROM '文件路径地址' WITH (FIRSTROW=2)

示例:BULK INSERT SC72 FROM 'F:\DB201721123072\dataSC72.txt' WITH (FIRSTROW=2)

4.验证插入是否成功

命令:

SELECT * FROM 表名

示例:

SELECT * FROM SC72

5.源代码

create database XSDA
on primary
(name = XSDA,
filename = 'D:\大学生活文档\大学课程\数据库课程\实验三插入数据\XSDA.mdf')
log on
(name = XSDA_Log,
filename = 'D:\大学生活文档\大学课程\数据库课程\实验三插入数据\XSDA_Log.ldf')
use XSDA
go 
create table S72
(SNO CHAR(10) NOT NULL PRIMARY KEY,
SNAME VARCHAR(20) NOT NULL,
DEPA VARCHAR(20) CHECK(DEPA IN('计算机系','数学系','物理系','信息系')),
AGE INT CHECK(AGE>0),
SEX NCHAR(1)
)
CREATE TABLE C72
(CNO CHAR(3) NOT NULL PRIMARY KEY,
CNAME VARCHAR(20) NOT NULL,
cpno char(3) REFERENCES C72(CNO),
credit int DEFAULT 2
)
CREATE TABLE SC72
(SNO CHAR(10) NOT NULL REFERENCES S72(SNO),
CNO CHAR(3) NOT NULL REFERENCES C72(CNO) ,
GRADE DECIMAL(4,1),
PRIMARY KEY(SNO,CNO)
)
INSERT INTO S72
VALUES('200512','李勇','计算机系','20','')
INSERT INTO C72
VALUES('c03','数据结构',null,'6')
INSERT INTO C72
VALUES('c01','数据库原理','c03','4')
INSERT INTO C72
VALUES('c02','信息系统','c01','4')
INSERT INTO C72
VALUES('c04','DB_设计','c01','3')
BULK INSERT S72 FROM 'F:\DB201721123072\S72.txt' WITH (FIRSTROW=2)
BULK INSERT SC72 FROM 'F:\DB201721123072\SC72 .txt' WITH (FIRSTROW=2)

6.小结

①这里不能用unique修饰,不然后面会和C72(CNO)关联的表产生冲突。

②没有设置关联主键的话,其实SC72这个表就没什么实际意义了,不能保证参数的完整性和准确性。

③对数据库的语句使用有了更进一步的认识,明白了在输错数据之后,怎么用delect清空表里面的内容。

posted @ 2019-04-09 11:01  Kingwan  阅读(2191)  评论(0编辑  收藏  举报