SQL基础——python和java连接MySQL数据库

简介:个人学习分享,如有错误,欢迎批评指正。

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 和 Statement
            rs.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();
            }
        }
    }
}

结~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值