#sql#
#数据库实验#
2023.10.9
1-1:创建test1_student表
创建学生信息表(学生编号、姓名、性别、年龄、出生日期、院系名称、班级):
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。
建表语句常见错误如下:
关键词拼写错误,少关键词、少逗号、少括号。
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)
);
char(n)为具有用户指定长度n的固定长度的字符串
varchar(n)为具有用户指定的最大长度n的可变长度的字符串
1-2:创建test1_course表
创建课程信息表(仅考虑一门课程最多一个先行课的情况):
课程编号、课程名称、先行课编号、学分
test1_course:cid char 6 not null、name varchar 40 not null、fcid char 6、
credit numeric 4,1(其中4代表总长度,1代表小数点后面长度)。
create table test1_course(
cid char(6) not null,
name varchar(40) not null,
fcid char(6),
credit numeric(4,1)
)
numeric(p,d)为具有用户指定精度的定点数,这个数字有p位数字(加上一个符号位),并且小数点右边有p位中的d位数字。例如:numeric(3,1)可以精确储存44.5,但不能精确存储444.5或0.32
1-3:创建test1_student_course表
创建学生选课信息表(学号、课程号、成绩、教师编号、选课时间)
test1_student_course:sid char 12 not null、cid char 6 not null、
score numeric 5,1(其中5代表总长度,1代表小数点后面长度)、tid char 6, sctime date
create table test1_student_course(
sid char(12) not null,
cid char(6) not null,
score numeric(5,1),
tid char(6),
sctime date
);
date类型用于存储日期值。它表示一个特定的日期,包括年、月和日。date类型的格式通常是’YYYY-MM-DD’,其中YYYY表示4位数的年份,MM表示2位数的月份,DD表示2位数的日期。
1-4:表test1_student插入2行数据
学号 姓名 性别 年龄 出生日期 院系名称 班级
201800020101 王欣 女 21 1994-02-02 计算机学院 2010
201800020102 李华 女 20 1995-03-03 软件学院 2009
特别提醒:
1、insert语句1次只能插入1行数据,插入多行有特殊语法,不要自创插入多行的格式。
2、引号一定也采用英文单引号。
3、输入日期类型数据的格式:
insert into t1 values(200700030101,'赵中华','男',19,to_date('20120202','yyyymmdd'),'计算机学院','2010')
insert into test1_student
values('201800020101','王欣','女',21,to_date('19940202','yyyymmdd'),'计算机学院','2010');
insert into test1_student
values('201800020102','李华','女',20,to_date('19950303','yyyymmdd'),'软件学院','2009');
insert into 表 values()用于向表中插入一个元组;也允许在insert语句中指定属性,在表后的()内指出属性,例如
insert into course(course_id,title,dept_name,credits)
values(...)
1-5:表test1_course插入2行数据
给表test1_course插入如下2行数据。
课程号 课程名 先行课程号 学分
300001 数据结构 2
300002 数据库 300001 2.5
特别提醒:
1、插入空值使用null
2、一次只能插入一行数据
insert into test1_course
values('800001','数据结构',null,2);
insert into test1_course
values('800002','数据库',800001,2.5)
1-6:表test1_student_course插入2行数据
给表test1_student_course插入如下2行数据。
学号 课程号 成绩 教师编号 选课时间
201800020101 300001 91.5 200101 2009-07-15 09:09:09
201800020101 300002 92.6 200102 2009-07-15 10:10:10
特别提醒:
1、一次只能插入一行数据
2、日期时间输入函数 to_date('2020-01-03 15-26-26','yyyy-mm-dd hh24-mi-ss')
insert into test1_student_course values
('201800020101','300001',91.5,'200101',
to_date(' 2009-07-15 09:09:09','yyyy-mm-dd hh24-mi-ss'));
insert into test1_student_course values
('201800020101','300002',92.6,'200102',
to_date(' 2009-07-15 10:10:10','yyyy-mm-dd hh24-mi-ss'));