python mysql链接使用
1.DB-API
DB-API 是一个规范,它定义了一系列必须的对象和数据库存取方式,以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口。使用它链接数据库之后就可以,就可以操作数据库啦!
DB-API的使用为:
1).引入模块;
2).创建数据库连接;
3).执行sql语句获取结果;
4).关闭数据库连接。
集体的为下图
2.python下的数据库连接
python2下连接数据的模块为MySQLdb,python3下的模块更新为pymysql,使用的方法是一样的,只是模块名称重新定义了。
- 首先我们导入pymysql模块,然后使用connect创建链接,一般我们需要填入的信息为host,user,password,database几个参数,端口号默认为3306,可以不用填入;
- 创建链接之后,我们就要获取当前的游标,使用的为cursor方法,后面的操作都是基于这个游标;
- 然后我们可以使用cursor下的execute函数根据我们输入的sql语句执行操作;
- 执行只有一般都会返回一个结果,我们使用fetchall获取所有结果,使用fetchone获取一个结果,使用fetchmany(size)获取其中n个结果;
- 执行完数据库之后,我们需要关闭游标,然后关闭数据库连接。
一般我们使用的方式就是上面的啦,但是如果我们更改或者添加数据库数据的话,需要使用connect下的commit()函数提交结果才会生效,当异常时执行rollback。
数据库的执行事务
事务机制可以确保数据一致性。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
- 原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
- 一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
- 隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
- 持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
Python DB API 2.0 的事务提供了两个方法 commit 或 rollback。
我们对mysql操作的一般为,查、删、改、除,主要为select、delete、update、insert、alter等;
select
一般我们使用的为
select后面位查询为数据,*为所有数据,from后面的为表名称,where为刷选信息,like为模糊判断,即name中包含auto的表数据打印出来;
update
UPDATE一般为更新表数据,updat表名称,然后set 参数之位新的数值,后面可以加上书刷选,这个执行之后一定要使用commit才会生效,在mysql下不用执行commit是因为默认我们设置的是自动提交的。
insert
在某个表数据组插入数据,使用未insert into 表名称然后的表名,value值,这个需要一一对应。执行插入数据之后也是需要使用commit才会执行数据更改。
数据库连接之后,我们获取游标,然后执行年龄加1,条件为男性,当执行成功之后commit提交,如果失败,执行rollback,保证数据库的数据安全。