wkfvawl

一、 连接数据库

1、下载安装pymyql库

pip install pymysql

2、导入库

import pymysql

3、连接数据库,最好用try except捕获异常

try:
    db = pymysql.connect(host="localhost", user="root", password="****", database="test")
    print(\'数据库连接成功!\')
except pymysql.Error as e:
    print(\'数据库连接失败\'+str(e))

二、创建一张新表

1、声明一个游标

    cur = db.cursor()

2、创建表之前先检查是否存在,如果存在则删除

    cur.execute(\'DROP TABLE IF EXISTS Student\')

3、编辑sql语句

   sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )"
   cur.execute(sqlQuery)

三、向表中插入一条数据

1、编辑sql语句

    sqlQuery=" INSERT INTO Student (Name, Email, Age) VALUE (%s,%s,%s) "

2、编辑准备插入的值

    value=(\'Mike\',\'123456@163.com\',20)

3、执行sql语句

        try:
            cur.execute(sqlQuery,value)
            db.commit()
            print(\'数据插入成功!\')
        except pymysql.Error as e:
            print("数据插入失败:"+e )
            db.rollback()

四、查询表中的数据

1、编辑sql语句

    sqlQuery = "SELECT * FROM Student"

2、使用fetchall()方法接收全部的返回结果行

        try:
            cur.execute(sqlQuery)
            results=cur.fetchall()
            for row in results:
                name=row[0]
                email=row[1]
                age=row[2]
                print(\'Name:%s,Email:%s,Age:%s\'%(name,email,age))
        except pymysql.Error as e:
            print("数据查询失败:"+str(e))

五、更新表中的数据

1、编辑sql语句

    sqlQuery = "UPDATE Student SET Name= %s WHERE Name=%s"

2、编辑更新的信息

    value = (\'John\', \'updated name\')

3、提交修改

        try:
            cur.execute(sqlQuery, value)
            db.commit()
            print(\'数据更新成功!\')
        except pymysql.Error as e:
            print("数据更新失败:"+str(e))
            # 发生错误时回滚
            db.rollback()

六、删除表中的数据

1、编辑sql语句

    sqlQuery = "DELETE FROM Student where Name=%s"

2、编辑更新的信息

    value = (\'John\')

3、提交修改

        try:
            cur.execute(sqlQuery, value)
            db.commit()
            print(\'Date Deleted Successfully\')
        except pymysql.Error as e:
            print("数据删除失败:"+str(e))
            # 发生错误时回滚
            db.rollback()

七、删除一张表

1、编辑sql语句

    sqlQuery=\'DROP TABLE IF EXISTS Student\'

2、提交修改

        cur.execute(sqlQuery)
        print(\'表删除成功!\')

 


完整demo:

import pymysql

# https://blog.csdn.net/qq_39598271/article/details/112610382
# Python3.8问题
try:
    db = pymysql.connect(host="localhost", user="root", password="*****", database="test")
    print(\'数据库连接成功!\')
    # 创建一张表
    cur = db.cursor()
    # cur.execute(\'DROP TABLE IF EXISTS Student\')
    # sqlQuery = "CREATE TABLE Student(Name CHAR(20) NOT NULL ,Email CHAR(20),Age int )"
    # cur.execute(sqlQuery)

    # 向表中插入数据
    # cur = db.cursor()
    # sqlQuery = " INSERT INTO Student (Name, Email, Age) VALUE (%s,%s,%s) "
    # value = (\'Mike\', \'123456@163.com\', 20)
    # try:
    #     cur.execute(sqlQuery, value)
    #     db.commit()
    #     print(\'数据插入成功!\')
    # except pymysql.Error as e:
    #     print("数据插入失败:" + e)
    #     db.rollback()

    # 查询表中数据
    # cur = db.cursor()
    # sqlQuery = "SELECT * FROM Student"
    # try:
    #     cur.execute(sqlQuery)
    #     results = cur.fetchall()
    #     for row in results:
    #         name = row[0]
    #         email = row[1]
    #         age = row[2]
    #         print(\'Name:%s,Email:%s,Age:%s\' % (name, email, age))
    # except pymysql.Error as e:
    #     print("数据查询失败:" + str(e))

    # 更新表中数据
    # cur = db.cursor()
    # sqlQuery = "UPDATE Student SET Name= %s WHERE Name=%s"
    # value = (\'John\', \'updated name\')
    # try:
    #     cur.execute(sqlQuery, value)
    #     db.commit()
    #     print(\'数据更新成功!\')
    # except pymysql.Error as e:
    #     print("数据更新失败:" + str(e))
    #     # 发生错误时回滚
    #     db.rollback()

    # 删除表中数据
    # cur = db.cursor()
    # sqlQuery = "DELETE FROM Student where Name=%s"
    # value = (\'John\')
    # try:
    #     cur.execute(sqlQuery, value)
    #     db.commit()
    #     print(\'Date Deleted Successfully\')
    # except pymysql.Error as e:
    #     print("数据删除失败:" + str(e))
    #     # 发生错误时回滚
    #     db.rollback()

    # 删除一张表
    cur = db.cursor()
    sqlQuery = \'DROP TABLE IF EXISTS Student\'
    cur.execute(sqlQuery)
    print(\'表删除成功!\')

except pymysql.Error as e:
    print(\'数据库连接失败\'+str(e))

 

分类:

技术点:

相关文章:

  • 2022-01-21
  • 2021-08-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-20
  • 2021-12-20
  • 2021-11-21
  • 2021-12-20
  • 2021-11-21
  • 2021-11-21
  • 2021-12-02
相关资源
相似解决方案