Python操作Mysql数据库入门——查看和增加记录

前言

最近学了一下sql,因为做数据分析不会sql真不行。

平时学的都是Python,所以如果要用pandas做数据分析,数据除了导入excel和csv文件,

应该还要会从数据库中导入数据到Python中,于是我进行了以下的学习和探索。

环境

Python 3.X

IDE : juyter notebook

mysql

安装必要的模块

首先安装好

进入:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

找到适合自己的版本

下载到本地(我的下载到e:盘根目录)

然后打开cmd如下图安装

这里推荐本地安装

使用Python连接数据库

importMySQLdb

如果导入模块没报错,恭喜你,安装模块成功了!

 

通过connect方法连接本地mysql数据库,这里要注意你要修改的或许是登录密码和数据库名称

创建游标

首先,我们要创建一个游标

cursor = conn.cursor()

什么是游标呢?

游标就相当于一个缓冲区,存放暂时的结果(这是我的理解)

就像去超市买买买,你可能要推一个手推车,这里的手推车就像游标,推着手推车去对应的货架完成挑选操作,而手推车最终会在出超市时候清空。

观察数据库

我本地的数据库test中有个tdb_goods的表

表的内容如上图所示

有商品的id,名称,种类id,品牌id,是否在售和是否下架几个字段

一共有23条记录

获取数据

我们使用select语句可以获取数据

 

首先我们用游标的execute方法执行一句sql语句获取tdb_goods中的所有数据

然后使用游标的fetchone方法取出其中一条记录并且展现出来

如上图,我们取出的数据是元组形式

当然,我们应该养成打开后关闭的好习惯,所以,在操作结束,应该断开与数据库的连接

conn.close()

异常处理

当我们在操作时,希望和在mysql数据库中一样,异常时会提示异常信息

那么我们就要加入异常处理模块

 

 

这里异常时,就将异常的信息告知我们了

我们将以上代码整理一下:

 

 

当我们将fetchone改成fetchall时候,就是取出所有信息了

使用面向对象编程

 

注:这里定义了一个类叫Mysql,然后用类创建一个对象名为object,在创建对象的时候,类的初始化时调用连接数据库函数

创建了一个叫object的对象,使用对象的get_a方法从数据库tdb_goods中选出cate_id=1的一条记录,在get_a函数最后位置断开数据库连接

结果如下:

插入记录到数据库

 

注:这里,将一条记录插入了数据库,但是当我执行完这条语句(没报错)

刷新数据库并没有新增一条记录

划重点:在这里,有一个self.conn.commit(),这个叫提交,如果不写这句,就无法将所做修改保存的数据库中

加上这个之后(加在以下两句之间):

可以看到,数据成功写入数据库了~

如果运行代码报错,很可能是你的数据库名和数据库登录密码没有修改~

文中如有错误和叙述不妥之处,望指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值