​ ”明月如霜,好风如水,清景无限 “

感谢DataWhale的活动,让文远点亮一些Mysql的实用技能。上一篇的文章Mysql基础-(1),其实已经介绍了Mysql中主要使用的一些语句。

说到数据库,必须理解一下这个图:

即我们客户端用sql的query程序与关系数据库管理系统(Relational Database Management System,RDBMS)交互,对创建的数据进行常见的增删查改。

除此之外的还要知道,Mysql是关系性数据库中的最常用,且免费。复习一下五种DBMS:

  • 层次数据库
  • 关系数据库(Mysql属于)
  • 面向对象数据库
  • XML数据库
  • 键值存储系统
    这些基础知识,还是有必要记忆的。然后是界面交互的平台介绍,有特别多:最自然的Mysql自带的MySQL Workbench,HeidiSQL,DBeaver,Navicat 等等。

讲真,这个界面文远用的有点难受。所以还是用最顺手的VScode。

首先,需要已经安装好Mysql。文远的是5.73。如果你是8点几的版本,以下代码需要把:

utf8mb4_0900_ai_ci  替换为   utf8mb4_general_ci

其次,需要安装Mysql的拓展,使VScode支持sql语句运行。如下画圈:

然后则是连接数据库,安装Mysql拓展后,右边栏会多一个数据库标志,点进去,在点击下图的➕。

输入好密码,即可连接数据库成功。可以选择创建.sql的数据库query文件。但在在VScode下,ipynb文件一样可以运行。

那么还是介绍一下,Task01的三个操作,建表,删表和插入:下图给你create一个wife

CREATE DATABASE `shop` ;
## 建库
DROP TABLE IF EXISTS `chars`;
## 判断删表,防止名字重复报错
CREATE TABLE `chars` (
  `chr` char(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  PRIMARY KEY (`chr`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
## 建表
insert  into `chars`(`chr`) values ('1'),('10'),('11'),('2'),('222'),('3');
## 表中插入数据

以上代码,可以直接背下来,作为范例。

最后是python连接Mysql的介绍,代码如下:

import pymysql
import numpy as np
import pandas as pd
conn = pymysql.connect(host="127.0.0.1", user="root",password="**填你的**",database="shop",charset="utf8")
### 定义Mysql的语句,在python中为str类型
sql = """
SELECT * FROM product;
"""
import pandas as pd
df = pd.read_sql(sql,conn)
df

效果如下:(另一种执行方式,数据库中的表返回为tuple,具体点击阅读原文见源码会提到,因为DataFrame十分方便,文远行文省略)

而方便的DataFrame则如下:(tuple转Dataframe会丢失column名称)

喜欢的话记得点赞,源码点击阅读原文自取。其中shop.sql文件为Mysql最新版的代码,而shop1.sql则是5.7版本可用。

END

作者:不爱跑马的影迷不是好程序猿
喜欢的话请关注点赞👇 👇👇 👇

公众号:文远的学习笔记
壹句: 华丽的袍子上爬满虱子

更多推荐

Mysql基础-(2)与python的在VScode下连接