项目 MySQL
博客名称 2003031126-石升福-Python数据分析第七周作业
班级链接 20级数据班(本)
作业链接 第七周作业
要求 每道题要有题目,代码(使用插入代码,不会插入代码的自己查资料解决,不要直接截图代码!!),截图(只截运行结果)

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

1.数据库可以存储数据、优化读写,关系型数据库由大量表格组成,表与表之间有关联;Mysql、SqlServer、Oracle等都属于关系型数据库管理系统。

2.mysol的安装需要经过五个步骤

(1)登入官网下载mysql的安装包,官网地址:https://dev.mysql.com/downloads/mysql/

(2)下载格式

(3)点击下载,下载完成后为压缩包。

(4)将 zip 包解压缩

(5).在【安装目录】内,新建 my.ini 空文件

3.需要进行环境配置,方便调用数据库,相当于一个快捷方式。

二.*扩展阅读:MySQL教程

所有平台的 MySQL 下载地址为: MySQL 下载 。 挑选你需要的 MySQL Community Server 版本及对应的平台。你也可以使用 MariaDB 代替,MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。在成功安装 MySQL 后,一些基础表会表初始化,在服务器启动后,你可以通过简单的测试来验证 MySQL 是否工作正常。

三.*扩展阅读:MySQL卸载

1.确认你的mysql服务是关闭的状态,不然卸载不干净。

2.在我的电脑(计算机)-- 管理 – 服务和应用程序 – 服务,找到mysql 把状态关闭,在控制面板中卸载mysql软件。

3.卸载过后删除C:Program Files (x86)\MySQL该目录下剩余了所有文件,把mysql文件夹也删了。因为我的系统是64位,把软件安装的位置是E盘,所以按这个路径去查找删除。E:ProgramData \MySQL

四.作业

1.安装好MySQL,连接上Navicat

2..完成课本练习(代码4-1~3/4-9~31)。

from sqlalchemy import create_engine
#创建一个MySQL连接器,用户名为root,密码为root1234
#地址为127.0.0.1数据库名称为testdb,编码为UTF—8
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中的数据表书目
formlist=pd.read_sql_query('show tables',con=engine)
print('testdb数据表清单为:","\n ',formlist)
#使用read_sql_table读取订单详情表
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))
#使用to_sql存储orderDate
detail1.to_sql('test1',con=engine,index=False,if_exists='replace')
#使用read_sql读取test表
formlist1=pd.read_sql_query('show tables',con=engine)
print('新增一个表格后,testdb数据表清单为:“,”\n',formlist1)

