目的:实现对数据库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:DB201721123072dataSC72.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:DB201721123072S72.txt' WITH (FIRSTROW=2) BULK INSERT SC72 FROM 'F:DB201721123072SC72 .txt' WITH (FIRSTROW=2)
6.小结
①这里不能用unique修饰,不然后面会和C72(CNO)关联的表产生冲突。
②没有设置关联主键的话,其实SC72这个表就没什么实际意义了,不能保证参数的完整性和准确性。
③对数据库的语句使用有了更进一步的认识,明白了在输错数据之后,怎么用delect清空表里面的内容。