MySQL基础 (MySQL数据库思想、安装流程及企业版本的选择、MySQL卸载 、MySQL重点命令、 MySQL插入操作 、python中安装mysql数据库、MySQLClient操作数据分析)

本文主要是介绍MySQL基础 (MySQL数据库思想、安装流程及企业版本的选择、MySQL卸载 、MySQL重点命令、 MySQL插入操作 、python中安装mysql数据库、MySQLClient操作数据分析),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据分析之MySQL

      • MySQL数据库思想
      • MySQL数据库的实战
      • MySQL企业级安装流程以及企业版本的选择
      • MySQL卸载
      • MySQL重点命令
      • MySQL插入insert操作
      • python中安装mysql数据库
      • 实现MySQLClient操作数据分析案例

MySQL数据库思想

  • 数据库是一种关系数据库
    (1)对于Java语言和其他计算机语言作为后台开发来讲,数据库的关系体现在1对1 、1对多、 多对多(由中间表产生) 、多对1。
    (2)在python数据分析、人工智能技术领域上关系的理解是:将数据通过numpy、pandas、matplotlib进行数据分析,体现在数据的发布思想!将数据发布给用户、人工智能设备作为数据集。

MySQL数据库的实战

(1)只能满足小型企业级的开发,对于数据集不是很适合!数据存储量较大!数据不安全!
(2)Oracle针对于大数据/人工智能利用很多。
(3)数据库分为DDL、DCL、DML语句。

  • DML:数据库操作语言(Data Mannipliulation Language)—用于检索或者修改数据
  • DDL:数据库定义语言(Data Defination Language)—用于定义数据的结构
  • DCL:数据库控制语言(Data Control Language)—用于定义数据库用户的权限DB

MySQL企业级安装流程以及企业版本的选择

(1)mysql分为客户端服务端,MySQL自身会携带基于dos的客户端和服务端
(2)安装注意事项

  • 用户名和密码设置:root root
  • 端口默认3306 Oracle默认
  • 编码格式默认是英文手动改为utf8。数据库中没有- * !。。。特殊字符
  • 编码格式忘记修改不需要删除MySQL,只需找到my,ini文件,修改配置文件,重启!

MySQL卸载

(1)进入控制面板删除MySQL安装程序包
(2)进入安装目录删除MySQL文件
(3)进入c盘window下/用户下找MySQL字样,全部删除
(4)cmd窗口输入regedit进入注册表找

  • 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL
  • 计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL

(5)回收站删除文件
(6)重启计算机

MySQL重点命令

(1)mysql -hlocalhost -uroot -p ------->登录操作,输入密码进入
(2)show databases; ------->展示数据库
(3)use shop; —Database changed show tables; ------>显示指定库中的表
(4)create database 库名; ------>建库
(5)use 库名; create table 表名 (字段设定列表); ----->建表
(6)drop database 库名;  drop table 表名;------>删库和删表

char和varchar的区别
①varchar执行效率快,但会产生磁盘垃圾。数据库回收磁盘垃圾,会造成内存浪费。MySQL自身内存小不建议使用,Oracle追求读写速度建议使用!
②char执行效率较快,但是不产生磁盘垃圾。适合MySQL!

MySQL插入insert操作

(1) insert into 表 (字段名1,字段名2,字段名3)value(值1,值2,值3);---->字段名和值一一对应,数据安全、数据好维护、效率高!sql底层只执行一次匹配字段
(2) insert into 表 values(值1,值2,值3);----->字段和值没有一一对应,数据不是很匹配、数据不好维护、效率较高!sql底层只能先寻找key和value 执行2次以上匹配
(3)insert into 表 values(值2,值3);----->此写法必须满足id是主键,然后通过主键去自动匹配数据库的字段名对应的value

python中安装mysql数据库

(1) python3.2以前的版本官网下载exe文件安装
(2) python3.2以后的版本,cdm进入python的安装目录,执行命令pip install MySQLClient进行注册安装。-----企业大量使用!

实现MySQLClient操作数据分析案例

