python-操作MySQL

1、连接数据库基础代码

使用 pymysql.connect(host, user, passwd, db, port, charset='utf8') 连接数据库

使用 cursor() 方法获取操作游标

使用 execute(sql) 方法执行SQL语句

使用 fetchone() 方法获取一条数据

import pymysql
# 打开数据库连接
db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 使用execute()方法执行SQL语句
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
cursor.close()
db.close()

 2、创建数据库表,使用 execute(sql) 方法执行sql语句

import pymysql
# 打开数据库连接
db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""
# 使用execute方法执行SQL语句
cursor.execute(sql)
# 关闭数据库连接
cursor.close()
db.close()

3、数据库插入、更新、删除(只是sql语句变化)操作,使用 commit() 方法提交数据库执行,使用 rollback() 方法回滚数据库执行

import pymysql
# 打开数据库连接
db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 插入/删除/更新 语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
    # 执行sql语句
    cursor.execute(sql)
    # 提交到数据库执行
    db.commit()
except:
    # 回滚数据库执行
    db.rollback()
# 关闭数据库连接
cursor.close()
db.close()

4、数据库多行结果集查询,使用 fetchall() 方法接收全部的返回结果行

import pymysql
# 打开数据库连接
db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = 'SELECT * from user_connect where platform_type="11";'
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
    id = row[0]
    type = row[1]
    platform_type = row[2]
    state = row[3]
    connect_key = row[4]
    connect_account = row[5]
    user_id = row[6]
    create_time = row[7]
    update_time = row[8]
    is_delete = row[9]
    source_id = row[10]
    # 打印结果
    print(id, type, platform_type, state, connect_key, connect_account, user_id, create_time, update_time, is_delete, source_id)
# 关闭数据库连接
cursor.close()
db.close()

5、数据库单行结果集查询,使用 fetchone() 方法获取一条数据,使用 rowcount 返回执行execute()方法后影响的行数

import pymysql
# 打开数据库连接
db = pymysql.connect(host="192.168.120.78", user="test", passwd="Ddc@2019", db="user", port=3306, charset='utf8')
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# SQL 查询语句
sql = 'SELECT * from user_connect where connect_key="13825822582";'
# 执行SQL语句
cursor.execute(sql)
# 获取一条数据
results = cursor.fetchone()
# 获取影响行数
count = cursor.rowcount
# 打印结果
print(count)
print(results)
# 关闭数据库连接
cursor.close()
db.close()

原文地址:https://www.cnblogs.com/lilyo/p/11995528.html