#导入sqlalchemy 库的 create_engine函数
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))
orderinfo=pd.read_table('E:/桌面/meal_order_info (1).csv',sep=",",encoding='gbk')
print('订单信息表的长度为:',len(orderinfo))
userinfo=pd.read_excel('E:/桌面/users (1).xlsx')
print('客户信息表的长度为:',len(userinfo))

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)''' #查看DataFrame的元素个数
print('订单详情表的元素个数为:',detail.size)
print('订单详情表的维度数为:',detail.ndim)#查看DataFrame的维度数
print('订单详情表的形状为:',detail.shape)#查看DataFrame的形状 print('订单详情表转置前形状为:',detail.shape)
print('订单详情表转置后形状为:',detail.T.shape) #使用字典访问的方式取出orderInfo中的某一列
order_id = detail['order_id']
print('订单详情表中的order_id形状为:','\n',order_id.shape) #使用访问属性的方式取出orderInfo中的菜品名称列
dishes_name = detail.dishes_name
print('订单详情表中的dishes_name的形状为:','\n',dishes_name.shape) dishes_name5 = detail['dishes_name'][:5]
print('订单详情表中的dishes_name前5个元素为;','\n',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()) dishes_name1 = detail.loc[:,'dishes_name']
print('使用loc提取dishes_name列的size为:',dishes_name1.size)
dishes_name2 = detail.iloc[:,3]
print('使用iloc提取第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]]) #loc内部传入表达式
print('detail中order_id为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',[1,5]]) 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]) #pandas的1.0.0版本后,已经对ix进行了升级和重构。 #将ordeer_id为458的变换为45800
detail.loc[detail['order_id']=='458','ordeer_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']) 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))

Python数据分析第七周作业-MySQL的安装及应用的更多相关文章

  1. 2003031121——浦娟——Python数据分析第七周作业——MySQL的安装及使用

    项目 要求 课程班级博客链接 20级数据班(本) 作业要求链接 Python第七周作业 博客名称 2003031121--浦娟--Python数据分析第七周作业--MySQL的安装及使用 要求 每道题 ...

  2. 2003031121-浦娟-python数据分析第三周作业-第一次作业

    项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/pexy/20sj 作业链接 https://edu.cnblogs.com/campus/pexy/20s ...

  3. 2017-2018-1 我爱学Java 第六七周 作业

    团队六七周作业 完善版需求规格说明书 制定团队编码规范 数据库设计 后端架构设计 TODOList 参考资料 完善版需求规格说明书 <需求规格说明书>初稿不足之处: 1.开发工具写错 2. ...

  4. 2018-2019-1 20189221 《Linux内核原理与分析》第七周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第七周作业 实验六 分析Linux内核创建一个新进程的过程 代码分析 task_struct: struct task ...

  5. 2017-2018-1 JAVA实验站 第六、七周作业

    2017-2018-1 JAVA实验站 第六.七周作业 详情请见团队博客

  6. 2017-2018-1 JaWorld 第六、七周作业

    2017-2018-1 JaWorld 第六.七周作业 修改需求规格说明书 上次的<需求规格说明书>初稿有哪些不足? 王译潇同学回答:   1. 引言和目的性考虑的不是很周全.   2. ...

  7. 2017-2018-1 20179205《Linux内核原理与设计》第七周作业

    <Linux内核原理与设计>第七周作业 视频学习及操作分析 创建一个新进程在内核中的执行过程 fork.vfork和clone三个系统调用都可以创建一个新进程,而且都是通过调用do_for ...

  8. 2019-2020-1 20199325《Linux内核原理与分析》第七周作业

    第七周作业 1.进程描述符task_struct数据结构(一) 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_struct数据结构很 ...

  9. 2019-2020-1 20199329《Linux内核原理与分析》第七周作业

    <Linux内核原理与分析>第七周作业 一.本周内容概述: 对Linux系统如何创建一个新进程进行追踪 分析Linux内核创建一个新进程的过程 二.本周学习内容: 1.学习进程的描述 操作 ...

  10. 2020-2021-1 20209307《Linux内核原理与分析》第七周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第七周作业> 这个作业的目标 & ...

随机推荐

  1. Rust智能指针

    Rust智能指针 https://course.rs/advance/smart-pointer/intro.html Box 堆对象分配 Box指针拥有内存对象的独占使用权 (一)使用场景 1. 使 ...

  2. 百题计划-4 codeforces 652 div2 D. TediousLee 找规律

    https://codeforces.com/contest/1369/problem/D n<=2e6,所以只要找递推式就可以了,不需要找快速幂 /** */ #include<bits ...

  3. centos7.2下配置DNS服务器

    https://baijiahao.baidu.com/s?id=1748980460185046641&wfr=spider&for=pc 1.安装bind(服务器) yum -y ...

  4. Pods与Nodes

    Pod是Kubernetes抽象出来表示一组应用容器(比如Docker.rkt),还有这些容器共享的资源.这些资源包括: 共享存储,比如Volumes 网络,比如独立的集群IP地址 如何去运行每个容器 ...

  5. iptables(一)基础概念、filter表常用语法规则

    iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火 ...

  6. es 集群并设置密码

    1. 生成证书 bin/elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""2. el ...

  7. Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:...

    大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误"错误:Failed to download metadata for repo 'AppStr ...

  8. fix: because the volume group on the selected device also consist of physical volumes on other devices

    because the volume group on the selected device also consist of physical volumes on other devices 目标 ...

  9. SQL Server 机器学习服务-概述与实战(转)

    原帖地址:https://d-bi.gitee.io/sqlserver-ml-services/ 新年第一篇,去旧迎新.本文内容,既旧也新.旧之处在于,SQL Server 机器学习服务是微软在SQ ...

  10. 自定义类型与Qt元对象系统

    个人发现一篇关于在Qt中使用元对象系统支持自定义类型的好博文,记录下防止丢失(如有侵权,烦请告知删除).博文原地址:http://qtdebug.com/qtbook-misc-qvariant/ Q ...