关键词

使用python连接mysql数据库数据方式

使用 Python 连接 MySQL 数据库一般需要以下步骤:

  1. 安装需要的库:Python 连接 MySQL 可以使用 PyMySQL、mysql-connector-python 等库,这里以 PyMySQL 为例。
pip install pymysql
  1. 连接数据库:在 Python 中使用 PyMySQL 连接 MySQL 数据库需要先创建数据库连接对象,之后就可以使用该对象进行数据库操作。连接数据库需要指定数据库的基本信息,包括主机名、用户名、密码、数据库名等等;
import pymysql

config = {
    'host': '127.0.0.1',
    'port': 3306,
    'user': 'root',
    'password': '123456',
    'db': 'test',
    'charset': 'utf8mb4',
    'cursorclass': pymysql.cursors.DictCursor
}

connection = pymysql.connect(**config)

其中,DictCursor 是指定返回结果以 Dict 字典的形式返回,而不是默认的 Tuple 格式。

  1. 执行 SQL 语句:使用数据库连接对象的 cursor() 方法创建游标对象,之后便可以使用 cursor 对象执行 SQL 语句。
sql = "SELECT * FROM user"
with connection.cursor() as cursor:
    cursor.execute(sql)
    result = cursor.fetchall()
    print(result)

上面代码是执行了一个简单的 SQL 查询语句,并将结果输出。

  1. 关闭数据库连接:完成操作后,需要关闭数据库连接对象。
connection.close()

下面是一个完整的连接 MySQL 数据库并执行查询语句的示例:

import pymysql

config = {
    'host': '127.0.0.1',
    'port': 3306,
    'user': 'root',
    'password': '123456',
    'db': 'test',
    'charset': 'utf8mb4',
    'cursorclass': pymysql.cursors.DictCursor
}

# 创建连接对象
connection = pymysql.connect(**config)

# 执行查询语句并返回结果
sql = "SELECT * FROM user"
with connection.cursor() as cursor:
    cursor.execute(sql)
    result = cursor.fetchall()
    print(result)

# 关闭连接对象
connection.close()

另外,这里再提供一个插入数据到数据库的示例:

import pymysql

config = {
    'host': '127.0.0.1',
    'port': 3306,
    'user': 'root',
    'password': '123456',
    'db': 'test',
    'charset': 'utf8mb4',
    'cursorclass': pymysql.cursors.DictCursor
}

# 创建连接对象
connection = pymysql.connect(**config)

# 插入数据
sql = "INSERT INTO user (name, age) VALUES (%s, %s)"
with connection.cursor() as cursor:
    cursor.execute(sql, ('Bob', 18))
    connection.commit()

# 查询结果
sql = "SELECT * FROM user"
with connection.cursor() as cursor:
    cursor.execute(sql)
    result = cursor.fetchall()
    print(result)

# 关闭连接对象
connection.close()

上面代码中插入了一条数据,然后查询并输出结果。需要注意的是,在执行插入操作后需要主动调用 connection.commit() 方法提交更改才能生效。

本文链接:http://task.lmcjl.com/news/18788.html

展开阅读全文