头歌实验 库、表、数据的创建管理与备份迁移

第1关:创建db_ebank数据库

drop database IF EXISTS db_ebank;/********** Begin **********/
create database db_ebank;
/********** End **********/show databases;

第2关:创建数据表并设置约束

1.任务要求

在 db_ebank 数据库中创建相应8个数据表,并设置约束实施数据完整性控制,主键外键建立表间关联。

2.表结构

tb_personal

tb_company 

tb_customer 

tb_bankoutlets 

tb_machine 

tb_cardInfo 

tb_deposit 

tb_tradeInfo 

这一关主啵敲了一下午 头歌各种报错 直接上代码

头歌有复制限制的可以去看主啵主页的置顶文章 解除方法很简单 只需几秒钟

3.代码

drop database IF EXISTS db_ebank;
CREATE DATABASE `db_ebank` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
use db_ebank;
SET FOREIGN_KEY_CHECKS = 0;/********** Begin **********/DROP TABLE IF EXISTS `tb_bankoutlets`;
create table tb_bankoutlets(bankID int primary key,bankName varchar(50) NOT NULL,address varchar(255) NOT NULL,moneyReserve double,createTime datetime,status enum('1','2','3')
);DROP TABLE IF EXISTS `tb_cardinfo`;
create table tb_cardinfo(cardID char(19)primary key,customerID int NOT NULL,customerType tinyint NOT NULL,curID varchar(10) NOT NULL DEFAULT 'RMB',savingID int NOT NULL,openDate datetime NOT NULL,openMoney decimal(20,2) NOT NULL,balance decimal(20,2) NOT NULL,password char(6) NOT NULL DEFAULT '888888',isReportLoss tinyint NOT NULL DEFAULT 0,isLogout tinyint NOT NULL DEFAULT 0,isFrozen tinyint NOT NULL DEFAULT 0,frozenMoney decimal(20,2),bankID int NOT NULL,type enum('借记卡','信用卡')
);DROP TABLE IF EXISTS `tb_company`;
create table tb_company(companyID int primary key,customerID int NOT NULL,creditCode char(18),legalPerson varchar(50),legalPersonCard char(18),Vip tinyint NOT NULL DEFAULT 0,nature varchar(150),registeredCapital decimal(20,2),registeredDate datetime,address varchar(255) NOT NULL,createDate datetime,customerName varchar(100) NOT NULL,telephone varchar(15) NOT NULL,isLogout tinyint DEFAULT 0,remark varchar(255)
);DROP TABLE IF EXISTS `tb_customer`;
create table tb_customer(customerID int primary key,type enum('1','2') NOT NULL,relationID int NOT NULL
);DROP TABLE IF EXISTS `tb_deposit`;
create table tb_deposit(savingID int primary key,savingName varchar(20) NOT NULL,descript varchar(50)
);DROP TABLE IF EXISTS `tb_machine`;
create table tb_machine(machine char(8) primary key,bankID int
);DROP TABLE IF EXISTS `tb_personal`;
create table tb_personal(personalID int primary key,customerID int NOT NULL,customerName varchar(50)NOT NULL,PID char(18)NOT NULL,Vip tinyint NOT NULL DEFAULT 0,sex tinyint NOT NULL,birthDate datetime NOT NULL,educationalLevel varchar(30),marriage varchar(15),email varchar(50),telephone varchar(11),address varchar(50),isLogout tinyint NOT NULL DEFAULT 0,createDate datetime,remark varchar(255)
);DROP TABLE IF EXISTS `tb_tradeinfo`;
create table tb_tradeinfo(tradeDate datetime NOT NULL,tradeType enum('存入','支出') NOT NULL,cardID char(19) NOT NULL,tradeMoney decimal(20,2) NOT NULL,machine char(8) NOT NULL,remark varchar(255),primary key (tradeDate,cardID)
);alter table tb_company add constraint fk_customerID foreign key(customerID) references tb_customer(customerID);
alter table tb_tradeinfo add constraint fk_cardID foreign key(cardID)references tb_cardinfo(cardID);
alter table tb_tradeinfo add constraint fk_machine foreign key(machine) references tb_machine(machine);
alter table tb_machine add constraint fk_bankID foreign key(bankID) references tb_bankoutlets(bankID);
alter table tb_cardinfo add constraint fk_cardinfo_customerID foreign key (customerID) references tb_customer(customerID);
alter table tb_cardinfo add constraint fk_savingID foreign key(savingID) references tb_deposit(savingID);
alter table tb_cardinfo add constraint fk_cardinfo_bankID foreign key (bankID) references tb_bankoutlets(bankID);/********** End **********/SET FOREIGN_KEY_CHECKS = 1;
show tables;

