python连接mysql

安装pymysql

pip install pymysql
import pymysql as pml

创建数据库连接

pymysql.connect()
常用参数:
host: 数据库地址
port: 端口号
user: 用户名
password: 密码
database: 需要打开的数据库,不指定,则建立与数据库的连接,在sql语句中指定
charset: 编码类型
use_unicode :是否使用双字节编码

conn = pml.connect(host='127.0.0.1',port = 3306,user='root',password='123456',database='mytest',charset='utf8')

读取数据方法1

conn.select_db() 设定当前查询的默认数据库
conn.cursor() 返回查询游标,用于执行查询
conn.close() 关闭连接

创建游标

cur.execute(sql,args=None) 执行查询的语句,和查询语句中的参数列表
cur.executemany(sql,args=None) 执行多条语句,比如insert等
cur.fetchall() 获取全部的查询结果
cur.fetchone() 获取下一条记录
cur.fetchmany(size) 获取指定条记录

cur = conn.cursor() 

定义查询语句

sql = """
select *
from babyinfo
limit 5;
"""

执行查询

cur.execute(sql)
5

查看结果

cur.fetchall() 
(('2757', datetime.date(2013, 3, 11), '1'),
 ('415971', datetime.date(2012, 11, 11), '0'),
 ('1372572', datetime.date(2012, 1, 30), '1'),
 ('10339332', datetime.date(2011, 9, 10), '0'),
 ('10642245', datetime.date(2013, 2, 13), '0'))

读取方法2

使用pandas读取

import pandas as pd 
pd.read_sql(sql,conn)
user_idbirthdaygender
027572013-03-111
14159712012-11-110
213725722012-01-301
3103393322011-09-100
4106422452013-02-130

定义pandas连接函数

pandas.read_sql(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, columns=None, chunksize=None)
sql :查询字符串
con :连接器
index_col :作为index的列名列表
coerce_float :是否将所有数字格式的列,转换为float类型
params : 传入con.execute() 的其他参数字典
parse_dates : 需要转换为日期的列名列表,或{column_name: format string}字典
chunksize :是否返回迭代器,每次取chunksize条数据

def con_mysql(sql):
    """
    sql:查询语句
    返回:查询结果,dataframe
    """
    from pandas import read_sql
    from pymysql import connect
    conn = connect(host='127.0.0.1',port = 3306,user='root',password='123456',database='mytest',charset='utf8')
    df=read_sql(sql,conn)
    # 关闭数据库连接
    conn.close()
    return df

关闭连接

cur.close() 
conn.close()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值