【Python】_连接MySQL_(建表、查询、插入、删除)

目标:
1、通过udp读取温湿度传感器的值
2、将温度湿度传回本地数据库并保存

本文主要为前期准备,具体传值方法在下一篇博客:
【Python】_ 读取温湿度传感器_并传入本地数据库

目录

  • 一、准备
  • 二、Python关于数据库使用教程
    • (一)在MySQL上创建数据库与表
    • (二)连接
    • (三)代码

一、准备

1、安装MySQL
2、搭配好Eclipse-Pydev
3、我们主要会用到:import pymysql;需用pip安装pymysql

pip install pymysql

在这里插入图片描述

二、Python关于数据库使用教程

参考链接: pyMySQL操作MySQL数据库

(一)在MySQL上创建数据库与表

我最终目标是基于Python :1、连接温湿度传感器2、把获取的温度&湿度传入数据库保存
我建表如下:
在这里插入图片描述 【Python】_连接MySQL_(建表、查询、插入、删除)_第1张图片

CREATE TABLE `python_windu`.`pytest` (
  `name` VARCHAR(50) NOT NULL,
  `wendu` VARCHAR(45) NOT NULL,
  `shidu` VARCHAR(45) NOT NULL,
  PRIMARY KEY (`name`));

创建步骤不一一详说,不会自行百度,这里贴图:

  • 打开MySQL创建一个数据库python_wendu
    【Python】_连接MySQL_(建表、查询、插入、删除)_第2张图片
  • 建表pytest(这里可直接建表,也可在python中用代码创建)
    【Python】_连接MySQL_(建表、查询、插入、删除)_第3张图片
    【Python】_连接MySQL_(建表、查询、插入、删除)_第4张图片
    【Python】_连接MySQL_(建表、查询、插入、删除)_第5张图片
    完成如图:
    【Python】_连接MySQL_(建表、查询、插入、删除)_第6张图片

(二)连接

  • 创建工程:
    【Python】_连接MySQL_(建表、查询、插入、删除)_第7张图片
  • 0连接数据库
import pymysql

'''=0=连接数据库,绑定数据库python_wendu.db'''
con = pymysql.connect(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='wy123456',
    db='python_windu',
    charset='utf8'
)
cur = con.cursor()  # 定义一个游标,通过游标来操作数据库
  • 1查询数据库中的所有表格
row = cur.execute('show tables')
print(row)
  • 2读取所有表数据
all = cur.fetchall()
print(all)
  • 3创建表(这里我只是举例、后面操作我任用pytest为例)
table = '''
create table test0(
id INT,
name CHAR(10)
)'''
cur.execute(table)#记得创建完表格后,注释掉这一句,不然重复游标会报错

到MySQL刷新可见:(test0被创建成功!)
【Python】_连接MySQL_(建表、查询、插入、删除)_第8张图片

  • 4插入一条&多条数据到数据库
# 插入1条数据到数据库
cur.execute("INSERT pytest value('test1','10','80')")  
con.commit()
# 插入多条数据到
cur.executemany("INSERT pytest VALUE(%s,%s,%s)", [
                ('test2', '11', '82'), ('test3', '9', '81')])数据库
con.commit()

【Python】_连接MySQL_(建表、查询、插入、删除)_第9张图片

  • 5读取数据库
select = cur.execute('SELECT * FROM pytest')
all = cur.fetchall()
print(all)

【Python】_连接MySQL_(建表、查询、插入、删除)_第10张图片

(三)代码

import pymysql
'''=0=连接数据库,绑定数据库python_wendu.db'''
con = pymysql.connect(
    host='127.0.0.1',
    port=3306,
    user='root',
    password='wy123456',
    db='python_windu',
    charset='utf8'
)
cur = con.cursor()  # 定义一个游标,通过游标来操作数据库
'''=1=查询数据库存中的所有表格'''
row = cur.execute('show tables')
# print(row)
'''=2=读取所有表数据'''
all = cur.fetchall()
# print(all)
'''=3=创建表'''
table = '''
create table test0(
id INT,
name CHAR(10)
)'''
# cur.execute(table)#记得创建完表格后,注释掉这一句,不然重复游标会报错
'''=4=插入一条数据到数据库'''
# cur.execute("INSERT pytest value('test1','10','80')")  # 插入1条数据到数据库
# con.commit()
'''
cur.executemany("INSERT pytest VALUE(%s,%s,%s)", [
                ('test2', '11', '82'), ('test3', '9', '81')])# 插入多条数据到数据库
con.commit()'''
'''=5=读取数据库'''
select = cur.execute('SELECT * FROM pytest')
all = cur.fetchall()
print(all)

下一篇:
如何通过串口(或udp)通信获取温湿度传感器实时传值,并传输到本地数据库中!

你可能感兴趣的:(#,Python,Python学习)