zoukankan      html  css  js  c++  java
  • python连接数据库

    MYSQL模块暂时还不支持python3.0以上的版本,由于我下载的python是3.0版本的,所以想要连接数据库只能利用其它的方法。

    Python3.x连接MySQL的方案有:oursql, PyMySQL, myconnpy 等,这里主要是安装pymysql

    1.安装

    pymysql安装:找到python文件夹pip程序的位置打开命令窗口:

    pip install pymysql3

    2.使用

    安装完毕后,数据库连接的具体步骤如下

    引入 API 模块。
    获取与数据库的连接。
    执行SQL语句和存储过程。
    关闭数据库连接。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    import pymysql
     
    #查询
    #连接数据库
    conn = pymysql.connect(host='数据库服务器名',user='用户名',passwd='密码',db='数据库名',pot='数据路端口号',charset='utf8')
    #获取游标
    cur = conn.cursor()
    cur.execute('数据库查询语句')
    #获取数据,fetchone获取一条数据,fetchall获取全部数据
    data = cur.fetchall()
    for d in data:
     print(d)
    #关闭游标
    cur.close()
    #关闭数据库
    conn.close()
     
    #插入、删除,修改操作
    #连接数据库
    conn = pymysql.connect(host='数据库服务器名',user='用户名',passwd='密码',db='数据库名',pot='数据路端口号',charset='utf8')
    #获取游标
    cur = conn.cursor()
    cur.execute('数据库插入语句')
    #提交当前事务到数据库
    conn.commit()
    #rowcount:返回数据条数或影响行数
    print('插入:',cur.rowcount,'条数据')
    #关闭游标
    cur.close()
    #关闭数据库
    conn.close()

    对数据库的操作中可以加入try...except语句捕捉错误,发生错误时,可以回滚数据库操作,回到修改前:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    try:
     # 执行sql语句
     cur.execute(sql)
     # 提交到数据库执行
     cur.commit()
    except:
     # 发生错误时回滚
     cur.rollback()
     
    # 关闭游标
    cur.close()
    #关闭数据库
    conn.close()

    附上连接成功的代码:

    import pymysql
    conn = pymysql.connect(host='127.0.0.1',port=33060,user='zyy',passwd='123456')
    print("连接成功")
    # 使用 cursor() 方法创建一个游标对象 cursor
    cursor = conn.cursor()

    # 使用 execute() 方法执行 SQL 查询 这里查询数据库版本信息
    cursor.execute("SELECT VERSION()")

    # 使用 fetchone() 方法获取单条数据.
    data = cursor.fetchone()

    print ("Database version : %s " % data)

  • 相关阅读:
    [PATCH] input: add driver for Bosch Sensortec's BMA150 accelerometer
    linux内核GPIO模拟I2C实例
    修改默认apn数据的方法
    Android平台开发WIFI function portingWIFI功能移植
    Silverlight中后台获取样式的方法
    Silverlight中读取Word
    Silverlight找到模板中的子控件
    根据年月来获取该年该月的天数
    Silverlight中Treeview中判断当前节点是否含有父节点
    修改 Linux /etc/profile 以后如何生效
  • 原文地址:https://www.cnblogs.com/givemelove/p/8608452.html
Copyright © 2011-2022 走看看