zoukankan      html  css  js  c++  java
  • python连接mysql数据库把取数据存入数据库

    •   安装pymysql库
    pip install pymysql
    
    •   建存储数据表
    
    

    CREATE DATABASE `stock` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */;


    -- stock.stock_all_codes definition CREATE TABLE `stock_all_codes` ( `code` varchar(100) NOT NULL COMMENT '股票代码' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='股票代码表';

      

    • 连接数据源
    import pymysql
    db = pymysql.connect(host='localhost', user='root', password='123456', port=3306, db='stock')
    cursor = db.cursor()
    sql = 'select * from stock_all_codes;'
    #查询sql
    print(sql)
    cursor.execute(sql)
    cursor.close()
    db.close()
    

      

    • 查询数据库
    # -*- coding: UTF-8 -*-
    import pymysql

    # 打开数据库连接
    db = pymysql.connect(host="localhost", user="root", passwd="123456", db="stock", charset='utf8' )

    # 使用cursor()方法获取操作游标
    cursor = db.cursor()

    # SQL 查询语句
    sql = "SELECT * FROM stock_all_codes"
    try:
    # 执行SQL语句
    cursor.execute(sql)
    # 获取所有记录列表
    results = cursor.fetchall()
    print("代码")
    for it in results:
    for i in range(len(it)):
    print(it[i]+" ")
    except:
    print("Error: unable to fecth data")

    # 关闭数据库连接
    cursor.close()
    db.close()

      

    • 插入数据
    import pymysql
    db = pymysql.connect(host='localhost',user='root', password='123456', port=3306, db='stock')
    cursor = db.cursor()
    # 多字段动态插入mysql数据库中,data,添加字段
    data = {
        'code': 'sh000001'
    }
    table = 'stock_all_codes'
    keys = ', '.join(data.keys())
    values = ', '.join(['%s'] * len(data))
    sql = 'INSERT INTO {table}({keys}) VALUES ({values})'.format(table=table, keys=keys, values=values)
    try:
        cursor.execute(sql, tuple(data.values()))
        print('入库成功!')
        db.commit()
    except:
        print('入库失败')
        db.rollback()
    cursor.close()
    db.close()
    

      

    • 更新数据
    import pymysql
    db = pymysql.connect(host='localhost',user='root', password='123456', port=3306, db='stock')
    cursor = db.cursor();
    data = {
        'code': 'sh00002'
    }
    table = 'stock_all_codes'
    keys = ', '.join(data.keys())
    values = ', '.join(['%s'] * len(data))
    sql = 'INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE'.format(table=table, keys=keys, values=values)
    update = ','.join([" {key} = %s".format(key=key) for key in data])
    sql += update
    try:
        cursor.execute(sql, tuple(data.values())*2)
        print('更新成功')
        db.commit()
    except:
        print('更新失败')
        db.rollback()
    cursor.close()
    db.close()
    

      

  • 相关阅读:
    【LCT维护基环内向树森林】BZOJ4764 弹飞大爷
    【LCT】BZOJ3091 城市旅行
    【LCT+主席树】BZOJ3514 Codechef MARCH14 GERALD07加强版
    【最大权闭合子图】bzoj4873 [Shoi2017]寿司餐厅
    【LCT】BZOJ2049 [SDOI2008]Cave 洞穴勘测
    【有上下界的网络流】ZOJ2341 Reactor Cooling(有上下界可行流)
    【费用流】BZOJ1061: [Noi2008]志愿者招募(这题超好)
    从输入url到页面加载的过程
    forEach和map的区别
    理解 JavaScript 对象原型、原型链如何工作、如何向 prototype 属性添加新的方法。
  • 原文地址:https://www.cnblogs.com/gzhbk/p/14930592.html
Copyright © 2011-2022 走看看