# 导包/模块
import os;
import pandas;
import MySQLdb;
# 连接数据库  
connection = MySQLdb.connect(host='localhost',user='root',passwd='root',db='python',charset='utf8');       
#导入数据到MySQL。遍历目录,把里面的所有数据入库
rootDir="C:\\ZhangTao\\python课件\\0808\\测试数据\\";
# 定义一个exeSQL输出SQL执行结果
def exeSQL(sql):print("exeSQL: " + sql)connection.query(sql);for fileName in os.listdir(rootDir): print(fileName)path = os.path.join(rootDir, fileName)     if ".txt" in fileName:path = path.replace("\\", "\\\\");#拿到文件名中的时间字段datetime = fileName[0:8];tableName = "订购明细" + datetime;#建表、导入数据到表中exeSQL("drop table if exists " + tableName)exeSQL("create table " + tableName + "(订单编号 int, 订购日期 datetime, 用户ID int, 产品 char(8), `单价(元)` int, 数量 int, 订购金额 int);");#mysql将数据导入表的固定语句exeSQL("LOAD DATA LOCAL INFILE '" + path + "' INTO TABLE `" + tableName + "` CHARACTER SET 'UTF8' COLUMNS TERMINATED BY ',' LINES TERMINATED BY '\\n' IGNORE 1 ROWS;");#建立日订购统计表exeSQL("create table if not exists 日订购统计表(统计日期 date, 订购用户数 int, 订购次数 int, 人均订购金额 double, 订购总额 double);");exeSQL("delete from 日订购统计表 where 统计日期='" + datetime + "';");exeSQL("insert into 日订购统计表 select '" + datetime + "', count(distinct 用户ID), count(用户ID), sum(订购金额)/count(distinct 用户ID), sum(订购金额) from `" + tableName + "`;");statDay = pandas.read_sql('select * from 日订购统计表;', con=connection);
#关闭数据库
connection.close();
print('\n日订购统计表数据如下:');
print(statDay);#绘图
font = {'family' : 'SimHei'
}matplotlib.rc('font', **font);# 1.折线图
plot1 = plt.plot(statDay['统计日期'], statDay['订购用户数']);
plt.show();
plot2 = plt.plot(statDay['统计日期'], statDay['订购次数']);
plt.show();
plot3 = plt.plot(statDay['统计日期'], statDay['人均订购金额']);
plt.show();
plt.legend(('订购用户数', '订购次数', '人均订购金额'))# 2.柱状图
x=statDay['统计日期']
x_labels=['0901','0902','0903','0904','0905','0906','0907','0908']
y=statDay['订购总额']
plt.bar(x,y,width=0.5)
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.xticks(x,x_labels)
#修改x坐标
plt.xlabel('统计日期')
#修改y坐标
plt.ylabel('订购总额')
#添加标题
plt.title('柱状图')
plt.show()# 3.饼状图
price=statDay['订购总额']
prices=sum(statDay['订购总额'])
price_perc=price/prices
#添加名称
labels=['0901','0902','0903','0904','0905','0906','0907','0908']
#添加颜色
colors=['blue','red','blue','red','blue','red','blue','red']
#绘制饼状图  pie
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
# labels 名称 colors:颜色,explode=分裂  autopct显示百分比
paches,texts,autotexts=plt.pie(price_perc,labels=labels,colors=colors,autopct='%0.1f%%')
#设置饼状图中的字体颜色
for text in autotexts:text.set_color('white')
#设置字体大小
for text in texts+autotexts:text.set_fontsize(20)
plt.show()

结果如下:

①exeSQL: drop table if exists 订购明细20110908
②exeSQL: create table 订购明细20110908(订单编号 int, 订购日期 datetime, 用户ID int, 产品 char(8), 单价(元) int, 数量 int, 订购金额 int);
③exeSQL: LOAD DATA LOCAL INFILE ‘C:\ZhangTao\python课件\0808\测试数据\20110908.txt’ INTO TABLE 订购明细20110908 CHARACTER SET UTF8 COLUMNS TERMINATED BY ‘,’ LINES TERMINATED BY ‘\n’ IGNORE 1 ROWS;
④exeSQL: create table if not exists 日订购统计表(统计日期 date, 订购用户数 int, 订购次数 int, 人均订购金额 double, 订购总额 double);
⑤exeSQL: delete from 日订购统计表 where 统计日期=‘20110908’;
⑥exeSQL: insert into 日订购统计表 select ‘20110908’, count(distinct 用户ID), count(用户ID), sum(订购金额)/count(distinct 用户ID), sum(订购金额) from 订购明细20110908;

日订购统计表数据如下:

统计日期订购用户数订购次数人均订购金额订购总额
02011-09-0114649240531824.99419826734340.0
12011-09-0222134486472466.56004354594840.0
22011-09-0328248796093210.81209390699020.0
32011-09-0428016765343076.43846486189500.0
42011-09-05642780661391.9962668946360.0
52011-09-06669883811389.7790399308740.0
62011-09-07707189911406.2537129943620.0
72011-09-08661378591331.4108578804620.0

1.折线图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.柱状图
在这里插入图片描述
3.饼状图
在这里插入图片描述

这篇关于MySQL基础 (MySQL数据库思想、安装流程及企业版本的选择、MySQL卸载 、MySQL重点命令、 MySQL插入操作 、python中安装mysql数据库、MySQLClient操作数据分析)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/767234

相关文章

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空