Python连接MySQL

python 连接 mySQL 可以用 pymysql 模块。

pip install pymysql

pymysql的基本使用:
 

import pymysql

try:
    # 1、连接数据库
    conn = pymysql.connect(
        host='localhost',
        port=3306,
        user='root',
        password='123456',
        database='spider'
    )
    # 目标:执行 sql 语句
    # 2、创建游标
    cursor = conn.cursor()

    # 接下来就可以用游标去执行各种操作了
    # 3 准备sql
    sql = 'insert into  stu (sname, sage) VALUES ("DDKK", 22);'
    # 4. 执行sql
    result = cursor.execute(sql)
    print(result)

    # pymysql在执行 sql 的时候, 默认开启了事务
    # 关于事务的两个操作 : rollback, commit
    # 5. 提交事务
    conn.commit()

except:
    conn.rollback()

finally:  # 最终
    if cursor:
        cursor.close()
    if conn:
        conn.close()    # 一定要记得关闭链接


 pymysql 的增删改逻辑:

import pymysql


def change(sql, isInsert=False):
    try:
        conn = pymysql.connect(
            host='localhost',
            port=3306,
            user='root',
            password='123456',
            database='spider'
        )

        cursor = conn.cursor()
        count = cursor.execute(sql)
        conn.commit()
        if isInsert:
            # 新增的 row id值
            new_id = cursor.lastrowid
            return new_id
        else:
            return count
    except Exception as e:
        print(e)
        conn.rollback()
    finally:
        if cursor:
            cursor.close()
        if conn:
            conn.close()


def add(sql):
    result = change(sql, isInsert=True)
    return result


def update(sql):
    return change(sql)


def delete(sql):
    return change(sql)


if __name__ == '__main__':
    sql = 'insert into stu (sname, sage) VALUES ("DDKK", 22);'
    result = add(sql)
    print(result)

 pymysql 的查询逻辑:

import pymysql
from pymysql.cursors import DictCursor

conn = pymysql.connect(
        host='localhost',
        port=3306,
        user='root',
        password='123456',
        database='spider'
    )
# 目标:执行 sql 语句
# 2、创建游标
cursor = conn.cursor(cursor=DictCursor)     # 字典游标 => 获得的结果是 字典
                                            # 原本获取到的查询结果是 元组

# 接下来就可以用游标去执行各种操作了
# 3 准备sql
sql = 'select * from stu;'
# 4. 执行sql
result = cursor.execute(sql)
print(result)

# 注意: 查询操作, 返回数据存放在 cursor 里

# fetchone() 一次拿一条记录
one = cursor.fetchone()
print(one)

# fetchall() 全拿
ret = cursor.fetchall()

# fetchmany(3) 一次拿三条数据
ret = cursor.fetchmany(3)
print(ret)

if cursor:
    cursor.close()
if conn:
    conn.close()  # 一定要记得关闭链接

 

你可能感兴趣的:(数据库,python,mysql,开发语言)