当前位置:Gxlcms > 数据库问题 > python连接mysql数据库把取数据存入数据库

python连接mysql数据库把取数据存入数据库

时间:2021-07-01 10:21:17 帮助过:19人阅读

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

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

  1. <br>-- stock.stock_all_codes definition
  2. CREATE TABLE `stock_all_codes` (
  3. `code` varchar(100) NOT NULL COMMENT ‘股票代码‘
  4. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘股票代码表‘;
  1. <br>

  

  • 连接数据源
  1. import pymysql
  2. db = pymysql.connect(host=‘localhost‘, user=‘root‘, password=‘123456‘, port=3306, db=‘stock‘)
  3. cursor = db.cursor()
  4. sql = ‘select * from stock_all_codes;‘
  5. #查询sql
  6. print(sql)
  7. cursor.execute(sql)
  8. cursor.close()
  9. db.close()

  

  • 查询数据库
  1. # -*- coding: UTF-8 -*-<br>import pymysql<br><br># 打开数据库连接<br>db = pymysql.connect(host="localhost", user="root", passwd="123456", db="stock", charset=‘utf8‘ )<br><br># 使用cursor()方法获取操作游标<br>cursor = db.cursor()<br><br># SQL 查询语句<br>sql = "SELECT * FROM stock_all_codes"<br>try:<br> # 执行SQL语句<br> cursor.execute(sql)<br> # 获取所有记录列表<br> results = cursor.fetchall()<br> print("代码")<br> for it in results:<br> for i in range(len(it)):<br> print(it[i]+"\n")<br>except:<br> print("Error: unable to fecth data")<br><br># 关闭数据库连接<br>cursor.close()<br>db.close()

  

 

  • 插入数据
  1. import pymysql
  2. db = pymysql.connect(host=‘localhost‘,user=‘root‘, password=‘123456‘, port=3306, db=‘stock‘)
  3. cursor = db.cursor()
  4. # 多字段动态插入mysql数据库中,data,添加字段
  5. data = {
  6. ‘code‘: ‘sh000001‘
  7. }
  8. table = ‘stock_all_codes‘
  9. keys = ‘, ‘.join(data.keys())
  10. values = ‘, ‘.join([‘%s‘] * len(data))
  11. sql = ‘INSERT INTO {table}({keys}) VALUES ({values})‘.format(table=table, keys=keys, values=values)
  12. try:
  13. cursor.execute(sql, tuple(data.values()))
  14. print(‘入库成功!‘)
  15. db.commit()
  16. except:
  17. print(‘入库失败‘)
  18. db.rollback()
  19. cursor.close()
  20. db.close()

  

  • 更新数据
  1. import pymysql
  2. db = pymysql.connect(host=‘localhost‘,user=‘root‘, password=‘123456‘, port=3306, db=‘stock‘)
  3. cursor = db.cursor();
  4. data = {
  5. ‘code‘: ‘sh00002‘
  6. }
  7. table = ‘stock_all_codes‘
  8. keys = ‘, ‘.join(data.keys())
  9. values = ‘, ‘.join([‘%s‘] * len(data))
  10. sql = ‘INSERT INTO {table}({keys}) VALUES ({values}) ON DUPLICATE KEY UPDATE‘.format(table=table, keys=keys, values=values)
  11. update = ‘,‘.join([" {key} = %s".format(key=key) for key in data])
  12. sql += update
  13. try:
  14. cursor.execute(sql, tuple(data.values())*2)
  15. print(‘更新成功‘)
  16. db.commit()
  17. except:
  18. print(‘更新失败‘)
  19. db.rollback()
  20. cursor.close()
  21. db.close()

  

python连接mysql数据库把取数据存入数据库

标签:comm   ini   fetchall   rom   upd   orm   数据表   hal   关闭数据库   

人气教程排行