一、首先要安装MySQL,我安装的mysq5.7的;

具体安装步骤可以自行百度,或者参考这个win10安装MYSQL5.7

二、启动MySQL,

启动:net start MySQL

停止:net stop MySQL

卸载:net delete MySQL

其他数据库操作自行百度;

三、安装pymysql模块:

pip直接安装即可;

四、基本的增删改查的操作:

#coding:utf-8

# import MySQLdb python3不支持MySQLdb

import pymysql

#打开数据库,数据库可自己创建,create database test;

con = pymysql.connect(host='localhost', user='root', passwd='登录密码', db='test', port=3306, charset='utf8')

#通过cursor()创建一个游标对象

cur = con.cursor()

#建表

cur.execute(' CREATE TABLE student (id int not null auto_increment primary key,name varchar(20),age int, sex varchar(2))')

#插入数据

data="'Alice',16,女"

cur.execute(' INSERT INTO person (name,age) VALUES (%s)'%data)

cur.execute(' INSERT INTO person (name,age) VALUES (%s,%s)',('Alex',20,'男'))

cur.executemany(' INSERT INTO person (name,age) VALUES (%s,%s)',[('sara',24,'女'),('开心麻花',30,'男')])

#提交操作

con.commit()

#查询表中的数据

cur.execute('SELECT * FROM person')

#fetchall()获取所有数据,返回一个二维的列表

res = cur.fetchall()

for line in res:

print(line)

# fetchone()获取其中的一个结果,返回一个元组

cur.execute('SELECT * FROM person')

res = cur.fetchone()

print(res)

#修改数据

cur.execute('UPDATE person SET name=%s WHERE id=%s', ('小明',12,'男'))

#删除数据

cur.execute('DELETE FROM person WHERE id=%s', (0,))

con.commit()

con.close()

五、用pymysql跑了一下之前写的天气的爬取:

import requests

import json

import pymysql

#打开数据库

con = pymysql.connect(host='localhost', user='root', passwd='wjx411527', db='test', port=3306, charset='utf8')

#通过cursor方法创建一个游标对象

cur = con.cursor()

#建表

cur.execute(' CREATE TABLE tianqi (id int not null auto_increment primary key,date int ,date2 varchar(20),history_rain varchar(20),history_max int,history_min int,tmax varchar(10),tmin varchar(10),time varchar(20),w1 varchar(20),wd1 varchar(20),alins varchar(20),als varchar(20))')

class Weather():

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',

'Referer': 'http://www.weather.com.cn/weather40d/101280601.shtml'

}

# 新建列表,用来存储获取的数据

all_info = []

def __init__(self):

pass

# 获取一年的天气数据

def get_data(self):

global year

month = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']

for i in month:

url = 'http://d1.weather.com.cn/calendar_new/' + str(year) + '/101280601_' + str(year) + str(

i) + '.html?_=1496558858156'

html = requests.get(url, headers=self.headers).content

global datas

datas = json.loads(html[11:])

self.get_info()

# 获取天气的具体数据

def get_info(self):

for data in datas:

if data['date'][:4] == year:

date = data['date']

date2 = data['nlyf'] + data['nl']

history_rain = data['hgl']

history_max = data['hmax']

history_min = data['hmin']

tmax = data['max']

tmin = data['min']

time = data['time']

w1 = data['w1']

wd1 = data['wd1']

alins = data['alins']

als = data['als']

#先把去重的数据存储到列表all_info

info = (date,date2,history_rain,history_max,history_min,tmax,tmin,time,w1,wd1,alins,als )

if info not in self.all_info:

self.all_info.append(info)

#把数据存到sqlite

def store_pymysql(self):

self.get_data()

for one_info in self.all_info:

cur.execute(' INSERT INTO tianqi (date,date2,history_rain,history_max,history_min,tmax,tmin,time,w1,wd1,alins,als) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)',one_info)

con.commit()

if __name__ == '__main__':

year = '2017'

tianqi = Weather()

tianqi.store_pymysql()

# 关闭数据库连接

con.close()

运行结果:

天气

写法和sqlite的基本类似,可以和上一篇sqlite的比较一下;

几个小点注意一下:

1、mysql的数据库要提前创建好;

2、mysql在创建表时必须要表明每列的数据类型;

mysql这里用的可视化工具是navicat,可以自行百度下载;

