PyMySQL数据库操作

导读:本篇文章讲解 PyMySQL数据库操作,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.连接数据库

pymysql.connect()的前四个方法是必需的

PyMySQL数据库操作

示例:

import pymysql
try:
    # 打开数据库连接
    db = pymysql.connect(
        host='localhost',
        user='root',
        password='123456',
        database='zqf')
    print("数据库连接成功!")
except:
    print("数据库连接失败!")

2.创建表

可以使用execute()方法来为数据库创建表

  • cursor() 方法创建一个游标对象 cursor

    cursor = db.cursor()

  • 使用 execute() 方法执行 SQL,如果表存在则删除

    cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

  • 编写创建表的SQL语句

sql = """CREATE TABLE mymessage(
         myname  varchar(20),
         grade  varchar(20),
         major varchar(20),  
         id varchar(20) )"""
  • 执行操作

    cursor.execute(sql)

示例:

import pymysql
try:
    # 打开数据库连接
    db = pymysql.connect(
        host='localhost',
        user='root',   #用户名
        password='123456',  #密码
        database='zqf')    #数据库名称
    print("数据库连接成功!")

    cursor = db.cursor()

    cursor.execute("DROP TABLE IF EXISTS mymessages")

    sql = """CREATE TABLE mymessages (
              myname  varchar(20),
              grade  varchar(20),
              major varchar(20),  
              id varchar(20) )"""
    cursor.execute(sql)#执行
    print("表创建成功!")

except:
    print("表创建失败!")

3.插入数据

  • 编写SQL语句

    sql = """INSERT INTO mymessages(myname,
             grade, major, id)
             VALUES ('张庆峰', '大二', '软件工程', '542013460851')"""
  • 使用execute()方法执行SQL语句

    try:
       # 执行sql语句
       cursor.execute(sql)
       # 提交到数据库执行
       db.commit()
    except:
       # 如果发生错误则回滚
       db.rollback()

示例:

import pymysql

# 打开数据库连接
db = pymysql.connect(
    host='localhost',
    user='root',   #用户名
    password='123456',  #密码
    database='zqf')    #数据库名称

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = """INSERT INTO mymessages(myname,
         grade, major, id)
         VALUES ('张庆峰', '大二', '软件工程', '542013460851')"""
try:
    # 执行sql语句
    cursor.execute(sql)
    # 提交到数据库执行
    db.commit()
    print("插入成功!")
except:
    # 如果发生错误则回滚
    db.rollback()
    print("插入失败!")

4.查询数据

Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。

  • fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
  • fetchall(): 接收全部的返回结果行.
  • rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。

示例:

import pymysql

# 打开数据库连接
db = pymysql.connect(
    host='localhost',
    user='root',   #用户名
    password='123456',  #密码
    database='zqf')    #数据库名称

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sqlQuery = "SELECT * FROM mymessages "
try:
    # 执行sql语句
    cursor.execute(sqlQuery)
    # 获取所有记录列表
    results = cursor.fetchall()
    for row in results:
        myname = row[0]
        grade = row[1]
        major = row[2]
        id = row[3]
        # 打印结果
        print("myname=%s,grade=%s,major=%s,id=%s" % \
              (myname, grade, major, id))
except:
    print("查询数据失败!")

5.更新数据

  • 编辑sql语句

    sql = "UPDATE mymessages SET grade=%s WHERE myname=%s"
    
  • 编辑更新的信息

    value = ('大四', '小明')

示例:

import pymysql

# 打开数据库连接
db = pymysql.connect(
    host='localhost',
    user='root',   #用户名
    password='123456',  #密码
    database='zqf')    #数据库名称

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = "UPDATE mymessages SET grade=%s WHERE myname=%s"
value = ('大四', '小明')

try:
   # 执行SQL语句
   cursor.execute(sql,value)
   # 提交到数据库执行
   db.commit()
   print("更新数据成功!")
except:
   # 发生错误时回滚
   db.rollback()
   print("更新数据失败!")

6.删除数据

import pymysql

# 打开数据库连接
db = pymysql.connect(
    host='localhost',
    user='root',   #用户名
    password='123456',  #密码
    database='zqf')    #数据库名称

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = "DELETE FROM mymessages WHERE id = %s"
value = ('123')

try:
   # 执行SQL语句
   cursor.execute(sql,value)
   # 提交到数据库执行
   db.commit()
   print("删除数据成功!")
except:
   # 发生错误时回滚
   db.rollback()
   print("删除数据失败!")

7.删除表

import pymysql

# 打开数据库连接
db = pymysql.connect(
    host='localhost',
    user='root',   #用户名
    password='123456',  #密码
    database='zqf')    #数据库名称

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 插入语句
sql = 'DROP TABLE IF EXISTS mymessages'

cursor.execute(sql)
print('表删除成功!')

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/99496.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!