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))
运行结果及截图
-
![]()














浙公网安备 33010602011771号