python常见数据库的连接方式【游标】及【pandas】数据读取
本文介绍以下数据库的连接方式,及数据的增删改查
下方中用到的数据,均为随机数据,无实际业务意义。
- Mysql—游标及pandas连接方式
- PostgreSQL—游标及pandas连接方式
- Oracle—游标及pandas连接方式
- Hive(Impala)–连接方式
- SQL Server—游标及pandas连接方式
Mysql—游标及pandas连接方式
1.1 mysql游标连接
系统管理员CMD命令提示符下安装
pyhton代码如下:【此代码块可用于数据的 增、删、改、查】
import pymysqlsql = '''select id,num,orderid,persons,price,amount,createtimefrom orders where id <=10 order by id'''conn = pymysql.connect(host='localhost', port=3306, user='test', passwd='test',db='data',use_unicode=True,charset="utf8")
cur = conn.cursor()#
sql = sql
cur.execute(sql)
conn.commit()
desc = cur.description#显示列名
data = cur.fetchall()#返回所有行
cur.close()
conn.close()print(desc)
print(data)
执行结果如下:
1.2 mysql pandas连接:
pyhton代码如下:【此代码块只能用于数据的查询,不可执行数据的操作增、删、改】
import pymysql
import pandas as pdmysql_cn= pymysql.connect(host='127.0.0.1', port=3306, user='test', passwd='test',db='data',use_unicode=True,charset="utf8")
sql = '''select * from orders order by id desc limit 10 '''
df = pd.read_sql(sql, con=mysql_cn)
mysql_cn.close()
columns_list = df.columns.values
print(columns_list)#列名组成的列表
print(df)
执行结果如下:
2 PostgreSQL—游标及pandas连接方式
2.1 PostgreSQL游标连接
pyhton代码如下:【此代码块可用于数据的 增、删、改、查】
import psycopg2sql = '''
select * from recommendations.worksheet_fields
limit 10'''
conn = psycopg2.connect(host='127.0.0.1', port=1569, user='test', password='test',database='test')
cur = conn.cursor()# 使用 cursor() 方法创建一个游标对象 cursor
sql = sql
cur.execute(sql)
conn.commit()
desc = cur.description#显示列名
data = cur.fetchall()#返回所有行
cur.close()
conn.close()print(data)
执行结果如下:
2.2 PostgreSQL pandas连接
pyhton代码如下:【此代码块只能用于数据的查询,不可执行数据的操作增、删、改】
import psycopg2
import pandas as pd
sql = '''
select * from recommendations.test
limit 10'''
pg_cn= psycopg2.connect(host='192.168.1.124', port=1569, user='test', password='test',database='test')
df = pd.read_sql(sql, con=pg_cn)
pg_cn.close()
print(df)
执行结果如下:
3. Oracle—游标及pandas连接方式
3.1 Oracle—游标连接方式
pyhton代码如下:【此代码块可用于数据的 增、删、改、查】
# -*- coding: utf-8 -*-
import cx_Oracle
import os
import pandas as pd
#环境变量设置,防止中文字符乱码
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' #或者os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'sql = '''
SELECT *
FROM database_dw.test
WHERE rownum<=10
'''conn = cx_Oracle.connect('user_test/password@192.168.1.56:1521/database_dw')
cursor = conn.cursor()
cursor.execute(sql)
conn.commit()
desc = cursor.description#显示列名
data = cursor.fetchall()#返回所有行
cursor.close()
conn.close()print(desc)
print(data)
执行结果如下:
3.2 Oracle— pandas连接方式
pyhton代码如下:【此代码块只可用于数据的查询,不可用于数据操作-增-删-改】
#coding=utf-8
import cx_Oracle
import pandas as pd
import os
#环境变量设置,防止中文字符乱码
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' #或者os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'sql = '''
SELECT *
FROM database_test.test
WHERE rownum<=10
'''
conn = cx_Oracle.connect('user_test/password@127.0.0.1:1521/database_test')
cursor = conn.cursor()
df = pd.read_sql(sql, con=conn)#数据
cursor.close()
conn.commit()
desc = df.columns.values#列名组成的列表
conn.close()print(desc)
print(df)
执行结果如下:
4.Hive(Impala)–连接方式
注意:HIVE的方式和impala一样,只是修改host ,port
#coding=utf-8
from impala.dbapi import connect
import pandas as df
from impala.util import as_pandas
from impala.dbapi import connect
#HIVE的方式和impala一样,只是修改host ,port
#参考这个https://blog.csdn.net/Xiblade/article/details/82318294
#C:\Users\admin\AppData\Local\Programs\Python\Python35\Lib\site-packages\thrift_sasl
# 执行数据库连接后,再次出现问题# TypeError: can’t concat str to bytes
# 定位到错误的最后一条,在init.py第94行# ...
# header = struct.pack(">BI", status, len(body))
# self._trans.write(header + body)# 修改为
# ...
# header = struct.pack(">BI", status, len(body))
# if(type(body) is str):
# body = body.encode()
# self._trans.write(header + body)conn = connect(host='192.168.0.6', port=10000, auth_mechanism='PLAIN', user='user_test', password='password', database='test',timeout = 5)
cursor = conn.cursor()
sql = '''
select * from test.test limit 10
'''
cursor.execute(sql)
data = as_pandas(cursor)
print(data)
# data.to_excel('data.xlsx',index=None)#保存成excel文件,建设数据不要太大
执行结果如下:
5. SQL Server—游标及pandas连接方式
5.1SQL Server—游标连接方式
pyhton代码如下:【此代码块可用于数据的 增、删、改、查】
#coding=utf-8
import pyodbccons = pyodbc.connect('DRIVER={SQL Server};SERVER=127.0.0.1;DATABASE=data;UID=test;PWD=password')
cons_cursor = cons.cursor()
sql = '''select * from test'''
cons_cursor.execute(sql)
datas=cons_cursor.fetchall()
desc = cons_cursor.description#显示列名
cons.commit() # 防止事件提交SQL后,不提交发生阻塞,加上这句是个好习惯。
cons_cursor.close()
cons.close()print(desc)
print(datas)
执行结果如下:
5.2 SQL Server—pandas连接方式*
pyhton代码如下:【此代码块只可用于数据的查询,不可用于数据操作-增-删-改】
#coding=utf-8
import pyodbc
import pandas as pdsql = '''select * from test '''
cons= pyodbc.connect('DRIVER={SQL Server};SERVER=127.0.0.1,1433\\sql;DATABASE=data;UID=test;PWD=password')
df = pd.read_sql(sql, con=cons)
desc = df.columns.values#列名组成的列表
cons.close()print(desc)
print(df)
执行结果如下:
python常见数据库的连接方式【游标】及【pandas】数据读取相关推荐
- Python MySQL数据库的连接以及基本操作
Python MySQL数据库的连接以及基本操作 一.数据库的连接 1.直接连接 2.连接池连接 二. 数据库的基本操作 1.执行函数 2.创建数据表 3.删除表 4.插入函数 6.删除函数 7.状态 ...
- C#读取Excel数据的几种方式(包含大量数据读取)
C#读取Excel数据的几种方式(包含大量数据读取) C#读取Excel数据的几种方式(包含大量数据读取) OleDB方式 COM组件的方式 NPOI方式读取(此处未测试,参考其他博文) 常用的Exc ...
- Cris 的 Python 数据分析笔记 05:Pandas 数据读取,索引,切片,计算,列整合,过滤,最值
Pandas 数据读取,索引,切片,计算,列整合,过滤,最值 文章目录 Pandas 数据读取,索引,切片,计算,列整合,过滤,最值 1. read_csv 函数 2. DataFrame 数据结构的 ...
- mysql数据库永久链接_PHP使用数据库永久连接方式(mysql_pconnect)操作MySQL的是与非...
作者:老王 PHP程序员应该都知道连接MySQL数据库可以使用mysql_pconnect(永久连接)函数,使用数据库永久连接可以提高效率,但是实际应用中数据库永久连接往往会导致出现一些问题,通常的表 ...
- orcle数据库代码连接方式(jdbc:oracle:thin:@192.168.3.98:1521:orcl)
一. jdbc:oracle:thin:@192.168.3.98:1521:orcl jdbc:表示采用jdbc方式连接数据库 oracle:表示连接的是oracle数据库 thin:表示连接时采用 ...
- java数据库的连接方式_java与各个数据库的连接方式
1.与mysql数据库连接方式 通过配置文件的方式进行获取mysql的username.password.url,等相关数据 //调用jdbc.properties参数文件此时获取的是一个io流的形式 ...
- 6.9 用Python操控数据库(批量删除,百度新闻数据爬取与存储,写入数据时进行去重处理,pandas读取sql数据)
学习完MySQL数据库的基本操作后,下面来学习如何用Python连接数据库,并进行数据的插入.查找.删除等操作. 6.9.1 用PyMySQL库操控数据库 上一节在phpMyAdmin 中创建了数据库 ...
- python读取dat数据anaconda_基于python的大数据分析-pandas数据读取(代码实战)
我们常见的数据存储格式无非就是csv.excel.txt以及数据库等形式. 数据读取 在pandas中可以使用一些函数完成数据的读取.比如read_csv.read_excel.read_table. ...
- python中df是什么_python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]...
1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...
最新文章
- 网络异常_网络异常易频发,流量分析来排查
- tcpdump 命令的个常用选项:一
- java使用strlen_java – “strlen(s1) – strlen(s2)”永远不会小于零
- 【转载】WINCE物理和虚拟地址的问题
- 如何代替set get方法
- manjaro笔记本显卡驱动_从入门到高端!AMD Radeon RX 500系列移动显卡全解析
- Android平台Qt开发入门教程
- 网络安全泡沫是否即将破灭?
- 机器学习07应用机器学习的建议
- [vue-cli] vue-cli工程中常用的npm命令有哪些
- Java千百问_04异常处理(007)_常见的java异常有哪些(非运行时)
- An Implemention of Realtime Gobal Illumination
- Three.js 关于立方体贴图产生边缘锯齿问题
- 写英文论文时,翻译网站的推荐
- java 答题卡_·(B卷)Java期末试卷及答题卡(2005-2006第二学期).doc
- 层次分析法的缺点和改进
- IM即时通讯开发之iOS版微信小视频功能
- 电脑wps可以语音录入吗_wps语音输入功能在哪
- Java笔试 系列一
- 新浪微博php实习生电面
热门文章
- 谷歌浏览器使用_第三篇 书签导出
- css权重机制,Css权重计算方式
- jhmeter连接mysql_IMS数据库剂型缩写的含义_NFC123.pdf
- jQuery AJAX 方法 success()后台传来的4种数据
- 写出一个抽奖页面,有200个人参加抽奖
- 计算机专业学cad和ps干嘛,学室内设计为什么要学ps又要学cad呢不能用一个吗
- 传智博客第一天——传智播客的老毕
- WinRAR.exe压缩文件夹的脚本bat
- 低成本创业项目:百度竞价销售虚拟暴利产品赚钱
- 2021年制冷与空调设备运行操作最新解析及制冷与空调设备运行操作免费试题