2003031132-向欣怡-Python第七周作业-MySQL的安装以及使用

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

作业:

  • 1.安装好MySQL,连接上Navicat。
  • 2.完成课本练习(代码4-1~3/4-9~31)。
    from sqlalchemy import create_engine
    #连接数据库
    engine=create_engine("mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8")
    print(engine)
    #用pandas查看数据库里面的表
    import pandas as pd  
    formlist=pd.read_sql_query('show tables',con=engine)
    print(formlist)  
    formlist1=pd.read_sql_table('meal_order_detail1',con=engine)
    print(formlist1)  
    #使用read_sql_table读取订单详情
    detail1 = pd.read_sql_table('meal_order_detail1',con = engine)
    print('使用read_sql_table读取订单详情表的长度为:',len(detail1))
    #使用read_ sql读取订单详情表
    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_sq1函数+表格名称读取的订单详情表的长度为:',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)

     

     from sqlalchemy import create_engine
     engine=create_engine("mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8")
     import pandas as pd
     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))
     order4=pd.read_table('D:/桌面/第四章/meal_order_info.csv',sep=",",encoding='gbk')
     print('订单信息表的长度为:',len(order4))
     user=pd.read_excel('D:/桌面/第四章/users.xlsx')
     print('客户信息表的长度为:',len(user))

     

      

     from sqlalchemy import create_engine  engine=create_engine("mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8")
     print(engine) 
     import pandas as pd
     #使用read_sql_query查看testdb中的数据表书目
     detail=pd.read_sql_table('meal_order_detail1',con=engine)
     print('订单详情表的索引为:',detail.index)
     print('订单详情表的所有值为:“,”\n',detail.values)
     print('订单详情表的列名为:“,”\n',detail.columns)
     print('订单详情表的数据类型为:“,”\n',detail.dtypes)
     print('订单详情表的元素个数为:“,”\n',detail.size)
     print('订单详情表的维度数为:“,”\n',detail.ndim)
     print('订单详情表的形状为:“,”\n',detail.shape)
     print('订单详情表转置前形状为:“,”\n',detail.shape)
     print('订单详情表转置后形状为:“,”\n',detail.T.shape)

     

      from sqlalchemy import create_engine
      engine=create_engine("mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8")
      print(engine)
      
     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)

     

     

     1 from sqlalchemy import create_engine
     2 engine=create_engine("mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8")
     3 print(engine)
     4 
     5 import pandas as pd
     6 #使用read_sql_query查看testdb中的数据表书目
     7 detail=pd.read_sql_table('meal_order_detail1',con=engine)
     8 print('订单详情表中前5行数据为:","\n',detail.head())
      print('订单详情表中后5行数据为:","\n',detail.tail())
     
     dishes_name1=detail.loc[:,'dishes_name']
     print('使用loc提取dishes_name列的size为:',dishes_name1.size)
     dishes_name2=detail.iloc[:,3]
     print('使用loc提取第3列的size为:',dishes_name2.size)
     
     orderDish1=detail.loc[:,['order_id','dishes_name']]
     print('使用loc提取order_id和dishes_name列的size为:',orderDish1.size)
     orderDish2=detail.iloc[:,[1,3]]
     print('使用iloc提取第1列和第3列的size为:',orderDish2.size)
     print('列名为order_id和dishes_name的行名为3的数据为:\n',detail.loc[3,['order_id','dishes_name']])
     print('列名为order_id和dishes_name的行名为2,3,4,5,6的数据为:\n',detail.loc[2:6,['order_id','dishes_name']])
     print('列位置为1和3,行位置为3的数据为:\n',detail.iloc[3,[1,3]])
     print('列位置为1和3,行位置为2,3,4,5,6的数据为:\n',detail.iloc[2:7,[1,3]])

     

     

     

     

    1 from sqlalchemy import create_engine
     2 engine=create_engine("mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8")
     3 print(engine)
      
      import pandas as pd
      #使用read_sql_query查看testdb中的数据表书目
      detail=pd.read_sql_table('meal_order_detail1',con=engine)
      
      print('detail中order为458的dishes_name为;\n',detail.loc[detail['order_id']=='458',['order_id','dishes_name']])
     print('detail中order_id为458的1、5列数据为:\n',detail.iloc[(detail['order_id']=='458').values,[1,5]])
     print('列名为dishes_name行名为2,3,4,5,6的数据为:\n',detail.loc[2:6,'dishes_name'])
     print('列位置为5,行位置为2-6的数据为:\n',detail.iloc[2:6,5])
     #print('列位置为5,行名为2-6的数据为:","\n',detail.ix[2:6,5])
     detail.loc[detail['order_id']=='458','order_id']='45800'
     print('更改后detail中order_id为458的order_id为:\n',detail.loc[detail['order_id']=='458','order_id'])
     print('更改后detail中order_id为45800的order_id为:\n',detail.loc[detail['order_id']=='45800','order_id'])

     

     

     

     from sqlalchemy import create_engine
      engine=create_engine("mysql+pymysql://root:root@127.0.0.1:3306/testdb?charset=utf8")
      print(engine)
      
      import pandas as pd
      #使用read_sql_query查看testdb中的数据表书目
      detail=pd.read_sql_table('meal_order_detail1',con=engine)
      
      detail['payment']=detail['counts']*detail['amounts']
     print('detail新增列payment的前5行为:","\n',detail['payment'].head())
     detail['pay_way']='现金支付'
     print('detail新增列pay-way的前5行为;","\n',detail['pay_way'].head())
     print('删除pay_way前detail的列索引为;","\n',detail.columns)
     detail.drop(labels='pay_way',axis=1,inplace=True)
     print('删除pay_way后detail的列索引为:","\n',detail.columns)
     print('删除1-10行前detail的长度为:',len(detail))
     detail.drop(labels=range(1,11),axis=0,inplace=True)
     print('删除1-10行后detail的长度为:',len(detail))

     

     

     

     

     

     

     

     

     

posted @ 2022-04-20 14:41  向欣怡  阅读(34)  评论(0)    收藏  举报