pymysql语法_pymysql的用法相关推荐

  1. Database之SQL:自定义创建数据库的各种表demo集合(以方便理解和分析sql的各种增删改查语法的具体用法)

    Database之SQL:自定义创建数据库的各种表demo集合(以方便理解和分析sql的各种增删改查语法的具体用法) 目录 自定义创建数据库的各种表demo集合 具体案例 1.学生信息数据表案例

  2. python propresql mysql_python数据库操作mysql:pymysql、sqlalchemy常见用法详解

    本文实例讲述了python数据库操作mysql:pymysql.sqlalchemy常见用法.分享给大家供大家参考,具体如下: 相关内容: 使用pymysql直接操作mysql 创建表 查看表 修改表 ...

  3. 和could的区别用法_高考英语语法情态动词用法指南

    高考英语语法情态动词用法指南 情态动词有四类: ①只做情态动词:must,can(could),may(might)-- ②可做情态动词又可做实义动词:need,dare,will ③具有情态动词特征 ...

  4. php with语法,小学英语语法:with用法

    小学英语语法:with用法 作者:网编整理 丨 来源:网络 丨 发布时间:2019-11-29 15:44丨 分享 with 是介词,但其意义颇多,一时难掌握.为帮助大家理清头绪,请允许我以教材中的句 ...

  5. pymysql语法_如何使用PyMySQL模块进行增删改查?

    PyMySQL模块进行增删改查的操作.简单来讲,核心步骤有两步:链接数据库,读取CSV文件并导入数据表,然后查询数据,将数据表和计算结果导出为CSV文件.下面一起来具体看看吧~ Step1:安装PyM ...

  6. 2.try(){}语法含义及用法

    try(){}说明及用法 try(){}语法自jdk1.7引入,主要用于简化try{}catch{}语法中关闭流的系列操作 带资源的try语句(try-with-resource)的最简形式为: tr ...

  7. Makefile文件语法规则及用法总结

    一.Makefile的作用 Makefile文件实质上就是一个工程代码编译脚本,一旦写好,只需要一个make命令,整个工程就会自动按照脚本的规定方式编译,极大的提高了软件开发的效率. make是系统指 ...

  8. Java8 Stream 语法详解 用法实例

    本文将会详细讲解Stream的使用方法(不会涉及Stream的原理,因为这个系列的文章还是一个快速学习如何使用的). 1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A ...

  9. pymysql安装_pymysql 模块简单使用

    关视频可参考 Python3 从入门到精通视频教程 千里马:Python3 从入门到精通视频教程​zhuanlan.zhihu.com pymysql 模块简单使用 安装 pymysql 模块 pip ...

最新文章

  1. HTTP 协议的通用头域via 的意义以及作用
  2. Docker的使用(四:Docker Registry本地私有仓库搭建知识点总结)
  3. 为什么执行自己的程序要在前面加./
  4. Mysql学习总结(11)——MySql存储过程与函数
  5. Gridview分页模板
  6. Liunx下的日志清理shell脚本实战之日志备份
  7. linux 切图软件下载,学会23个linux常用命令,不做前端切图仔~
  8. 《玩转掌上生活——手机网上生活达人秘笈》一1.2 迎接掌上生活
  9. Mathpix图片转LaTeX,Word快速插入LaTeX公式教程
  10. 机器狗vs警犬!在波士顿动力面前,真狗只能“战术撤退”
  11. 缓存系列文章–无底洞问题
  12. 拿到窗口ID,为什么画的内容没有显示出来
  13. pe_xscan 增加 O31 项
  14. 电脑主板各部件详细图解
  15. 转发: 安全百科 DNS欺骗
  16. Excel中随机生成数字,函数RANDBETWEEN()的使用
  17. 计算机安全模式无法启动修复,win7系统崩溃无法修复和进入安全模式的解决方法...
  18. BUCTOJ周赛(5)问题 E: 数学(线性DP+LCS)
  19. 华为、惠普、 戴尔、浪潮 服务器命名规则和型号分类
  20. HTML如何返回上一页?

热门文章

  1. rxjs 操作符 pairwise 的一个例子
  2. SAP UI5 应用开发教程之七 - JSON 模型初探
  3. 一个典型的使用 SAP Cloud Application Programming 模型开发的 Fiori 应用
  4. TypeScript class 的静态成员变量
  5. sudo apt install 遇到关于 lock 的错误消息
  6. Angular里interpolation text节点的创建逻辑,单步调试
  7. Angular getOrCreateInjectable的实现原理调试
  8. rxjs里的Observable对象如何消费
  9. 几种常用的排序算法之JavaScript实现
  10. SAP CRM IBASE structure的读取逻辑