美文网首页
Python操作Mysql(PyMySQL)

Python操作Mysql(PyMySQL)

作者: 你旭哥 | 来源:发表于2018-03-14 10:07 被阅读0次

    使用的相关函数

    执行事务函数

    # 向数据库提交
    db.commit()
    # 发生错误时回滚
    db.rollback()
    

    查询操作函数

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

    操作示例

    数据库连接

    #!/usr/bin/python3
     
    import pymysql
     
    # 打开数据库连接
    db = pymysql.connect("localhost","testuser","test123","TESTDB" )
     
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = db.cursor()
     
    # 使用 execute()  方法执行 SQL 查询 
    cursor.execute("SELECT VERSION()")
     
    # 使用 fetchone() 方法获取单条数据.
    data = cursor.fetchone()
     
    print ("Database version : %s " % data)
     
    # 关闭数据库连接
    db.close()
    

    使用with使代码更整洁。

    #!/usr/bin/python3
     
    import pymysql
    
    # 打开数据库连接
    connection = pymysql.connect(
        host='localhost',  # 连接的是本地数据库
        user='Xu',  # 自己的mysql用户名
        passwd='******',  # 自己的密码
        db='本地',  # 数据库的名字
        charset='utf8mb4',  # 默认的编码方式:
        cursorclass=pymysql.cursors.DictCursor)
    
    try:
        with connection.cursor() as cursor:
            # 创建更新值的sql语句
            sql = ""SELECT VERSION()""
            # 执行sql语句
            cursor.execute(sql)
            data = cursor.fetchone()
            print ("Database version : %s " % data)
    
    finally:
        # 关闭连接
        connection.close()
    

    创建数据库表TABLE

    # 使用 execute() 方法执行 SQL,如果表存在则删除
    cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
     
    # 使用预处理语句创建表
    sql = """CREATE TABLE EMPLOYEE (
             FIRST_NAME  CHAR(20) NOT NULL,
             LAST_NAME  CHAR(20),
             AGE INT,  
             SEX CHAR(1),
             INCOME FLOAT )"""
     
    cursor.execute(sql)
    

    插入数据操作

    # SQL 插入语句
    sql = """INSERT INTO zhihu_cs1(ID,avatar,name,sign,job,education,sex,get_praise,follow,fans)
            VALUES (%s, %s,%s,%s,%s,%s,%s,%s,%s,%s)"""
    
    # excute 的第二个参数可以将sql缺省语句补全,一般以元组的格式
    cursor.execute(sql, (ID, avatar, name, sign, job, education, sex, get_praise, follow, fans))
    # 提交到数据库执行
    db.commit()
    

    数据库查询操作

    sql = 'SELECT * FROM zhihu_cs1'
    cursors.execute(sql)
    result = cursors.fetchall()
    

    数据库更新

    # SQL 更新语句
    sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
    cursor.execute(sql)
    db.commit()
    

    删除操作

    sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
    cursor.execute(sql)
    db.commit()
    

    相关文章

      网友评论

          本文标题:Python操作Mysql(PyMySQL)

          本文链接:https://www.haomeiwen.com/subject/hkmgfftx.html