2003031114-李路梅-Python第七周作业-MySQL安装及使用

项目 内容
课程班级博客链接 20级数据班(本)
这个作业要求链接  Python数据分析第七周作业
博客名称 2003031114—李路梅—Python数据分析第七周作业—MySQL的安装以及使用
要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)

扩展阅读:

扩展阅读:小白必看!超详细MySQL下载安装教程

*扩展阅读:MySQL教程

*扩展阅读:MySQL卸载

  • 1.安装好MySQL,连接上Navicat。
  • 2.完成课本练习(代码4-1~3/4-9~31)。
  • 代码4-1

    from sqlalchemy import create_engine

    #创建一个MySQL连接器,用户名为root,密码为root
    #地址为27.0.0.1,数据库名称为textdb,编码为utf_8\
    engine=create_engine('mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8')
    print(engine)

    代码4-2

    import pandas as pd
    #使用read_sql_query查看testdb中的数据表数目
    formlist =pd.read_sql_query('show tables',con=engine)
    print('testdb数据库数据表清单为:','\n',formlist)

    detail1=pd.read_sql_table('meal_order_detail1',con=engine)
    print("使用read_sql_query读取清单的长度为:",len(detail1))

    detail2=pd.read_sql('select*from meal_order_detail2',con=engine)
    print("使用read_sql函数+SQL语句读取的订单详情表长度为:",len(detail2))

    detail3=pd.read_sql('meal_order_detail3',con=engine)
    print('使用read_sql函数+SQL语句读取的订单详情表长度为:',len(detail3))

    detail1.to_sql('test1',con=engine,index=False,if_exists='replace')
    formlist1=pd.read_sql_query('show tables',con=engine)
    print('新增一个表格后,testdb数据表清单为:“,”\n',formlist1)

  •  截图

  •  

     

     代码4-3代码

    detail1.to_sql('test1',con=engine,index=False,if_exists='replace')
    #使用read_sql读取test表
    formlist=pd.read_sql_query('show tables',con=engine)
    print('新增一个表格后,testdb数据库数据表清单为:','\n',formlist)

    运行结果及截图

  •  

    代码4-9~4-11 代码

    #4-9
    #使用read_table读取菜品订单信息
    from sqlalchemy import create_engine
    import pandas as pd
    engine=create_engine('mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8')
    order1=pd.read_sql_table('meal_order_detail1',con=engine)
    print("订单详情表1的长度为:",len(order1))
    order2=pd.read_sql_table('meal_order_detail2',con=engine)
    print("订单详情表2的长度为:",len(order2))
    order3=pd.read_sql_table('meal_order_detail3',con=engine)
    print("订单详情表3的长度为:",len(order3))
    #4-10
    order4=pd.read_table('F:/桌面/第七章/meal_order_info.csv',sep=",",encoding='gbk')
    print('订单信息表的长度为:',len(order4))
    #4-11
    user=pd.read_excel('F:\桌面\第七章/users.xlsx')
    print('客户信息表的长度为:',len(user))

    运行结果及截图

  •  

     4-12~4-14代码

  • from sqlalchemy import create_engine
    import pandas as pd
    engine=create_engine('mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8')
    detail1=pd.read_sql_table('meal_order_detail1',con=engine)
    print('订单详情表的所有值为:','\n',detail1.index)
    print('订单详情表的列名为:','\n',detail1.columns)
    print('订单详情表的数据类型为:“,”\n',detail1.dtypes)

     

     

  • 4-15~4-20代码
    from sqlalchemy import create_engine
    import pandas as pd
    engine=create_engine('mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8')
    import pandas as pd
    #使用read_sql_query查看testdb中的数据表书目
    detail=pd.read_sql_table('meal_order_detail1',con=engine)
    order_id=detail['order_id']
    print("订单详情表中的order_id的形状为:','\n",order_id.shape)
    dishes_name=detail.dishes_name
    print('订单详情表中的dishes_name的形状为:',dishes_name.shape)
    dishes_name5=detail['dishes_name'][:5]
    print('订单详情表中的dishes_name前5个的元素为:',dishes_name5)
    orderDish=detail[['order_id','dishes_name']][:5]
    print("订单详情表中的order_id和dishes_name前5个的元素为:","\n",orderDish)
    order5=detail[:][1:6]
    print('订单详情表的1——6行元素为:","\n',order5)
    print('订单详情表中前5行数据为:","\n',detail.head())
    print('订单详情表中后5行数据为:","\n',detail.tail())

    运行结果及截图

  •  

     

     

     4-21~4-26代码

    from sqlalchemy import create_engine
    import pandas as pd
    engine=create_engine('mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8')
    detail1=pd.read_sql_table('meal_order_detail1',con=engine)
    import pandas as pd
    dishes_name1=detail1.loc[:,'dishes_name']
    print('使用loc提取dishes_name列的size为:',dishes_name1.size)
    dishes_name2=detail1.iloc[:,3]
    print('使用loc提取第3列的size为:',dishes_name2.size)
    orderDish1=detail1.loc[:,['order_id','dishes_name']]
    print('使用loc提取order_id和dishes_name列的size为:',orderDish1.size)
    orderDish2=detail1.iloc[:,[1,3]]
    print('使用iloc提取第1列和第3列的size为:',orderDish2.size)
    print('列名为order_id和dishes_name的行名为3的数据为:\n',detail1.loc[3,['order_id','dishes_name']])
    print('列名为order_id和dishes_name的行名为2,3,4,5,6的数据为:\n',detail1.loc[2:6,['order_id','dishes_name']])
    print('列位置为1和3,行位置为3的数据为:\n',detail1.iloc[3,[1,3]])
    print('列位置为1和3,行位置为2,3,4,5,6的数据为:\n',detail1.iloc[2:7,[1,3]])
    #loc内部传送表达式
    print('detail中order为458的dishes_name为;\n',detail1.loc[detail1['order_id']=='458',['order_id','dishes_name']])
    print('detail中order_id为458的1、5列数据为:\n',detail1.iloc[(detail1['order_id']=='458').values,[1,5]])
    
    print('列名为dishes_name行名为2,3,4,5,6的数据为:\n',detail1.loc[2:6,'dishes_name'])
    print('列位置为5,行位置为2-6的数据为:\n',detail1.iloc[2:6,5])

    运行结果及截图

  •  

     

     

     

     

     4-27代码

    from sqlalchemy import create_engine
    import pandas as pd
    engine=create_engine('mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8')
    detail1=pd.read_sql_table('meal_order_detail1',con=engine)
    import pandas as pd
    #将order_id为458的变换为45800
    detail1.loc[detail1['order_id']=='458','order_id']='45800'
    print('更改后detail中order_id为458的order_id为:\n',detail1.loc[detail1['order_id']=='458','order_id'])
    print('更改后detail中order_id为45800的order_id为:\n',detail1.loc[detail1['order_id']=='45800','order_id'])

    运行结果及截图

  •  

     4-28代码

    from sqlalchemy import create_engine
    import pandas as pd
    engine=create_engine('mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8')
    detail1=pd.read_sql_table('meal_order_detail1',con=engine)
    detail1['payment']=detail1['counts']*detail1['amounts']
    print('detail新增列payment的前5行为:","\n',detail1['payment'].head())

    运行结果及截图

  •  

    4-29代码

    from sqlalchemy import create_engine
    import pandas as pd
    engine=create_engine('mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8')
    detail1=pd.read_sql_table('meal_order_detail1',con=engine)
    detail1['pay_way']='现金支付'
    print('detail新增列pay-way的前5行为;","\n',detail1['pay_way'].head())

    运行结果及截图

     

     

     4-30~4-31代码

    from sqlalchemy import create_engine
    import pandas as pd
    engine=create_engine('mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8')
    detail1=pd.read_sql_table('meal_order_detail1',con=engine)
    detail1['pay_way']='现金支付'
    print('删除pay_way前detail的列索引为;","\n',detail1.columns)
    detail1.drop(labels='pay_way',axis=1,inplace=True)
    print('删除pay_way后detail的列索引为:","\n',detail1.columns)
    print('删除1-10行前detail的长度为:',len(detail1))
    detail1.drop(labels=range(1,11),axis=0,inplace=True)
    print('删除1-10行后detail的长度为:',len(detail1))

    运行结果及截图

  •  

     

posted @ 2022-04-17 15:04  李路梅  阅读(69)  评论(0)    收藏  举报