简介:个人学习分享,如有错误,欢迎批评指正。
Python 连接 MySQL 数据库
Python 连接 MySQL 数据库的常用方法包括使用 mysql-connector-python、PyMySQL 和 SQLAlchemy。以下是每种方法的简单示例:
1. 使用 mysql-connector-python
import mysql.connector# 建立连接
conn = mysql.connector.connect(host="localhost",user="your_username",password="your_password",database="your_database"
)# 创建游标对象
cursor = conn.cursor()# 执行查询
cursor.execute("SELECT * FROM your_table")# 获取结果
results = cursor.fetchall()# 关闭游标和连接
cursor.close()
conn.close()# 打印结果
for row in results:print(row)
2. 使用 PyMySQL
import pymysql# 建立连接
conn = pymysql.connect(host="localhost",user="your_username",password="your_password",database="your_database"
)# 创建游标对象
cursor = conn.cursor()# 执行查询
cursor.execute("SELECT * FROM your_table")# 获取结果
results = cursor.fetchall()# 关闭游标和连接
cursor.close()
conn.close()# 打印结果
for row in results:print(row)
3. 使用 SQLAlchemy
from sqlalchemy import create_engine# 创建引擎
engine = create_engine("mysql+pymysql://your_username:your_password@localhost/your_database")# 连接数据库并执行查询
with engine.connect() as conn:result = conn.execute("SELECT * FROM your_table")for row in result:print(row)
选择合适的连接方式
- 如果需要一个轻量级的解决方案,可以使用 mysql-connector-python 或 PyMySQL。
- 如果你需要 ORM(对象关系映射)功能或更复杂的数据库操作,SQLAlchemy 是一个更好的选择。
Java 连接 MySQL 数据库
JDBC概述
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API。JDBC是Java访问数据库的标准规范,可以为不同的关系型数据库提供统一访问,它由一组用Java语言编写的接口和类组成。
JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。
JDBC入门案例
JDBC核心类和接口
- DriverManager:用于注册驱动
- Connection: 表示与数据库创建的连接
- Statement/PrepareStatement: 操作数据库sql语句的对象
- ResultSet: 结果集或一张虚拟表
执行流程
1. 添加 MySQL JDBC 驱动程序
首先,确保你已经添加了 MySQL JDBC 驱动程序到你的项目中。你可以在 Maven 项目中通过添加以下依赖来实现:
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version>
</dependency>
如果你不是使用 Maven 项目,你需要手动下载 mysql-connector-java 的 .jar 文件并将其添加到项目的类路径中。
2. 使用 JDBC 连接 MySQL 数据库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;public class MySQLConnection {public static void main(String[] args) {// 数据库连接参数String url = "jdbc:mysql://localhost:3306/your_database";String username = "your_username";String password = "your_password";Connection conn = null;Statement stmt = null;try {// 1. 注册 JDBC 驱动Class.forName("com.mysql.cj.jdbc.Driver");// 2. 打开连接conn = DriverManager.getConnection(url, username, password);// 3. 执行查询stmt = conn.createStatement();String sql = "SELECT * FROM your_table";ResultSet rs = stmt.executeQuery(sql);// 4. 处理查询结果while (rs.next()) {// 例如获取列名为 'id' 的数据int id = rs.getInt("id");String name = rs.getString("name");System.out.println("ID: " + id + ", Name: " + name);}// 5. 关闭 ResultSet 和 Statementrs.close();stmt.close();conn.close();} catch (SQLException se) {// 处理 JDBC 错误se.printStackTrace();} catch (Exception e) {// 处理 Class.forName 错误e.printStackTrace();} finally {// 关闭资源try {if (stmt != null) stmt.close();} catch (SQLException se2) {}try {if (conn != null) conn.close();} catch (SQLException se) {se.printStackTrace();}}}
}
结~~~