zoukankan      html  css  js  c++  java
  • python操作MySql数据库

    准备

    在python中操作数据库我们都采用pymysql库来操作。用pip命令进行安装。

    pip install pymysql

    安装成功后导入pymysql库。然后就可以进行数据库的相关操作了。

    import pymysql

    一、建立连接

    连接的建立通过pymysql的connect函数。连接用完后记得关闭是个好习惯。

    import pymysql
    db_config={
        'user':'root',          #用户名
        'password':'qwe123',    #密码
        'db':'course',          #选择的数据库
        'charset':'utf8'        #编码
    }
    conn=pymysql.connect(**db_config)
    conn.close()  #连接关闭

    二、生成游标

    连接建立好后,并不能操纵数据库,我们需要使用游标来操作数据库。

    游标的建立用到cursor()函数。与连接一样游标用完也要进行关闭。

    cur=conn.cursor()
    cur.close()

    三、执行sql语句

    我们操作数据库都是通过sql语句来实现的,所以在python中要想操作数据库,就需要使用execute()函数来执行sql语句。

    cur.execute('执行的sql语句')      #注意在一条sql语句的结束在这里是不需要添加‘;’的

    语句执行后只会返回受影响的行数。

    import pymysql
    db_config={
        'user':'root',          #用户名
        'password':'qwe123',   #密码
        'db':'course',          #选择的数据库
        'charset':'utf8'        #编码
    }
    conn=pymysql.connect(**db_config)
    cur=conn.cursor()
    cla=cur.execute('show tables')
    print(cla)
    
    
    >>>4

    四、获取结果

    执行sql语句后我们需要查看返回的结果值,这时用到fetchall()函数。

    import pymysql
    db_config={
        'user':'root',          #用户名
        'password':'qwe123',   #密码
        'db':'course',          #选择的数据库
        'charset':'utf8'        #编码
    }
    conn=pymysql.connect(**db_config)
    cur=conn.cursor()
    cur.execute('show tables')
    print(cur.fetchall())
    
    >>>(('choice',), ('course',), ('partment',), ('student',))

    五、事务的提交与回滚

    在python操作数据库的时候如果你之编写了sql语句而没有将语句提交,那么你所做的一切都是徒劳的。因为不提交的事务(一次数据操作)是不会对数据库产生影响的。所以使用commit()函数进行提交。

    cur=conn.cursor()
    cur.execute('INSERT INTO student VALUES (111,"刚刚",4)')
    conn.commit()

    如果数据执行时出现异常,就需要进行回滚,比如说,你要去银行给别人汇款,当你把钱刚从你的账户提取出来还没有汇入对方账户后突然就停电了,这时你的钱变少了而对方却没收到钱,这时就是一个异常,我们要撤销掉刚才的操作这时就需要回滚,用rollback()函数。可以设计用try ,except 捕捉异常如果出现异常就回滚,未异常就提交。但是提交后就不能回滚了。

    cur=conn.cursor()
    cur.execute('INSERT INTO student VALUES (111,"刚刚",4)')
    conn.rollback()

    六、综合举例

    import pymysql
    db_config={
        'user':'root',          #用户名
        'password':'qwe123',   #密码
        'db':'course',          #选择的数据库
        'charset':'utf8'        #编码
    }
    conn=pymysql.connect(**db_config)
    cur=conn.cursor()
    try:
        executes=cur.execute('INSERT INTO student VALUES (111,"刚刚",4)')
        values=cur.fetchall()
        for value in values:
            print(value)
        conn.commit()
    except Exception as e:
        print(e)
        conn.rollback()
    finally:
        cur.close()
        conn.close()
  • 相关阅读:
    Firemonkey 控件设定字型属性及颜色
    ListView 使用 LiveBindings 显示超过 200 条记录
    Firemonkey ListView 获取项目右方「>」(Accessory) 事件
    XE7 Update 1 选 iOS 8.1 SDK 发布 iPhone 3GS 实机测试
    Firemonkey Bitmap 设定像素颜色 Pixel
    Firemonkey 移动平台 Form 显示使用 ShowModal 范例
    XE7 提交 App(iOS 8)提示「does not contain the correct beta entitlement」问题修复
    XE7 Android 中使用 MessageDlg 范例
    导出 XE6 预设 Android Style (*.style) 档案
    修正 Memo 設定為 ReadOnly 後, 無法有複製的功能
  • 原文地址:https://www.cnblogs.com/austinjoe/p/9588084.html
Copyright © 2011-2022 走看看