【MySQL】------数据库连接

article/2025/10/23 5:37:26

分享第十九条励志语录

要想飞起来,首先要有飞翔的信念,如果没有这个信念,永远不可能飞起来。但只要有了飞翔的信念,再加上自己的努力,就有可能能够飞起来。成功也是这样,要想成功,首先得有成功的信念,然后要不断的为这个信念去努力,做到这两点,成功也就离我们不远了

一:数据库连接

1:如何操作数据库

(1)使用DOS命令窗口,输入“mysql -hlocalhost -u数据库用户名 -p数据库密码”命令连接数据库,编写SQL语句(SQL语句以分号;或者\g结尾),回车运行,查看操作结果(受影响行数或结果集)

(2)使用MySQL数据库自带的命令窗口,输入数据库密码连接数据库,编写SQL语句(SQL语句以分号;或者\g结尾),回车运行,查看操作结果(受影响行数或结果集)

(3)使用数据库连接软件(SQLyog)连接数据库,通过图形化界面或者在查询编辑器中编写SQL语句,运行SQL语句查看操作结果(受影响行数或结果集)

2:实际开发中如何操作数据库

在实际开发中,当用户的数据发生变化时,不会也不可能通过客户端连接数据库去操作SQL语句,因为在实际开发中,数据的操作量很大,如果使用客户端操作数据库,无法保证SQL语句的正确性和执行效率。

二、JDBC(Java Database Connectivity)

1 :JDBC的概念

(1)JDBC(Java DataBase Connectivity)Java连接数据库的规范(标准),可以使用Java语言连接数据库,从而对数据进行增删改查(CURD)操作。

2: JDBC核心思想

Java中定义了访问数据库的接口,可以为多种关系型数据库提供统一的访问方式。由数据库厂商提供驱动实现类(Driver数据库驱动)。

2.2.1 MySQL数据库驱动

mysql-connector-java-5.1.x 适用于5.x版本
​
mysql-connector-java-8.1.x 适用于8.x版本

2.2.2 JDBC API

JDBC是由多个接口和类进行功能实现的。

类型权限定名功能
classjava.sql.DriverManager管理多个数据库驱动类,提供了获取数据库连接的方法
interfacejava.sql.Connection代表一个数据库连接(当connection不为null时,表示已连接数据库)
interfacejava.sql.Statement发送SQL语句到数据库工具
interfacejava.sql.PreparedStatement发送SQL语句到数据库工具
interfacejava.sql.ResultSet保存SQL查询语句的结果数据(结果集)
classjava.sql.SQLException处理数据库应用程序时所发生的异常

2.3 JDBC环境搭建

(1)在项目下创建lib文件夹,用于存放jar文件。
​
(2)将mysql驱动mysql-connector-java-5.1.x复制到项目的lib文件夹中。
​
(3)将选中lib文件中的jar文件配置到项目中。

三、JDBC的开发步骤(非常重要)

3.1 注册驱动

使用Class.forName("包含完整路径的驱动类");//手动加载字节码文件到JVM中。

//1、注册驱动
Class.forName("com.mysql.jdbc.Driver");

3.2 获取连接对象

通过DriverManager.getConnection(url,user,password)获取数据库连接对象

url:mysql数据库的路径

user:mysql数据库用户名

password:mysql数据库密码

//2、获取连接对象
String url = "jdbc:mysql://127.0.0.1:3306/java221804";
String dbuser = "root";
String password = "******";
Connection connection = DriverManager.getConnection(url, dbuser, password);

3.3 获取发送SQL语句的对象

通过Connection对象获取Statement对象,用于发送SQL语句,实现对数据库进行访问。

//3、获取发送SQL语句的对象
Statement statement = connection.createStatement();

3.4 执行SQL语句

编写SQL语句并执行SQL语句,接收SQL语句的执行结果。

//编写SQL语句,SQL语句最好是先在SQLyog里面写一遍并运行一下,保证SQL语句没有语法错误
String sql = "DELETE FROM stu WHERE sid='S_1010';";
//4、执行SQL语句,并接收结果
//DML语句:对于插入数据、修改数据、删除数据操作,都调用executeUpdate()方法,返回受影响的行数(int类型)
//DQL语句:对于查询数据,调用executeQuery()方法,返回一个结果集(ResultSet类型)
int num =statement.executeUpdate(sql);

3.5 处理结果

处理第三步返回的数据。对返回的受影响行数结果进行逻辑判断;对返回的结果集进行迭代、依次获取数据。

//5、处理结果
if(num==1){System.out.println("数据删除成功");
}else{System.out.println("数据删除失败");
}

3.6 释放资源

释放(关闭)所使用到的所有资源对象,遵循”先开的后关,后开的先关“原则。

//6、释放资源:先开后关,后开先关
statement.close();
connection.close();

3.7 综合案例

综合上述6个步骤,实现向数据库表中插入一条数据。

package cn.bdqn.demo01;
​
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
​
public class InsertJDBC {
​public static void main(String[] args) {
​try {// 1、注册驱动Class.forName("com.mysql.jdbc.Driver");// 2、获取连接对象String url = "jdbc:mysql://127.0.0.1:3306/java221804";String user = "****";String password = "****";Connection connection = DriverManager.getConnection(url, user,password);// 3、获取发送SQL语句的对象Statement statement = connection.createStatement();// 编写SQL语句String sql = "INSERT INTO stu VALUES('S_1010','laoliu',29,'male');";// 4、执行SQL语句int num = statement.executeUpdate(sql);System.out.println(num);// 5、处理结果if (num == 1) {System.out.println("数据插入成功");} else {System.out.println("数据插入失败");}// 6、释放资源:先开后关,后开先关statement.close();connection.close();} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}
}

今天的分享就到此结束了

创作不易点赞评论互关三连

 


http://chatgpt.dhexx.cn/article/tjfgh1KG.shtml

相关文章

mysql 编码种类_MySQL 编码

编码的种类 SHOW VBRIABLES LIKE %character%; 1) character_set_client : MySQL Server 假定client传输数据过来的时候的编码 2) character_set_connection: Server收到SQL语句时,将其转换成的编码 3) character_set_results: Server在返回数据给客户端时,会将数据转成这个编码…

c++ 连接mysql数据库

使用vs2019对window11中的数据库进行连接 1. 配置连接环境 首先需要把mysql中的头文件和库文件放入到c项目工程中 1.打开安装MySQL的目录,在windows系统中如果是默认路径,应该和我的是一样的:C:\Program Files\MySQL\MySQL Server 8.0 2.找…

Mysql 数据库(一)—— 初识 Mysql

文章目录 Mysql 数据库(一)—— 初识 Mysql一、数据库1. 什么是数据库?2.数据库与数据结构3.数据库软件4.关于Mysql5.Mysql 学习内容6.Mysql 的安装 二、Mysql 详细操作1.学习 SQL 语句2.关于数据库的操作:(1) 查看数据库(2) 创建…

MySQL数据库编码

1 MySQL数据库编码解析 登录MySQL之后,输入如下命令来查询数据库编码, show variables like "char%";可得到如下查询结果, 查询结果所含信息如下, ①character_set_client:utf8,表示MySQL的…

编程语言的类型

