关系型数据库是基于关系模型的数据库,而关系模型是通过二维表来表示的,所以它的存储方式为行列组成的表,每一列是一个字段,每一行是一条记录。表可以看作是某个实体的集合,而实体之间的联系就是表之间的关联关系。多个表组成一个数据库,也就是关系型的数据库。 常用的关系型数据库有Mysql、Sqlite、Oracle、Sql Server、DB2、Mariadb、PostgreSQL等.
本节以Mysql为例进行讲解.
1. 准备工作
首先需要安装Mysql和Python库PyMysql,第一节都有,略……
2. 连接数据库
尝试连接一下数据库,我这里Mysql运行在本地,所以其host为localhost.
同时创建person数据库
打开凤凰新闻,查看更多高清图片运行结果如下:
使用PyMysql的connect()方法声明一个MySQL链接对象db.传入host,user,password等 连接成功后调用cursor()方法获得MySQL的游标,利用游标来进行SQL操作.
3. 创建表
我们可以手动创建表,也可以使用代码来创建,如下:
运行之后,创建了一个表person
4. 插入数据
假设有一些数据,怎么将其插入数据库呢?
结果如下:
注意:执行插入数据语句之后,需要调用db对象的commit()方法,这个方法是真正将数据提交到数据库的方法.对于数据插入、更新、删除,都需要调用此方法。
上面的代码里还加入了异常处理,如果调用失败,执行rollback()进行回滚操作。
这涉及到事务的问题,事务可以确保数据的一致性,也就是这件事要么发生了,要么没发生,数据要么插入,要么没插入,不会出现插入一半的情况.
事务的三个属性,原子性、一致性、隔离性、持久性被称为ACID特性。
很多情况下,我们插入的数据是字典形式,怎么插入呢?如下:
运行结果如下:
5. 更新数据
数据更新操作实际上也是执行sql语句,示例如下:
执行结果如下:
实际的插入过程中,我们插入数据的时候,一般需要排除掉重复数据,怎么做呢?
6. 删除数据
删除使用DELETE语句即可,只需要指定要删除的目标表名和删除条件,当然,必须执行commit()方法后才能生效
7. 查询数据
查询使用SELECT语句来进行操作
运行结果如下: