MySQL数据库操作实践:创建与插入数据
需积分: 5 196 浏览量
更新于2024-08-05
收藏 25KB DOCX 举报
"MySQL随堂练习提供了创建数据库、切换数据库、创建学生表并插入数据以及创建分数表并插入数据的相关示例。练习旨在帮助教师备课和学生复习数据库基本操作,涉及的关键知识点包括:数据库创建、数据库切换、数据表结构定义、数据插入以及表间关联。"
在MySQL中,数据库是存储数据的逻辑单位,可以创建和管理多个数据库。在这个练习中,首先创建了一个名为`my_db`的数据库,使用的SQL语句是`CREATE DATABASE my_db;`这将创建一个新的数据库,如果尚未存在的话。
接着,我们需要切换到创建的数据库`my_db`作为当前工作环境,以便在此数据库中创建表和插入数据。使用`USE my_db;`语句可以实现这一目标,它使得所有后续的数据库操作都在`my_db`上下文中进行。
在数据库中,表是用来组织和存储数据的结构。练习中创建了两个表,一个是`student`表,另一个是`score`表。`student`表的定义如下:
```sql
CREATE TABLE student (
stu_id INT(10) PRIMARY KEY,
stu_name VARCHAR(20) NOT NULL,
sex VARCHAR(2),
birth YEAR,
department VARCHAR(20),
addr VARCHAR(50)
);
```
这个表有六个字段,`stu_id`为主键,确保每个学生的学号都是唯一的且不可为空;`stu_name`记录学生的姓名,不允许为空;`sex`为性别,`birth`为出生年份,`department`为院系,`addr`为出生地址,这三个字段允许为空。
在`student`表中插入数据,使用`INSERT INTO`语句,如下所示:
```sql
INSERT INTO student VALUES
(901,'张飞','男',1997,'计算机系','河北省涿州市'),
(902,'关羽','男',1999,'中文系','山西省运城市'),
(903,'貂蝉','女',1999,'中文系','山西省忻州县'),
(904,'刘备','男',2001,'英语系','河北省涿州市'),
(905,'小乔','女',2001,'英语系','安徽省潜山市'),
(906,'赵云','男',1998,'计算机系','河北省正定市');
```
同样,创建`score`表并插入数据:
```sql
CREATE TABLE score (
score_id INT(10) PRIMARY KEY AUTO_INCREMENT,
stu_id INT(10) NOT NULL,
c_name VARCHAR(20),
grade DECIMAL(5,2)
);
```
`score`表有四个字段,`score_id`为主键并自动递增,`stu_id`为外键,与`student`表中的`stu_id`关联,`c_name`记录课程名,`grade`记录成绩,均为非空。
接着,向`score`表中插入数据,但练习中这部分没有给出完整的SQL语句。通常会涉及到多条`INSERT INTO`语句,每条对应一个学生的一门课程的成绩。
这个练习不仅涵盖了基本的数据库操作,还涉及到了表间关系的概念,即通过`stu_id`字段在`student`和`score`表之间建立了关联。这使得我们可以根据学生的学号查询他们的分数,或者根据分数查询学生的信息,这是数据库设计中的重要概念,称为参照完整性。
这个MySQL练习涵盖了数据库创建、切换、表的创建和数据插入,以及表间关联的基本操作,是学习和理解数据库管理系统操作的绝佳实践材料。对于教师来说,这些练习可以帮助他们准备课程,而对于学生而言,它们提供了复习和巩固MySQL知识的机会。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-08-17 上传
2023-08-02 上传
2024-07-04 上传
2023-12-28 上传
2020-06-06 上传
2022-06-27 上传
小白兔奶糖ovo
- 粉丝: 5083
- 资源: 30
最新资源
- VC++实现的多线程系统清理程序
- pytest-rerunfailures:一个pytest插件,最多可重复运行-n次失败的测试,以消除flakey失败
- hyperblog:Un Blog increative para el curos de GitHub de Platzi
- totm2:期待已久的续集..
- Sleep-Display:一个简单的 Mac OS 应用程序,可将显示器置于睡眠模式并自行退出
- inverte-api:这是用于与inverte-react-web进行交互的快递服务器
- VC实现的类似Windows Netstat命令查看开放端口的
- 电信设备-农业信息资源池管理系统.zip
- Professional-pagination-using-react-without-JSX:在没有JSX的情况下使用react进行专业分页
- social-proof-section
- nodeinjector:用 C++ 编码的 node.js dll 注入器模块
- 硬盘安装linux EFI分享
- 简化GDI写法的VC++程序
- ClientesApp
- 2-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- symfony-blog:符号博客项目