山东大学《数据库系统》实验一

实验题目:

熟悉环境、建立/删除表、插入数据

实验目的:

创建 3 个表,为每个表输入 2 行数据,没有逻辑难度,只是熟悉环境,学会创建表。 表名、列名采用英文,oracle 不区分大小写,有 not null 的列代表不允许为空。

实验原理和方法:

建表语句:Create table test1_student (sid char(12),name varchar2(10));
插入语句:Insert into test1_student values(‘200020002000’,‘王菲’);

实验步骤:

1.创建学生信息表(学生编号、姓名、性别、年龄、出生日期、院系名称、班级):

CREATE TABLE test1_student(
	sid char(12) not null,
	name varchar(10) not null,
	sex char(2),
	age int,
	birthday date,
	dname varchar(30),
	class varchar(10)
)

2.创建课程信息表(仅考虑一门课程最多一个先行课的情况):课程编号、课程名称、先行课编号、学分

CREATE TABLE test1_course(
	cid char(6) not null,
	name varchar(40) not null, 
	fcid char(6),credit numeric(3,1)
)

3.创建学生选课信息表(学号、课程号、成绩、教师编号、选课时间)

CREATE TABLE test1_student_course(
	sid char(12) not null,
	cid char(6) not null,
	score numeric(4,1),
	tid char(6),
	sctime date
)

4.给表test1_student插入如下2行数据。
学号 姓名 性别 年龄 出生日期 院系名称 班级
200800020101 王欣 女 21 1994/2/2 计算机学院 2010
200800020102 李华 女 20 1995/3/3 软件学院 2009

INSERT INTO test1_student VALUES
(200800020101,'王欣','女',21,date'1994-02-02','计算机学院','2010'),
(200800020102,'李华','女',20,date'1995-03-03','软件学院','2009');

5.给表test1_course插入如下2行数据。
课程号 课程名 先行课程号 学分
300001 数据结构 2
300002 数据库 300001 2.5

INSERT INTO test1_course VALUES
(300001,'数据结构',null,2),
(300002,'数据库',300001,2.5);

6.给表test1_student_course插入如下2行数据。
学号 课程号 成绩 教师编号 选课时间
200800020101 300001 91.5 100101 2009-7-15 09:09:09
200800020101 300002 92.6 100102 2009-7-15 10:10:10

INSERT INTO test1_student_course VALUES
(200800020101,300001,91.5,100101,to_date('2009/7/15 09:09:09','yyyy/mm/dd HH24:mi:ss')),
(200800020101,300002,92.6,100102,to_date('2009/7/15 10:10:10','yyyy/mm/dd HH24:mi:ss'))

结论分析与体会:

插入日期类型(date)数据的格式有两种方法:date ‘2020-03-22’或to_date(‘20200322’,‘yyyymmdd’),同理datetime类型可以用’yyyy/mm/dd HH24:mi:ss’,在oracle中没有datetime,用date即可。

就实验过程中遇到和出现的问题,你是如何解决和处理的,自拟1-3道问答题:

Q1:插入语句反复检查没有逻辑错误却一直报错,无法插入成功,怎么解决?

A1:首先看下方错误的详述为无效字符,且逻辑没有错误,猜测是标点符号大小写出现问题。由于在平台输入的不明显,将插入语句复制到workbench,观察到语句中出现中文单引号,修改后在自己的电脑上成功插入,再将语句复制回平台执行,成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宅女不减肥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值