-
mysql 数据库设计:java如何往多对多的表中插入数据
2021-01-23 09:57:06我们都知道多对多的表需要建立关系表如下所示...举个栗子:假如有一个添加学生功能: 前端传的信息: name:小灰 gender:男 course:数学 那么我sql会这样写: 添加学生信息 @insert("insert into student (name,gender..我们都知道多对多的表需要建立关系表:表里的数据怎么添加:
为什么存在关系表,因为学生和课程之间产生了联系。
实际的开发场景必然是:录入学生信息的时候,要求选择学生的课程,有人会疑问万一我不录课程楠? 如果你不录课程,学生和课程之间就没有了联系,关系表也没有存在的必要。
举个栗子:假如有一个添加学生功能:
前端传的信息: name:小灰
gender:男
course:数学
那么我sql会这样写:添加学生信息 @insert("insert into student (name,gender) values (#(name),#{gender})") void addStudent(@param("name") String name,@param("gender") String gender);
然后分别查处课程对应的id 和 学生对应的id 然后insert into 关系表就可以了。
查学生id @select("select id from student where name=#{name}") int findStudentId(@param("name") String name); 一个参数,但是为string类型时,最好加上@param注解 不然可能报错 注:此处未考虑学生姓名重复的情况
查找课程id @select("select id from course where name=#{name}") int findCourseId(@param("name") String name)
然后业务层将这两个返回值作为参数传入下面sql
@insert("insert into student_course (student_id,sourse_id) values(#(studentId),#(courseId)) ") void addData(@param("studentId" int studentId,@param("courseId") int courseId);
注:当然有时候前端可以直接传课程id
相关表
课程表 course
学生表 student
关系表 student_course
-
VB.NET数据库中插入数据
2020-05-12 22:04:41本次继续,往数据库中添加数据,数据库仍然采用上一篇数据库联结中那个,本文只记录一下,通过VB.NET程序,往数据库中插入数据的步骤,至于原理自己掌握的水平有限,不过多深究,下面进入正题,开搞。 一、首先我们...本文记录一下如何通过VB.NET往数据中添加数据,所用数据库仍然用上节数据库联结那个,下图为设计的窗体应用程序,内容很简单,点击学生信息表,往这个表添加数据,点击学生成绩表往相应表添加数据。
图1
二、接下来讲述代码部分,在这里先把完整代码晒出来,如下。Imports System.Data.OleDb Public Class Form1 Dim odc1 As New OleDbConnection() '数据库操作 Dim odcommand As New OleDbCommand() Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load odc1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;data source=E:\博客\数据库联结\Database7.mdb" odc1.Open() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Strxzyh As String Strxzyh = "insert into 学生信息表 (学号,姓名,性别) " & "values ('" & "2020512" & "','" & "小红" & "','" & "女" & "')" odcommand.CommandText = Strxzyh odcommand.Connection = odc1 odcommand.ExecuteNonQuery() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim Strxzyh As String Strxzyh = "insert into 学生成绩表 (学号,数学,语文,英语) " & "values ('" & "2020512" & "','" & "99" & "','" & "98" & "','" & "99" & "')" odcommand.CommandText = Strxzyh '千万注意标点符号要用英文的!!!!切记切记 odcommand.Connection = odc1 odcommand.ExecuteNonQuery() End Sub End Class
首先,程序最开头的 Imports System.Data.OleDb是第一步,只有引用了这个,下边的程序才能操作数据库,不引用的话,下边的操作会报错。接着又定义了两个odc1和odcommand,这两个作用,我自己理解为,一个数据库连接用,一个操作数据库用,也是不可缺少的。接着就需要连接数据库了,下边那句为连接数据库**odc1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;data source=E:\博客\数据库联结\Database7.mdb"**,Microsoft.Jet.OLEDB.4.0;好像针对电脑系统的不同,好像还有其他的语句,我这是WIN10的64位,可以直接运行,也就没深究,接下来就是定义到,想要连接数据库的位置了,位置一定要写对,否则在打开数据库时,就会出现文件名无效的错误。 接下来就是两个按钮的程序了,在写 Strxzyh = "insert into 学生成绩表 (学号,数学,语文,英语) " & "values ('" & "2020512" & "','" & "99" & "','" & "98" & "','" & "99" & "')"这段代码时,一定要是在英文输入法的前提下,标点符号也要英文的,若为中文的运行时会报错的,深有体会,切记!切记!切记!,设置完插入值后,剩下的三句是必须的,以上就是所有的过程。点击两个按钮后,结果如图2,图3.可以看到图3的联结字段插入了代码插入的数据。
图2
图3
以上就是数据库中插入数据步骤,老规矩总结。
1、首先引入 Imports System.Data.OleDb
2、定义连接和传递命令的语句
3、连接数据库
4、插入数据
好了,就这么多,如有不对请见谅,请指出,灰常感谢。 -
ACCESS数据库联结表实现
2020-05-12 08:07:49** 本文的主要内容为记录一下ACCESS数据库中两张表的联结,联结的好处是可以关联两张数据表,观看数据时不用来回切换,本文会先从如何建立数据库联结说起,最后在通过VB.NET程序往数据库中联结的表添加数据,话不多...ACCESS数据库表格之间联结
- 本文的主要内容为记录一下ACCESS数据库中两张表的联结,联结的好处是可以关联两张数据表,观看数据时不用来回切换,本文会先从如何建立数据库联结说起,下一篇博客在讲解通过VB.NET程序往数据库中联结的表添加数据,首先演示如何建立联结关系。**
一、数据库的联结演示
1、 首先新建一个数据库,这里我用的是ACCESS2016,不同版本可能会有些不同,但思路应该大体一致,首先在数据库中新建两张表,如下图1和图2所示。图1位学生信息表,表格有四个字段,序号、学号、姓名、和性别,图2为学生成绩表,也是四个字段,分别为学号,语文、数学、英语。其中我想实现两张表的学号实现联结。
注意我在学生信息表主表中把学号设置为了主键,子表成绩表没有,因为主键值一般不重复,所以子表中学号不设置为主键。
图1
图2
2、完成两张表的创建后,在工具栏找到“数据库工具”选项,如下图3所示,点击后发现里边有个“关系”选项,点击关系选项卡,会自动弹出选择表格框,下图4所示。选择完毕两张表格后,出现下图5,关系页面会把两张表格的字段显示出来。点击图5左上角的编辑关系按钮,进入图6,先在图6的中点击新建,会弹出图6下半部分,该部分为确定两张表的关联字段,这里两张表我都选择学号,选择完毕后,点击确定进入图7.图6中实施参考完整性等可不选,图7就显示联结好了的字段。
图3
图4
图5
注意添加关系时,先把设计的表关闭,下图中左表名称和右表名称左右顺序无特殊要求
图6
图7
现在两张表的联结关系就添加好了,现在我们往成绩表中输入几行数据,我们在子表中输入下图8,然后图9就会显示联结后的数据,注意信息表中必须添加和成绩表中一样的学号,因为他们两个联结了。
图8
图9
本篇博文就是这些,总结一下就是这几个步骤,
1、首先新建两张表格
2、主表的需要联结的字段设置为主键,从表不用
3、数据库工具选项,在关系里边添加关系
以上就是创建数据库联结的方法,吐槽一句ACCESS2016属实不如ACCESS2013好用,下一篇讲解一下,如何通过代码往数据库中添加数据。
- 本文的主要内容为记录一下ACCESS数据库中两张表的联结,联结的好处是可以关联两张数据表,观看数据时不用来回切换,本文会先从如何建立数据库联结说起,下一篇博客在讲解通过VB.NET程序往数据库中联结的表添加数据,首先演示如何建立联结关系。**
-
数据库表如何插入数据?
2015-11-22 19:43:41遇到的问题 但是最近遇到个问题,在往数据库进行导题的过程中,部分的数据需要添加。但是不知道大家有没有这样的经历,就是在导完题之后发现中间出了点问题,需要增加一条数据(删除和修改都是可以直接在数据库进行...背景
最近做一级,我做的是Excel部分,因为期末老师就让我们的系统上线,让学生考试了。而且最近要先让学生能考试,对系统进行测试。所以整体来说,我们的系统还是比较紧张的。
遇到的问题
但是最近遇到个问题,在往数据库进行导题的过程中,部分的数据需要添加。但是不知道大家有没有这样的经历,就是在导完题之后发现中间出了点问题,需要增加一条数据(删除和修改都是可以直接在数据库进行操作的,这里就不赘述了。),但是数据库不像是我们操作Excel表格那样简单的插入一行就行了。那么如何处理这样的情况呢?
在咨询过十期师哥和通过在网上查资料,发现是有解决这种问题的办法的,但是过程较为复杂。
首先将要修改的数据表复制下来,粘贴到Excel表格里,粘贴格式选择:Unicode文本。然后在Excel表格里,进行你想要修改的一系列操作。注意:在第一行写上你数据库的字段名,否则后边的操作会出现数据问题。
然后打开使用的数据库,在想要更新的那个数据库上右击,选择“任务”,再选择“导入数据”。
接着会出现一个对话框提示:
点击下一步:
我的版本支持5.0的,看如果选择2007版本不支持的话就可以换个版本试试。这里有个复选框:首航包含列名称就是刚才说的第一行加的字段名,如果这里不选的话,它会从第二行开始取值。
点击下一步:此时点击编辑映射,可以对你选择的表进行修改,查看类型是否正确,但是我建议在数据库里直接修改类型,还要稍微快一点。
点击完成就OK了。
思考
数据库在这方面,感觉设计的就没有那么人性化了,整体是跟Excel差不多,既然知道可能会出现数据问题,既然删、改都做了,为什么不设计增加数据呢?其实从我个人角度,和作为用户的体验来说,觉得数据库这方面的设计还是有欠妥的地方的。
-
mysql数据库查询笔记_MySql数据库基础笔记(一)
2021-01-19 12:32:16声明了表头,一个表创建好了,剩下的就是往表中添加数据多张表放在档案中--->库 database学生信息表,成绩表,记过表 -> 都是这个班级的信息,将这几张表放在一个文件夹中 -> 这个文件夹,文档就是 库mysql服务器... -
数据库第五天
2020-11-30 22:38:56往数据表中添加数据1.学生表三级目录 一.准备数据 1.创建数据库selectTest mysql> create database selectTest; Query OK, 1 row affected (0.12 sec) mysql> show databases; +--------------------+ | Dat -
数据库查询数据
2019-08-17 14:35:13首先创建学生表: create table student( id char(36) primary key, name varchar(8) not null, age int(3) default 0, mobile char(11), ...现在往表中添加数据: insert into student values ('9b44... -
MySql数据库基础笔记(一)
2017-08-31 11:20:00声明了表头,一个表创建好了,剩下的就是往表中添加数据 多张表放在档案中--->库 database学生信息表,成绩表,记过表 -> 都是这个班级的信息,将这几张表放在一个文件夹中 -> 这个文件夹,文档就是 库mysql... -
Mongodb简单的增删查改
2019-06-19 15:12:16//新增一个学生,往student表添加一个记录 //db.student 系统发现 student 是一个陌生的集合名字,所以就自动创建了集合 db.student.insert({"name":"xiaoming"}); 查看当前库所有的表 //显示当前的数据集合... -
【2017-04-20】Sql字符串注入式攻击与防御
2017-04-20 20:49:00一、攻击 所谓sql字符串注入式攻击就是在用户输入界面输入一串sql语句,来改变C#中连接数据库要执行的sql语句 通过你写的程序,直接来执行我想要执行的sql语句...本来是往Student表中添加学生信息,则变成了把所有... -
Excel_VBA教程
2014-09-22 11:36:343.3 向工作表添加控件 7 3.4 设置控件的特性 8 3.5 给控件命名 8 3.6 使用用户窗体 8 3.7 疑难解答 9 第四课 理解变量和变量的作用 9 4.1 代码存在的位置:模块 9 4.2 对模块的概览 10 4.2.1 创建过程 10 4.2.2 运行... -
双击摄像机节点自动播放视频,双击节点自动依次添加视频,会自动跳到下一个,双击父节点自动添加该节点下的所有视频。 摄像机节点拖曳到对应窗体播放视频,同时支持拖曳本地文件直接播放。 视频画面窗体支持拖曳交换...
-
JAVA上百实例源码以及开源项目源代码
2018-12-11 17:07:42Java数组倒置 简单 Java图片加水印,支持旋转和透明度设置 摘要:Java源码,文件操作,图片水印 util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印... -
JAVA上百实例源码以及开源项目
2016-01-03 17:37:40util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码... -
MySQLDBA运维笔记.pdf
2019-11-04 15:53:171.1 数据库的种类...........................................................................................................6 1.1.1 关系型数据库介绍........................................................ -
通过LoginFrame loginFrame = new LoginFrame(); loginFrame.setVisible(true);弹框到下一页空白,不知道是...
2020-06-30 23:10:32//将数据插入到数据库表中 Student s=new Student(); s.setName(userName); s.setPassword(password); s.setEmail(email); //调用数据model的方法进行添加操作 StudentDao dao = new ... -
EXCEL编程VBA高级教程
2015-04-16 11:40:551.2EXCEL环境中基于应用程序自动化的优点................................................................................1 1.3录制简单的宏.................................................................... -
Linux操作系统基础教程
2013-04-08 21:34:26在这一讲中,我们主要是了解一下 Linux 的概况,以及对 Linux 有一个初步的感性认识。 一.什么是Linux? Linux 是一个以 Intel 系列 CPU(CYRIX,AMD 的 CPU也可以)为硬件平台,完全免费的 UNIX 兼容系统,完全...
-
api接口—闲鱼搜索的数据
-
win10中配置环境变量问题
-
vue3从0到1-超详细
-
PowerBI重要外部工具详解
-
Galera 高可用 MySQL 集群(PXC v5.7+Hapro)
-
用Visual Basic实现对系统I/O端口的操作.vb
-
【ssm项目源码】智能医院管理系统.zip
-
2021年 系统分析师 系列课
-
《Core Java》学习笔记
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
CFA一级学习笔记--权益(六)--权益类证券概述
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)
-
工程制图 AutoCAD 2012 从二维到三维
-
2021-02-28
-
MySQL 触发器
-
阿里MySQL高可用方案.zip
-
linux基础入门和项目实战部署系列课程
-
node核心模块
-
visual stidio 2013百度云
-
vc通过钩子,拦截复制操作.zip