适用场景:高校图书管理数据库设计、sql语句编写培训
本文要点:完成图书信息表字段定义、执行借阅记录表数据插入、实现用户信息表结构创建
行文逻辑:
实验目的:
通过本次实验,我们要达到以下目的:
1. 掌握sql语句的基本语法和操作方法;
2. 熟悉数据库的设计与开发过程;
3. 掌握实现功能并写出完整的sql语句;
4. 深度学习数据库操作知识,能够独立完成小型数据库设计和管理。
实验过程与结果:
1. 数据库设计
本次实验选取《xx高校图书管理系统》作为主题,共设计3个表,“图书信息”、“借阅记录”和“用户信息”,每个表的字段设计如下。
①“图书信息”表
字段 名称 数据类型 主键/外键 说明
id varchar(20) 主键 书籍编号
name varchar(20) 书名
author varchar(20) 作者名
type varchar(10) 书籍分类
publisher varchar(20) 出版社
price float(5,2) 价格
②“借阅记录”表
字段 名称 数据类型 主键/外键 说明
id varchar(20) 主键 记录编号
bid varchar(20) 外键 书籍编号
uid varchar(20) 外键 用户编号
borrowdate date 借阅日期
backdate date 归还日期
③“用户信息”表
字段 名称 数据类型 主键/外键 说明
id varchar(20) 主键 用户编号
name varchar(10) 姓名
tel varchar(11) 电话
password varchar(20) 密码
2. sql语句实现
①“图书信息”表实现语句
-- 创建“图书信息”表
create table book_info(id varchar(20) primary key,name varchar(20),author varchar(20),type varchar(10),publisher varchar(20),price float(5,2));
-- 插入“图书信息”表数据
insert into book_info(id, name, author, type, publisher, price)
values("b001", "数学之美", "吴军", "计算机科学", "人民邮电出版社", 29.80);
②“借阅记录”表实现语句
-- 创建“借阅记录”表
create table borrow_record(id varchar(20) primary key,bid varchar(20) foreign key references book_info(id),uid varchar(20) foreign key references user_info(id),borrowdate date,backdate date);
-- 插入“借阅记录”表数据
insert into borrow_record(id, bid, uid, borrowdate, backdate)
values("r001", "b001", "u001", "20xx-05-01", "20xx-05-21");
③“用户信息”表实现语句
-- 创建“用户信息”表
create table user_info(
id varchar(20) primary key,name varchar(10),tel varchar(11),password varchar(20));
-- 插入“用户信息”表数据
insert into user_info(id, name, tel, password)
values("u001", "张三", "", "123456");
3. 实验总结及思考
通过本次实验,我们掌握了sql语句的基本语法和操作方法,了解了数据库的"设计与开发过程,学习了如何实现功能并写出完整的sql语句,深度学习了数据库操作知识,能够独立完成小型数据库设计和管理。
在实际工作中,我们需要充分利用sql语句进行数据的处理与管理,提高工作效率,同时也需要注意数据库的设计、安全性和稳定性,不断完善和升级数据库系统。
适用场景:数据库操作学习准备、SQL技能考核复习
本文要点:创建数据表结构、插入学生成绩记录、更新特定学生成绩
一、实验目的
本次实验的目的是通过实践,掌握sql数据库的基本操作,包括创建表、插入数据、查询数据、更新数据、删除数据等操作。
二、实验环境
本次实验使用mysql数据库管理系统和navicat premium数据库管理工具,操作系统为windows 10。
三、实验过程
1. 创建数据库和数据表
在navicat premium工具中,首先创建一个名为“student”的新数据库,然后在该数据库中创建一个名为“score”的数据表。该数据表包括以下字段:
- id:学生编号,类型为int,自动增长;
- name:学生姓名,类型为varchar,长度为20;
- sex:学生性别,类型为char,长度为1;
- chinese:语文成绩,类型为int;
- math:数学成绩,类型为int;
- english:英语成绩,类型为int。
具体的sql语句如下:
create database student;
use student;
create table score (id int not null primary key auto_increment,name varchar(20) not null,sex char(1) not null,chinese int not null,math int not null,english int not null);
2. 插入数据
插入数据可以使用insert into语句,将数据插入到数据表的相应字段中。例如,插入一个学生姓名为“张三”,性别为“男”,语文成绩为80分,数学成绩为90分,英语成绩为85分的记录,sql语句如下:
insert into score (name, sex, chinese, math, english)
values ("张三", "男", 80, 90, 85);
另外,可以使用insert into select语句,将查询出来的"数据插入到数据表中。例如,将学生姓名为“李四”,性别为“女”,语文成绩为70分,数学成绩为80分,英语成绩为90分的记录插入到数据表中,其sql语句如下:
insert into score (name, sex, chinese, math, english)
select "李四", "女", 70, 80, 90
from dual
where not exists (select * from score where name = "李四");
3. 查询数据
查询数据可以使用select语句,其基本语句结构为select [distinct] column1, column2, ... from table1 [join table2 on condition] [where condition] [group by column] [having condition] [order by column [asc|desc]] [limit n [offset m]]。其中,关键字distinct用于去重;join用于连接多个数据表;where用于过滤数据;group by用于分组统计数据;having用于过滤分组后的数据;order by用于排序数据;limit用于限制查询结果的数量。
例如,对上述数据表中的所有记录按照语文成绩从高到低的顺序进行排列,并限制查询结果为前三名的记录,其sql语句如下:
select *
from score
order by chinese desc
limit 3;
4. 更新数据
更新数据可以使用update语句,其基本语句结构为update table set column1=value1, column2=value2, ... [where condition]。其中,where用于过滤数据,只有符合条件的数据才会被更新。
例如,将学生姓名为“张三”的数学成绩改为85分,其sql语句如下:
update score
set math = 85
where name = "张三";
5. 删除数据
删除数据可以使用delete from语句,其基本语句结构为delete from table [where condition]。其中,where用于过滤数据,只有符合条件的数据才会被删除。
例如,将学生姓名为“李四”的记录删除,其sql语句如下:
delete from score
where name = "李四";
四、实验结果
通过上述操作,我们成功地创建了一个名为“student”的新数据库,并在该数据库中创建了一个名为“score”的数据表。我们通过insert into语句,向数据表中插入了若干条学生的成绩记录,并通过select语句查询了部分记录。我们还通过update语句和delete from语句,更新和删除了数据表中的部分记录。
五、实验总结
本次实验通过实践,学习了sql数据库的基本操作,包括创建表、插入数据、查询数据、更新数据和删除数据等操作。这些操作是sql数据库管理的基础,也是进一步学习和应用数据库管理系统的前提。
适用场景:数据库操作学习指导、SQL技能考核准备
本文要点:建立数据库和数据表、插入修改查询删除数据、设计约束条件与主外键
一、实验目的
通过本次实验,我们的主要目的是学习sql数据库的操作,了解关系型数据库的特点和优势,掌握关系型数据库的设计及实现技术。同时,本次实验也让我们加深了对数据库管理系统的基本知识和理解。
二、实验环境
本次实验所使用的环境为mysql数据库和navicat premium软件。mysql是一种关系型数据库管理系统,广泛用于web应用程序开发和大型企业级数据库环境。而navicat premium软件是一种专业的数据库管理和开发工具,支持多种主流数据库,可以方便地进行数据库的管理与操作。
三、实验内容
本次实验的主要内容包括以下部分:
1.建立数据库和数据表:首先,我们需要使用sql语句建立一个新的数据库,并在其中创建一个新的数据表。在创建数据表时,需要设定数据表的字段名称、类型和约束条件,以及指定主键和外键。
2.插入数据:建立数据表后,我们需要使用sql语句向数据表中插入一些数据。在插入数据时,需要注意数据的类型和格式,以及数据表的约束条件。
3.修改数据:如果需要对数据表中的数据进行修改,我们可以使用sql的update语句来实现。在修改数据时,需要指定修改的字段和修改的条件。
4.查询数据:查询数据是数据库最重要的功能之一。我们可以使用sql的`select语句来查询数据。在查询数据时,需要指定要查询的字段和查询的条件。同时,我们还可以使用一些特殊的操作符和函数来加强查询功能。
5.删除数据:如果不需要某一条数据,我们可以使用sql的delete语句将其删除。在删除数据时,需要指定删除的条件。
四、实验结果
1.建立数据库和数据表
使用下面的sql语句在mysql中创建一个新的数据库:
create database student_db;
然后,我们需要创建一个新的数据表,使用下面的sql语句:
use student_db;
create table student_info (id int(11) not null auto_increment,name varchar(20) not null,gender char(1) not null default "m",age int(3) not null,major varchar(20) not null,primary key (id),constraint gender_chk check (gender in ("m", "f")));
上述sql语句将创建一个名为student_info的数据表,其中包含id、name、gender、age和major五个字段。其中,id为整型,不为空且自动增加;name和major为字符串类型;gender为字符类型,不能为空,且只能为m或f;age为整型,不能为空;primary key用于指定id为主键。
2.插入数据
接下来,我们需要向student_info数据表中插入一些数据,使用下面的sql语句:
insert into student_info(id, name, gender, age, major)
values(1, "tom", "m", 20, "computer science"),(2, "alice", "f", 21, "mathematics"),(3, "john", "m", 19, "physics"),(4, "mary", "f", 20, "chemistry");
上述sql语句将向student_info数据表中插入四条数据,分别代表四个学生的信息。
3.修改数据
如果需要修改student_info数据表中某一条数据,我们可以使用下面的sql语句:
update student_info set name="jerry" where id=1;
上述sql语句将把id为1的学生的姓名改为jerry。如果需要同时修改多个字段,可以加上逗号隔开,例如:
update student_info set name="jerry", age=21 where id=1;
4.查询数据
查询数据是最重要的数据库功能之一。我们可以使用下面的sql语句查询student_info数据表中所有学生的信息:
select * from student_info;
上述sql语句将返回所有的学生信息。
除此之外,我们还可以使用其他条件来查询特定的数据。例如,我们可以查询所有女生的信息,使用下面的sql语句:
select * from student_info where gender="f";
此外,我们还可以通过各种操作符和函数来加强查询功能。例如,下面的sql语句将返回所有年龄大于20岁的学生的信息:
select * from student_info where age>20;
5.删除数据
如果需要删除student_info数据表中某一条数据,我们可以使用下面的sql语句:
delete from student_info where id=1;
上述sql语句将删除id为1的学生的信息。
五、实验心得
通过本次实验,我们深入了解了sql数据库的操作,掌握了关系型数据库的设计及实现技术。在实验过程中,我们逐步理解了建立数据库和数据表、插入、修改、查询和删除数据等基本操作的实现方法,并能够根据实际需要设计和执行sql语句。
通过学习数据库的基础知识和操作技能,我们不仅能更好地掌握现代化工作方式,而且还能为以后的学习和工作打下坚实的基础。