第3关:tb_personal 表中新增个人账户张韵文

1.增删查改

插入
// 指定字段
INSERT INTO 表名(字段名1,字段名2,…) VALUES(值1,值2,…);
// 不指定字段,则添加的值的顺序应和字段在表中的顺序完全一致。
INSERT INTO 表名 VALUES(值11,值2,…);
删除

DELETE FROM 表名 [WHERE 条件表达式];    // where可以让删除更细粒化
查看

SELECT 字段名1,字段名2,… FROM 表名;
修改(更新)

UPDATE 表名 SET 字段名1=值1,[字段名2=值2,…] [ WHERE 条件表达式 ];

2.代码

use db_ebank;/********** Begin **********/
insert into tb_personal values (13,57896561, '张韵文','350781199403072206', 0,1, '1994-03-07 06:29:39', '小学', '未婚', '17632541845@qq.com', '17632541845', '四川省成都市武侯区', 0, '2023-01-13 03:35:30', NULL);
/********** End **********/select * from tb_personal where customerName = '张韵文';

第4关:tb_company 表中新增企业账户好又来生物有限公司

use db_ebank;/********** Begin **********/
insert into tb_company values(10,90123655, '9123456151014123', '赵其', '635254215648427785', 0,'生物/医学', 10000000.00, '2021-01-27', '河北石家庄', '2022-02-15', '好友来生物有限公司', '18896854523', 0, NULL);
/********** End **********/select * from tb_company where customerName = '好友来生物有限公司';

第5关:在 tb_cardInfo 表中对应新增两个新账户的开卡记录

use db_ebank;/********** Begin **********/
insert into tb_cardinfo values ('6227 2666 6767 9884', 57896561, 1, 'RMB', 2, '2008-08-16', 10, 10000, '050050', 0, 0, 0, 0, 1, '储蓄卡');
insert into tb_cardinfo values ('6227 2666 6767 9501', 90123655, 1, 'RMB', 3, '2022-02-15', 10000, 200000,'888888', 0, 0, 0, 0, 14, '储蓄卡');
/********** End **********/select * from tb_cardinfo where cardID in ('6227 2666 6767 9884','6227 2666 6767 9501');

第6关:张韵文取款2000元,tb_trdeInfo 表中新增存取储蓄业务记录,并且张韵文用户银行卡对应减少2000

use db_ebank;/********** Begin **********/
insert into tb_tradeinfo(tradeType,cardID,tradeMoney,machine,remark)values('支出','6227 2666 6767 9884','2000.00','22021435',NULL);
update tb_cardinfo set balance='6000.00' where cardID='6227 2666 6767 9884';
/********** End **********/select tradeType,cardID,tradeMoney,machine,remark from tb_tradeinfo where cardID = '6227 2666 6767 9884';
select * from tb_cardinfo where cardID = '6227 2666 6767 9884';

第7关:好又来生物有限公司要注销其在怡贝银行账户,tb_company 表中删除该企业账户记录

这里需要在第2行加一句delete代码 加了之后就不会报错

use db_ebank;
DELETE FROM tb_company WHERE companyID=10; 
INSERT INTO `tb_company` VALUES (10,90123655, '9123456151014123', '赵其', '635254215648427785',0, '生物/医学', 10000000.00, '2021-01-27', '河北石家庄', '2022-02-15', '好友来生物有限公司', '18896854523', 0, NULL);
/********** Begin **********/
delete from tb_company where tb_company.companyID=10;
/********** End **********/
select * from tb_company;

