read_sql_query, def read_sql_table
read_sql_query, read_sql_table
def read_sql_query(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, chunksize=None):
sql: mysql 语句
con: 数据库连接对象
index_col: 字符串或字符串列表,可选,默认值:无 要设置为索引的列(MultiIndex)
coerce_float: 默认为True 尝试将非字符串,非数字对象(如decimal.Decimal)的值转换为浮点值.对SQL结果集很有用.
params: tuple或dict,optional,default:None 要传递给执行方法的参数列表 read_sql_query("insert into cjk_test h values %(data)s",params={'data':v_split[11]})
parse_dates: list或dict,默认值:None 要解析为日期的列名列表
chunksize: int,默认无 如果指定,则返回一个迭代器,其中chunksize是要包含在每个块中的行数
def read_sql_table(table_name, con, schema=None, index_col=None, coerce_float=True, parse_dates=None, columns=None, chunksize=None):
table_name: 数据库中SQL表的名称
con: 数据库连接对象
schema: str,要查询的数据库中的SQL模式的名称
index_col: 字符串或字符串列表,可选,默认值:无 要设置为索引的列(MultiIndex)
coerce_float: 默认为True 尝试将非字符串,非数字对象(如decimal.Decimal)的值转换为浮点值.对SQL结果集很有用.
parse_dates: tuple或dict,optional,default:None 要传递给执行方法的参数列表 read_sql_query("insert into cjk_test h values %(data)s",params={'data':v_split[11]})
columns: list,从SQL表中选择的列名列表。
chunksize: int,默认无 如果指定,则返回一个迭代器,其中chunksize是要包含在每个块中的行数
dome:
import pandas as pd
import pymysql
from sqlalchemy import create_engine
class mysql_np(object):
def __init__(self):
self.db = pymysql.connect(host='localhost', port=3306, database='test', user='root', password='root',
charset='utf8', autocommit=True)
self.cursor = self.db.cursor()
self.con = create_engine('mysql+pymysql://root:root@127.0.0.1:3306/test').connect()
self.read_pd()
def read_pd(self):
select_sql = 'select * from drug_pool'
insert_sql = "insert into drug_pool(drugLicense, drugName, updateTime) values('S2018', 'aaa', '2019-01-01 10:17:37')"
update_sql = "update drug_pool set drugLicense='11111' WHERE id=102" # insert, update, delete 运行会报错 但mysql的数据会改变
delete_sql = "delete from drug_pool where id=102"
try:
pd.read_sql_query(sql=insert_sql, con=self.db)
except:
pass
finally:
pass
read_sql = pd.read_sql_query(sql=select_sql, con=self.db)
print(read_sql)
read_sql = pd.read_sql_table(table_name='drug_pool', con=self.con, columns=['drugLicense', 'drugName'])
print(read_sql)
if __name__ == "__main__":
mysql_np()
read_sql_query, def read_sql_table的更多相关文章
- numpy&pandas补充常用示例
Numpy [数组切片] In [115]: a = np.arange(12).reshape((3,4)) In [116]: a Out[116]: array([[ 0, 1, 2, 3], ...
- python panda读写内存溢出:MemoryError
pandas中read_xxx的块读取功能 pandas设计时应该是早就考虑到了这些可能存在的问题,所以在read功能中设计了块读取的功能,也就是不会一次性把所有的数据都放到内存中来,而是分块读到内存 ...
- pandas read_sql与read_sql_table、read_sql_query 的区别
一:创建链接数据库引擎 from sqlalchemy import create_engine db_info = {'user':'user', 'password':'pwd', 'host': ...
- pandas.read_sql_query()读取数据库数据用chunksize的坑
最近一项工作需要读取数据库中1500万条数据,考虑到数据量太大,不方便直接一次性读取,不然会内存爆炸.想到用pandas.read_sql_query()里有一个chunksize可以分批返回chun ...
- Scala Macros - 元编程 Metaprogramming with Def Macros
Scala Macros对scala函数库编程人员来说是一项不可或缺的编程工具,可以通过它来解决一些用普通编程或者类层次编程(type level programming)都无法解决的问题,这是因为S ...
- 通过dll或def文件提取lib导入库文件
很多时候第三方库或其他项目提供的库多数会以动态库的形式提供dll以及相应的lib导入库.头文件,不过也有的只是提供dll和头文件,或者也提供了def模块定义(用于导出函数)文件,此时若使用将不得不调用 ...
- class Solution(object): def fizzBuzz(self, n): a = [] i = 1 while(i <= n): if(i%15 == 0): a.append("FizzBuzz") elifleetcode day_01
412. Fizz Buzz Write a program that outputs the string representation of numbers from 1 to n. But fo ...
- set、def、lambda、内置函数、文件操作
set : 无序,不重复,可以嵌套 .add (添加元素) .update(接收可迭代对象)---等于批量 添加 .diffrents()两个集合不同差 .sysmmetric difference( ...
- val, lazy, def
val strVal = scala.io.Source.fromFile("test.txt").mkString //在strVal被定义的时候获取值,如果test.txt不存 ...
随机推荐
- FreeRTOS操作系统,在按键中断函数中恢复被挂起的任务,程序卡死的原因和解决办法
出现问题场景: 作为刚接触FreeRTOS实时操作系统的菜鸟,我在练习一个程序功能:按键3按下,将LED闪烁的任务挂起:按键4按下,将LED闪烁的任务恢复到就绪.按键使用外部中断.恢复就绪 ...
- python第一次作业-Numpy练习
1.创建一个边界值为1而内部都是0的数组,图例如下:[提示:]解此题可以先把所有值都设置为1,这是大正方形:其次,把边界除外小正方形全部设置为0.本题用到numpy的切片原理.多维数组同样遵循x[st ...
- WPF 精修篇 DataGrid 筛选
原文:WPF 精修篇 DataGrid 筛选 DataGrid也可以分组 但是用的地方不多 就没写 筛选还是可以的 比如Datagrid数据量比较大 要做数据筛选 贴码 <DataGrid x: ...
- onload()方法只能在body标签中调用吗?怎么调用多个多个方法?
第一个问题: onload()方法并非只能在body标签中调用的,还可以在js中用window.onload = function() {函数名};来调用:另外img等标签也支持onload方法. 支 ...
- python3的ExecJS安装使用
参考官方文档安装 pip3 install PyExecJS 代码编写 import execjs ctx = execjs.compile(""" function a ...
- Jupyter notebook 使用
1. 安装代码自动补全 需安装 nbextensions 插件,网站:https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/ins ...
- C语言程序设计100例之(9):生理周期
例9 生理周期 问题描述 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为 23 天.28 天和33 天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如 ...
- 【shell脚本语法】判断、流程控制语句
目录 判断用户参数 流程控制语句 一.判断用户参数 1.1 文件判断参数 PS:$?代表上一个命令的返回值,为0表示正确执行,非0表示错误执行.详情可参考我另一篇博客:https://www.cnbl ...
- [debug] 解决在C++编写过程中的“找到一个或多个多重定义的符号”
如下图: 其在 common.h 中定义了一个变量a ,然后在两个 cpp 文件中都是用它. 在这种情况下,链接时就会出现 “找到一个或多个多重定义的符号”. 解决方案: 在某个cpp文件中定义,然后 ...
- CLRCore(CLR核心机制)
JIT--第一次--标记已--存根--调用--查找存根--执行机器码 C#和CIL的关系: C#和N#都是CIL实现,但是彼此不能互通: C#和N#公开不分满足规范,我们才能互通 CLS就是描述多语言 ...