数据的存储(二)

作者: 小新你蜡笔呢 | 来源:发表于2018-07-06 17:16 被阅读11次

概要:上节简单的介绍了数据以文本或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查询

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

这是一个一个的取出来

也可以这样取:

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

相关文章

  • Android ContentProvider(一)

    Android数据存储(一) Android数据存储(二) Android数据存储(三) Android数据存储(...

  • 数据的存储(二)

    概要:上节简单的介绍了数据以文本或json,或以csv的形式储存这节来介绍如何存在数据库。首先,数据库分为关系型数...

  • 二、数据存储

    爬虫爬取的数据要经过数据存储步骤存储在磁盘上,对一些数据量较小的项目,数据可以暂时以磁盘文件的形式存储,如果数据量...

  • Android数据存储(三)

    前面两篇文章Android数据存储(一)和Android数据存储(二)分别使用文件存储、SharedPrefere...

  • iOS项目中CoreData的使用

    一、iOS数据储存方式 二、简介CoreData数据存储Core Data 是 iOS系统提供的数据存储方式,和传...

  • 01进制转换和变量

    计算机内存存储数据的部位有硬盘和内存 硬盘存储的是可见数据,内存存储的是不可见数据 硬盘,内存所存储的数据都是二进...

  • Android中SharedPreferences共享参数的封装

    Android中存在五种数据存储方式: 一:SharedPreferences共享参数存储 二:SQLite数据存...

  • ios的数据持久化

    一、what 数据持久化,就是数据存储。 二、iOS数据存储的方式 有5中方式 plist文件(XML属性列表) ...

  • Android 数据存储(二)文件存储

    转载请注明出处:http://www.jianshu.com/p/21b266d6b6d7[https://www...

  • 数据结构

    一. 数据结构的分类 集合结构 线性结构 树形结构 图形结构 二. 数据结构的存储 顺序存储结构 和 链式存储结构...

网友评论

    本文标题:数据的存储(二)

    本文链接:https://www.haomeiwen.com/subject/hlsbuftx.html