美文网首页
Python连接Mysql数据库(pandas)

Python连接Mysql数据库(pandas)

作者: 对三zzzzzzz | 来源:发表于2020-03-27 22:19 被阅读0次

    1、Python连接数据库

    首先,确保已经安装好pandas、sqlalchemy、pymysql三个包

    pip install pandas
    pip install sqlalchemy
    pip install pymysql
    

    初始化数据库连接:

    # 1.导入三个包
    import pandas as pd 
    from sqlalchemy import create_engine 
    import pymysql
    
    # 2.初始化数据库连接(按实际情况依次填写MySQL的用户名、密码、IP地址、端口、数据库名)
    
    engine = create_engine('mysql+pymysql://root:123456@localhost:3306/mysql50')
    
    # 这里“mysql+pymysql://”是指明通过pymysql这个包来连接数据库
    # 如果觉得上方代码不够优雅也可以按下面的格式填写:
    # engine = create_engine("mysql+pymysql://{}:{}@{}:{}/{}".format('用户名', '密码', 'IP地址', '端口号', '数据库名'))
    

    2、Python读取数据库

    写好查询语句并执行,将结果存入数据框DataFrame:

    # 1.使用pandas的read_sql_query函数执行SQL语句,并存入DataFrame
    
    sql_query = 'select * from student;' # sql查询语句
    
    # 2.执行查询操作,并存入dataframe
    
    query_result = pd.read_sql_query(sql_query,engine) 
    
    # 3.看下查出来的数据是怎样的
    df_read.head()  
    
    image.png

    3、Python写入数据库

    # 1.新建DataFrame,将结构数据写入MySQL
    df_write = pd.DataFrame({'id':[1,2,3],'name':['a','b','c'],'age':[111,112,113]})
    
    # 2.查看即将写入的数据
    df_write.head() 
    
    image.png
    # 3.将df_write储存为MySQL中的表,不储存index列.这里也不用先在数据库创建表
    df_write.to_sql('testtable',engine,index = False)
    

    在MySQL中查看该表:


    image.png

    相关文章

      网友评论

          本文标题:Python连接Mysql数据库(pandas)

          本文链接:https://www.haomeiwen.com/subject/thzruhtx.html