前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据的存储(二)

数据的存储(二)

作者头像
不断折腾
发布2019-09-23 10:10:05
6510
发布2019-09-23 10:10:05
举报

概要:上节简单的介绍了数据以文本或json,或以csv的形式储存 这节来介绍如何存在数据库。首先,数据库分为关系型数据库和非关系型数据库,比如mysql,Oracle,SQL Server等是关系型数据库。比如redis,mongoDB是非关系型数据库。

只以mysql为例

1.0首先我们要下载mysql数据库和pymysql库(在python2中导入的库为mysqldb,python3不支持)

安装库的代码:pip3 install pymysql

1.1,mysql数据库的基本操作

创建数据库:CREATE DATABASE 数据库名

创建表:CREATE TABLE stuinfo (id VARCHAR(255) NOT NULL,name VARCHAR(255) NOT NULL,age INT NOT NULL,sex VARCHAR(255) NOT NULL,PRIMARY KEY(id))

以上创建了一个表名为stuinfo的表,字段有id,name,age,sex,varchar(255)是类型,not null是不能 为空。最后id为主键。

  • 插入数据:INSERT INTO stuinfo(id,name,age,sex) values('1','张三','18','男')
  • 查询:SELECT * FROM stuinfo
  • 修改:UPDATE stuinfo SET age=20 where id=1
  • 删除:DELETE FROM stuinfo WHERE name='张三'

首先导入pymysql,基本操作就不说了

connect()打开数据库连接。这里说一下他的参数:

  • host:mysql的服务器地址,本地写localhost
  • user:用户名
  • password:密码
  • port:端口,默认为3306
  • db:数据库
  • charset:连接编码

cursor()创建一个游标对象

对应的方法有:

  • exxecute():执行数据库查询和命令
  • fetchone():获取结果集下一行
  • fetchmany(size):取到size行
  • fetchall():取到剩下的所有行
  • rowcount():返回受影响的行数
  • close():关闭cursor

1.3创建表

过程上面也已经说的很清楚了,只是修改了一下sql语句

1.4插入数据

这里插入数据是设定好的,我们爬虫爬取的数据有时候返回的是字典,

那么可以修改成这样:

commit()方法才是提交到数据库执行的方法,插入,修改,删除,都需要调用该方法才会生效。

roLLback()如果发生异常,就会数据回滚。

1.5修改

执行的方法都一样,只是sql语句发生了改变,参数发生了改变

只需要sql修改成'UPDATA stuinfo SET age=%s WHERE name=%s'

同时我们也可以这样写,在数据存在的时候修改,数据不存在的时候插入

(实例存在的时候将李四的年龄从20修改成25):

在修改之前的数据是这样的:

修改之后:

完整的写法如下:

在添加的基础上添加了ON DUPLICATE KEY UPDATE,表示有就更新,没有就插入。

我们打印一下sql语句,变成了

所以在添加的时候变成值变成了*2

1.6删除

删除直接执行删除语句就好

table='stuinfo'

cond="name='张三'"

sql='deleta from {stuinfo} where {cond}'.format(table=table,cond=cond)

即可。

1.8查询

查询很简单,简单实例如下

这是一个一个的取出来

也可以这样取:

这是一下全部出来,推介使用上一种。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python入门到放弃 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档