mysql(一)
1、安装mysql
如果是windows系统:登录https://pypi.python.org/pypi/MySQL-python/1.2.5找到.exe结尾的包,下载安装就好了,然后配置环境变量即可。
如果是Linux系统,通过下载源码包进行安装。
2、连接mysql
1 import MySQLdb 2 #连接数据库: 3 # host 数据库ip 4 # user 连接数据库用户 5 # passwd 用户密码 6 # db 数据库名字 7 # charset字符集 utf-8 8 # port 数据库监听端口 9 10 # conn=MySQLdb.connect(host="101.132.125.136",user="root",passwd="aisirea802311",db="python",charset="utf8") 11 # 规范: 12 def connect_mysql(): 13 db_config={ 14 "host":"101.132.125.136", 15 "user":"root", 16 "passwd":"aisirea820311", 17 "db":"python", 18 "charset":"utf-8" 19 20 } 21 try: 22 aaa=MySQLdb.connect(**db_config) 23 except Exception as e: 24 raise e 25 return aaa
3、mysql事务
MySQL 事务主要用于处理操作量大,复杂度高的数据。 事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。 一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性) 1、事务的原子性:一组事务,要么成功;要么撤回。 2、稳定性:有非法数据(外键约束之类),事务撤回。 3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。 4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项决定什么时候吧事务保存到日志里。 mysql事务的方法 commit():提交当前事务,如果是支持事务的数据库执行增删改后没有commit则数据库默认回滚,白操作了 rollback():取消当前事务
4、游标
1 # 游标(cursor) 2 # 游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果 3 # 用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由python进一步处理,一组主变量一次只能存放一条记录 4 # 仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求 5 6 # 常用方法: 7 # cursor():创建游标对象 8 # close():关闭此游标对象 9 # fetchone():得到结果集的下一行 10 # fetchmany([size = cursor.arraysize]):得到结果集的下几行 11 # fetchall():得到结果集中剩下的所有行 12 # excute(sql[, args]):执行一个数据库查询或命令 13 # executemany (sql, args):执行多个数据库查询或命令 14 15 if __name__ == '__main__': 16 aaa = connect_mysql() 17 cus = aaa.cursor() 18 sql = " create table test(id int not null);insert into test(id) values (100);" 19 try: 20 cus.execute(sql) 21 #执行 22 cus.close() 23 aaa.commit() 24 #提交,没有异常关闭,有异常except 25 except Exception as e: 26 aaa.rollback() 27 print('Error') 28 raise e 29 finally: 30 aaa.close()