第8关:备份并导出db_ebank数据库

1.数据库的导入导出

导出

mysqldump -u用户名 -p密码 数据库名 [表名] > 导出文件名


导入

mysql -u用户名 -p密码 数据库名 < 导出文件名

在实训开始前需要点击测评按钮初始化数据库,然后在命令行完成数据库的备份和导出,最后点击测评。

2.代码

第9关:删除db_ebank数据库

/********** Begin **********/
drop database db_ebank;
/********** End **********/
show databases;

第10关:恢复导入db_ebank数据库

实训开始之前先重置命令行(右上角“工具”按钮中)

然后完成这三行代码即可

 /data/workspace/myshixun/step1/common/db_bank.sql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/904315.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

同城跑腿小程序帮取帮送接单抢单预约取件智能派单同城配送全开源运营版源码优创

一、源码描述 这是一套同城跑腿小程序&#xff0c;基于FastadminUniapp框架&#xff0c;全开源无加密&#xff0c;可私有化部署&#xff0c;包含用户端、骑手端和运营端&#xff08;后端&#xff09;&#xff0c;支持帮取/帮送模式&#xff0c;支持一键接单/抢单&#xff0c;主…

利用无事务方式插入数据库解决并发插入问题

一、背景 由于项目中同一个网元&#xff0c;可能会被多个不同用户操作&#xff0c;而且操作大部分都是以异步子任务形式进行执行&#xff0c;这样就会带来并发写数据问题&#xff0c;本文通过利用无事务方式插入数据库解决并发插入问题&#xff0c;算是解决问题的一种思路&…

Nuxt3还能用吗?

Nuxt3还能用吗&#xff1f; 前一段时间&#xff0c;我完成了整个产品&#xff0c;从Nuxt到Next的迁移&#xff0c;因为面临了一些在框架层面就无法解决的问题。 payload json化 在所有的的Nuxt中&#xff0c;我们都能看到有这样一个东西。 其实有这个东西也很正常&#xff0…

Dify 获取天气数据并以echarts图表显示

Dify 获取天气数据并以echarts图表显示 1. 创建一个 Chatflow2. 创建一个 HTTP 请求节点3. 创建一个代码执行节点4. 创建一个直接回复节点5. 发布并预览 1. 创建一个 Chatflow 2. 创建一个 HTTP 请求节点 请求地址&#xff1a;https://weather.cma.cn/api/climate?stationid5…

计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 02.OpenGL图像管线

1. OpenGL图像管线 OpenGL&#xff08;Open Graphics Library&#xff09;是一个跨平台的、功能强大的图形渲染API&#xff0c;用于开发2D和3D图形应用程序。它由Khronos Group维护&#xff0c;广泛应用于游戏开发、图形设计、虚拟现实等领域。 1.0.1. OpenGL的特点&#xff…

Linux架构篇、第1章_02源码编译安装Apache HTTP Server 最新稳定版本是 2.4.62

Linux_基础篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;源码编译安装Apache HTTP Server 最新稳定版本是 2.4.62 版本号: 1.0,0 作者: 老王要学习 日期: 2025.05.01 适用环境: Centos7 文档说明 本文…

算法基础学习|03二分

一、思路 &#xff08;1&#xff09;mid(lr1)/2 if(check(mid)):1.true [mid,r] lmid 2.false [l,mid-1] rmid-1 &#xff08;2&#xff09;mid(lr)/2 if(check(mid)):1.true [l,mid] rmid 2.false [mid1,r] lmid1 二、模板 如何选择模…

18. LangChain分布式任务调度:大规模应用的性能优化

引言&#xff1a;从单机到万级并发的进化 2025年某全球客服系统通过LangChain分布式改造&#xff0c;成功应对黑五期间每秒12,000次的咨询请求。本文将基于LangChain的分布式架构&#xff0c;详解如何实现AI任务的自动扩缩容与智能调度。 一、分布式系统核心指标 1.1 性能基准…

Java泛型(补档)

