zoukankan      html  css  js  c++  java
  • python 10篇 操作mysql

    一、操作数据库

      使用pip install pymysql,安装pymysql模块,使用此模块连接MySQL数据库并操作数据库。

    import pymysql
    
    host = 'ip地址'  # 链接的主机ip
    user = 'db_username'  # 用户名
    password = 'db_password'  # 用户密码,字符串
    db = 'db_name'  # 数据库名称
    port = 3306  # int 类型,端口
    
    # 创建数据库链接
    connect = pymysql.connect(host=host,
                             user=user,
                             password=password,
                             port=port,db=db,
                             autocommit=True)  # autocommit=True 设置自动提交
    # cur = connet.cursor()  # 建立游标
    cur = connect.cursor(pymysql.cursors.DictCursor)    # DictCursor  指定cur中数据类型为字典类型
    try:
        cur.execute("INSERT INTO students (name, sex, age, class, addr) VALUES ('xiaohei', '男', '18', 'tmz', '北京');")
    #   connet.commit()  # 提交    更新、修改、删除都必须要提交
    except Exception as e:
        connect.rollback()  # 回滚
    
    cur.execute('select * from students;')
    result = cur.fetchall()
    print(result)
    
    # print(cur.fetchmany(2))  # 获取前几条数据,返回的是二维数组。
    # print(cur.fetchone())  # 获取1条数据,返回的是一个一维数组
    # 有些类似文件中的指针,默认在文件最前面,随着读取,指针移动,使用fetchall读取后,在调用fetchone不能读取到数据
    print(cur.fetchall())
    
    for data in cur:  # 遍历游标,来取结果中的数据
        print(data)
    
    cur.close()  # 切记要关闭游标和数据库链接
    connect.close()
    # 不指定cur中的数据类型,执行结果
    ((1, 'mac book', 3, 19999.0), (3, '六神花露水', 30, 8.8), (5, '华为mete40', 20, 4000.0))
    
    #指定cur中的数据类型为字典,执行结果
    [{'id': 1, 'name': 'mac book', 'counts': 3, 'price': 19999.0}, {'id': 3, 'name': '六神花露水', 'counts': 30, 'price': 8.8}, {'id': 5, 'name': '华为mete40', 'counts': 20, 'price': 4000.0}]
  • 相关阅读:
    P1509 找啊找啊找GF
    P1508 Likecloud-吃、吃、吃
    P1493 分梨子
    P1507 NASA的食物计划
    Java简单从文件读取和输出
    服务器和普通用户电脑的区别
    readUTF()和writeUTF()
    js中substring和substr的用法
    AfxMessageBox和MessageBox差别
    POJ 3691 & HDU 2457 DNA repair (AC自己主动机,DP)
  • 原文地址:https://www.cnblogs.com/lhy-qingqiu/p/13649284.html
Copyright © 2011-2022 走看看