解释型语言和编译型语言 解释型语言是把源代码的每一条语句在运行时通过解释器编译成机器语言(按语句编译,边说边翻译) 编译型语言是将整个源程序代码一次性编译成机器码,机器最直接读这个机器码文件(一次性编译&…

编程语言发展简史

编程语言发展简史 一、编程的起源二、第一代计算机语言——机器语言三、第二代计算机语言——汇编语言四、第三代计算机语言——高级语言2022年4月[TIOBE编程排行榜](https://www.tiobe.com/tiobe-index/)高级语言的分类:1.解释型和编译型2.面向过程和面向对象 一、…

常见的十几种编程语言介绍

作为一名小白,在刚接触编程的时候,常常不了解这些编程语言具体有什么用途,或者说不知道应该学习哪种语言能实现自己想要从事的IT领域方向,于是,结合自身学习经验以及资料查找,我整理了一些常见的编程语言的介绍,帮助大家认识了解编程语言的特点、用途,从而快速明确学习…

学生的第一门编程语言应该是什么?

“学生第一次开始学习计算机科学(computer science,CS)时,应该从哪种编程语言开始学习?”这一问题一直让教育工作者备受困扰。来自密歇根大学的计算机科学教授 Mark Guzdial 也对此进行了大量思考与研究,然而其近期发表在《ACM 通讯》上的一…

编程语言是怎么发展的?

说到编程语言,我们通常会想到JAVA、C#之类的。不知道你有没有好奇过,编程语言到底是怎么发展而来的。别急,听小编慢慢道来。 编程语言的定义为计算机和人都能识别的语言,通过编程语言,程序员将指令发给计算机&#xf…

如果编程语言是一门武功绝学

学习编程与武功绝学 武侠小说中,各路侠客绿林好汉都是从基本功开始一招一式学起,掌握了足够多的招式后,加之勤学苦练,量变引起质变,会有一天打开任督二脉顿悟出这些招式背后的哲学逻辑,成为一代宗师。在编程的学习过程中,我们何尝不是从一招一式的函数、语法、特性等学…

什么是 Python 编程语言?

Python:是世界上最流行的解释型编程语言之一。Python 由 Guido van Rossum 设计,作为“ABC”编程语言的继承者,于 1991 年首次发布。它是一种高级通用语言,其设计理念是通过使用缩进来强调代码的可读性。Python 的语言结构旨在帮助…

世界上到底有多少种编程语言

今天在找选题的时候,发现一篇《世界上最不流行的编程语言》。程序员常常讨论世界上最流行的编程语言有哪些,各种编程语言排行榜也会定时发布出来,例如Python、JavaScript、Java这些耳熟能详,排在各大榜单前列的流行编程语言&#…

Python 编程语言

💂 个人网站: 海拥 —— 一个乐于分享技术与快乐的博主🤟 版权: 本文由【海拥】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦💅 想寻找共同摸鱼的小伙伴,…

python是一种编程语言吗?,python语言是编程语言吗

python语言是什么? Python是一种计算机程序设计语言,你可能已经听说过很多流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript等,Python…

第一门编程语言,我应该学什么?

作者 | Daniel Bastos 译者 | 弯月 责编 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 软件工程师问我最多的一个问题就是,第一门编程语言应该学什么。这可能是开发人员学习过程中最大的困惑,以至于许多人觉得在得到百分百正确的…

第一门编程语言选谁?

Are You Ready? Go! ——第一门编程语言选谁? 金旭亮 说明: 这篇文章是专门针对大学低年级学生(和其他软件开发初学者)写的,如果你己经是研究生或本科高年级学生,请将这篇文章转发给你的师弟或师妹&…

输入电阻定义

MOSFET的栅极是绝缘的,所以 i G ≈ 0 i_G \approx 0 iG​≈0,输入阻抗很高 定义:对不含独立电源(可以含受控源)的端口网络,定义端口的电压和电流之比为该端口网络的输入电阻(入端电阻&#xf…

关于电路中输入阻抗和输出阻抗大小的讨论

前言 很多同学搞不清楚为什么说输入、输出阻抗大小是大好还是小好,在这里我要简单概述一下。对于输入阻抗来说,输入阻抗越大越好,因为这样落到放大器上的电压就越大,更接近信号源电压(信号源内阻索取的就越小&#xf…

阻抗匹配的简单理解

阿尔伯特爱因斯坦声称:“科学的大多数基本思想本质上都很简单,并且通常可以用每个人都能理解的语言来表达。” 我不确定 21 世纪的物理学是否仍然如此(试着找一个能简单解释超弦理论的人)。尽管如此,这也是我对本专栏的…

如何用示波器测量输出阻抗

本文介绍了测量函数信号发生器、放大器或其他电路的输出阻抗的方法。这种方法适用于频率较低的场景,并不适应于所有的电路类型。本实验中用低频(1k Hz)的正弦波测量。 本文以汉泰的 DSO8060 为例,测量其输出阻抗,该示波器带有信号…