核心概念 Java 泛型是 Java SE 1.5 引入的一项重要特性&#xff0c;它的核心思想是 参数化类型&#xff08;Parameterized Types&#xff09;&#xff0c;即通过将数据类型作为参数传递给类、接口或方法&#xff0c;使代码能够灵活地处理多种类型&#xff0c;同时保证类型安全性…

LeetCode 热题 100:普通数组

53. 最大子数组和 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组是数组中的一个连续部分。 示例 1&#xff1a; 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输…

【kafka系列】消费者组

目录 消费者组功能点 1. 动态负载均衡 2. 容错高可用 3. 消费进度管理 4. 并行消费能力 5. 消费隔离性 其他要点 1. Rebalance过程详解 2. 位移提交的精确语义 3. 消费者限速策略 4. 跨机房消费设计 消费者组功能点 1. 动态负载均衡 核心机制&#xff1a;通过Rebal…

黑马点评day01(基于Redis)

1.7 Redis代替session的业务流程 1.7.1、设计key的结构 首先我们要思考一下利用redis来存储数据&#xff0c;那么到底使用哪种结构呢&#xff1f;由于存入的数据比较简单&#xff0c;我们可以考虑使用String&#xff0c;或者是使用哈希&#xff0c;如下图&#xff0c;如果使用…

Python爬虫实战:获取优美图库各类高清图片,为用户提供设计素材

一、引言 在互联网时代,高清壁纸资源丰富多样,而优美图库作为一个提供大量精美壁纸的网站,吸引了众多用户。通过 Python 爬虫技术,可以自动化地从该网站获取所需的壁纸资源,为用户节省时间和精力。然而,网站通常会采取反爬措施来防止数据被恶意抓取,因此需要在爬虫程序…

Go反射-通过反射调用结构体的方法(带入参)

使用反射前&#xff0c;我们需要提前做好映射配置 papckage_struct_relationship.go package reflectcommonimport (api "template/api" )// 包名到包对象的映射 var structMap map[string]func() interface{}{"template/api": func() interface{} { re…

Git_.gitignore文件简介及使用

.gitignore 这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。实际项目中&#xff0c;很多文件都是不需要版本管理的&#xff0c;比如Python的.pyc文件&#xff0c;Git会根据这个文件里配置的这些规则来判断是否将文件添加到版本控制中。 注意&#xff0c;直接新建文…

HarmonyOS ArkUI安全控件开发指南:粘贴、保存与位置控件的实现与隐私保护实践

目录 安全控件1. 粘贴控件1.1 约束与限制1.2 开发步骤 2. 保存控件2.1 约束与限制2.2 开发步骤 3. 位置控件3.1 约束与限制3.2 开发步骤 安全控件 安全控件是系统提供的一组系统实现的ArkUI组件&#xff0c;其中保存控件在用户首次使用时&#xff0c;会弹出通知弹窗&#xff0…

C++笔记之接口`Interface`

C++笔记之接口Interface code review! 一个简洁简短的 C++ 接口实现示例: #include <iostream>// 1. 定义接口(抽象类) class Shape {public:

动态图表 -- eg1

问题&#xff1a; 前端vue&#xff0c;后端springboot&#xff0c;实现动态表格样式&#xff0c;&#xff08;表格List<Student>&#xff0c;Student类有年级&#xff0c;班级&#xff0c;文理科分类&#xff0c;姓名&#xff0c;学号&#xff0c;等属性。先根据年级分类…

C++学习之shell高级和正则表达式

目录 1.正则表达式 2.C中使用正则 3.复习 4.sort命令 5.uniq命令 6.wc命令 7.grep命令 8.find命令 9.xargs命令 10.sed命令 11.awk命令 12.crontab 1.正则表达式 1 管道 使用| 将多个命令拼接在一起 原理&#xff0c;就是将前一个命令的标准输出作为后一个…

【Vue】 实现TodoList案例(待办事项)

目录 组件化编码流程&#xff08;通用&#xff09; 1.实现静态组件&#xff1a;抽取组件&#xff0c;使用组件实现静态页面效果 2.展示动态数据&#xff1a; 1. 常规 HTML 属性 3.交互——从绑定事件监听开始 什么时候要用 event&#xff1a; 什么时候不需要用 event&am…