pymysql操作

参考教程:Python连接MySQL数据库【趣学Python】
SQL常用语句可参考:mysql sql常用语句大全
Python连接数据库的常见操作:
在连接数据库之前,需要确保已经创建数据库

一、连接数据库

语法:
connect()用于连接数据库,括号中为各种参数,常用的有host(主机名)、user(用户名)、
password(密码)、database(数据库名)

实例:

import pymysql

# 数据库信息:
DBHOST = 'localhost'  # 主机名
DBUSER = 'root'  # 用户名
DBPASS = '1234'  # 密码
DBNAME = 'xuexi_mysql'  # 数据库名

try:
    db = pymysql.connect(host=DBHOST, user=DBUSER, password=DBPASS, database=DBNAME)
    print("数据库连接成功!")
except pymysql.Error as e:  # 连接不成功打印错误
    print("数据库连接失败:" + str(e))

二、数据库中创建新表

语法:
cursor()用以创建游标对象,用以操作数据库
execute()用以执行SQL语句

实例:

import pymysql

# 数据库信息:
DBHOST = 'localhost'  # 主机名
DBUSER = 'root'  # 用户名
DBPASS = '1234'  # 密码
DBNAME = 'xuexi_mysql'  # 数据库名

try:
    db = pymysql.connect(host=DBHOST, user=DBUSER, password=DBPASS, database=DBNAME)
    print("数据库连接成功!")
    cur = db.cursor()  # 声明一个游标,用以操作数据库
    cur.execute("DROP TABLE IF EXISTS Student")  # 执行SQL语句,创建表之前先查询是否存在,如果存在则删除
    sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int)"  # 编辑SQL语句:创建表,表名为 Student,具有Name,Email,Age
    cur.execute(sqlQuery)  # 执行SQL语句
    print("表格创建成功!")
except pymysql.Error as e:  # 连接不成功打印错误
    print("表格创建失败:" + str(e))

三、向表中插入数据

语法:
commit()用以将数据提交给数据库
rollback()用以发生错误时回滚

实例:

import pymysql

# 数据库信息:
DBHOST = 'localhost'  # 主机名
DBUSER = 'root'  # 用户名
DBPASS = '1234'  # 密码
DBNAME = 'xuexi_mysql'  # 数据库名a

try:
    db = pymysql.connect(host=DBHOST, user=DBUSER, password=DBPASS, database=DBNAME)
    print("数据库连接成功!")
    cur = db.cursor()  # 声明一个游标,用以操作数据库
    sqlQuery = "INSERT INTO Student(Name, Email, Age) VALUE (%s, %s, %s)"  # 编辑SQL语句:向表中插入信息
    value = ("Mike", "123@qq.com", "20")  # 要插入的具体信息
    cur.execute(sqlQuery, value)  # 执行SQL语句
    db.commit()  # 提交到数据库
    print("数据插入成功!")
except pymysql.Error as e:  # 连接不成功打印错误
    print("数据插入失败:" + str(e))
    db.rollback()  # 如果发生错误则回滚

db.close()  # 关闭数据库连接

四、查询表中的数据

语法:
fetchall()用以接收全部的返回结果
实例:

import pymysql

# 数据库信息:
DBHOST = 'localhost'  # 主机名
DBUSER = 'root'  # 用户名
DBPASS = '1234'  # 密码
DBNAME = 'xuexi_mysql'  # 数据库名a

try:
    db = pymysql.connect(host=DBHOST, user=DBUSER, password=DBPASS, database=DBNAME)
    print("数据库连接成功!")
    cur = db.cursor()  # 声明一个游标,用以操作数据库
    sqlQuery = "SELECT * FROM Student"  # 编辑SQL语句:查询数据库 Student 中的内容
    cur.execute(sqlQuery)  # 执行SQL语句
    result = cur.fetchall()  # 接收全部的返回结果
    for row in result:  # 遍历以打印出数据库信息
        name = row[0]
        email = row[1]
        age = row[2]
        print("Name:%s,Email:%s,Age:%s" % (name, email, age))
        # print(f"Name:{name},Email:{email},Age:{age}")
        # print("Name:", name, ",Email:", email, ",Age:", age)
except pymysql.Error as e:  # 连接不成功打印错误
    print("数据查询失败:" + str(e))
db.close()  # 关闭数据库连接

五、更新表中的数据

实例:

import pymysql

# 数据库信息:
DBHOST = 'localhost'  # 主机名
DBUSER = 'root'  # 用户名
DBPASS = '1234'  # 密码
DBNAME = 'xuexi_mysql'  # 数据库名a

try:
    db = pymysql.connect(host=DBHOST, user=DBUSER, password=DBPASS, database=DBNAME)
    print("数据库连接成功!")
    cur = db.cursor()  # 声明一个游标,用以操作数据库
    sqlQuery = "UPDATE Student set Name = %s where Name = %s"  # 编辑SQL语句:更新数据库 Student 中的信息
    value = ("John", "Mike")  # 要更新的具体信息
    cur.execute(sqlQuery, value)  # 执行SQL语句
    db.commit()  # 提交到数据库
    print("数据更新成功")
except pymysql.Error as e:  # 连接不成功打印错误
    print("数据更新失败:" + str(e))
    db.rollback()  # 如果发生错误则回滚
db.close()  # 关闭数据库连接

六、删除表中的数据

实例:

import pymysql

# 数据库信息:
DBHOST = 'localhost'  # 主机名
DBUSER = 'root'  # 用户名
DBPASS = '1234'  # 密码
DBNAME = 'xuexi_mysql'  # 数据库名a

try:
    db = pymysql.connect(host=DBHOST, user=DBUSER, password=DBPASS, database=DBNAME)
    print("数据库连接成功!")
    cur = db.cursor()  # 声明一个游标,用以操作数据库
    sqlQuery = "DELETE FROM Student WHERE Name = %s"  # 编辑SQL语句:删除数据库 Student 中的信息
    value = ("John")  # 要删除的具体信息
    cur.execute(sqlQuery, value)  # 执行SQL语句
    db.commit()  # 提交到数据库
    print("数据删除成功")
except pymysql.Error as e:  # 连接不成功打印错误
    print("数据删除失败:" + str(e))
    db.rollback()  # 如果发生错误则回滚
db.close()  # 关闭数据库连接

七、删除数据库中的表

import pymysql

# 数据库信息:
DBHOST = 'localhost'  # 主机名
DBUSER = 'root'  # 用户名
DBPASS = '1234'  # 密码
DBNAME = 'xuexi_mysql'  # 数据库名a

try:
    db = pymysql.connect(host=DBHOST, user=DBUSER, password=DBPASS, database=DBNAME)
    print("数据库连接成功!")
    cur = db.cursor()  # 声明一个游标,用以操作数据库
    sqlQuery = "DROP TABLE IF EXISTS Student"  # 编辑SQL语句:删除数据库 Student 中的一张表
    cur.execute(sqlQuery)  # 执行SQL语句
    print("表格删除成功")
except pymysql.Error as e:  # 连接不成功打印错误
    print("表格删除失败:" + str(e))
    db.rollback()  # 如果发生错误则回滚
db.close()  # 关闭数据库连接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值