当前位置: 首页 > news >正文

Pandas之从sql库中导入数据的几种方法分析

1.使用mysql-connector-python库将SQL文件导入到Python中,并查询数据库中的表

确保已经安装mysql-connector-python库

#导入模块
import mysql.connector# 建立与MySQL数据库的连接
conn = mysql.connector.connect(host="localhost",user="username",password="password",database="database_name")# 创建游标对象
cursor = conn.cursor()#读取SQL文件内容:
with open("path/to/sql_file.sql", "r") as file:sql_script = file.read()
cursor.execute(sql_script, multi=True)
conn.commit()# 执行查询语句
query = "SELECT * FROM table_name"
cursor.execute(query)# 获取结果集
result = cursor.fetchall()# 显示结果
for row in result:print(row)# 关闭游标和连接
cursor.close()
conn.close()

"localhost","username","password","database_name"分别替换成,主机名字,sql的用户名字,用户密码,所要导入的数据库名字
"path/to/sql_file.sql"替换为数据库粘贴到pycharm以后得实际路径

"table_name"改为实际表名

#在sql中查询用户名
SELECT User FROM mysql.user;
#在sql中查询主机名
SELECT HOSTNAME() AS hostname;

2.MySQLdb模块导入sql文件到Python中

#安装MySQLdb库:
pip install MySQL-python#导入MySQLdb模块:
import MySQLdb#建立与MySQL数据库的连接:
conn = MySQLdb.connect(host="localhost",user="username",passwd="password",db="database_name")#创建游标对象:
cursor = conn.cursor()
#读取SQL文件内容:
with open("path/to/sql_file.sql", "r") as file:sql_script = file.read()#执行SQL脚本:
cursor.execute(sql_script)#提交更改到数据库:
conn.commit()#关闭游标和连接:
cursor.close()
conn.close()

(如果你使用的是Python 3,MySQLdb可能不兼容。可以尝试安装替代模块,如pymysqlmysql-connector-python。)

3.使用pymysql库将SQL文件导入到Python中

#安装pymysql库:
pip install pymysql#导入pymysql模块:
import pymysql#建立与MySQL数据库的连接:
conn = pymysql.connect(host="localhost",user="username",password="password",db="database_name")
#请根据实际情况修改host、user、password和db等参数。#创建游标对象:
cursor = conn.cursor()#读取SQL文件内容:
with open("path/to/sql_file.sql", "r") as file:sql_script = file.read()
#将"path/to/sql_file.sql"替换为您要导入的SQL文件的路径。#执行SQL脚本:
cursor.execute(sql_script)#提交更改到数据库:
conn.commit()#关闭游标和连接:
cursor.close()
conn.close()

http://www.lryc.cn/news/274241.html

相关文章:

  • 18. Mysql 存储过程,实现动态数据透视
  • VuePress部署到GitHub Pages
  • git 本地仓库
  • Hive实战:分科汇总求月考平均分
  • 快速搭建知识付费小程序,3分钟即可开启知识变现之旅
  • 【计算机图形学划重点】第一讲-Pipeline and Introduction
  • 面试题-DAG 有向无环图
  • vite + vue3引入ant design vue 报错
  • 使用EasyPoi导入数据并返回失败xls
  • 机械配件移动商城课程概述
  • prometheus-docker 快速安装
  • RabbitMQ 核心概念(交换机、队列、路由键),队列类型等介绍
  • 1001 害死人不偿命的(3n+1)猜想
  • 七、HTML 文本格式化
  • OSI 模型和 TCP/IP 模型的异同
  • 创新性文生视频模型,南洋理工开源FreeInit
  • linux的页缓存page cache
  • 数字IC后端实现之Innovus TA-152错误解析(分频generated clock定义错误)
  • 虹科方案丨从困境到突破:TigoLeap方案引领数据采集与优化变革
  • 自检服务器,无需服务器、不用编程。
  • Java并行流parallelStream()下InheritableThreadLocal引起的问题
  • 【C++期末编程题题库】代码+详解18道
  • 一种DevOpts的实现方式:基于gitlab的CICD(一)
  • nodejs和vuejs的区别
  • 16、Kubernetes核心技术 - 节点选择器、亲和和反亲和
  • 面试算法96:字符串交织
  • 什么是Vue.js的响应式系统(reactivity system)?如何实现数据的双向绑定?
  • 力扣labuladong一刷day52天LRU算法
  • CCNP课程实验-06-EIGRP-Trouble-Shooting
  • 判断完全数-第11届蓝桥杯省赛Python真题精选