mysql(一)

一、安装mysqlpython

  若是是windows系统:登陆https://pypi.python.org/pypi/MySQL-python/1.2.5找到.exe结尾的包,下载安装就行了,而后配置环境变量便可。mysql

  若是是Linux系统,经过下载源码包进行安装。sql

二、链接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

三、mysql事务windows

MySQL 事务主要用于处理操做量大,复杂度高的数据。
事务处理能够用来维护数据库的完整性,保证成批的SQL语句要么所有执行,要么所有不执行。
通常来讲,事务是必须知足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性)
1、事务的原子性:一组事务,要么成功;要么撤回。
2、稳定性:有非法数据(外键约束之类),事务撤回。
三、隔离性:事务独立运行。一个事务处理后的结果,影响了其余事务,那么其余事务会撤回。事务的100%隔离,须要牺牲速度。
4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项决定何时吧事务保存到日志里。
mysql事务的方法
commit():提交当前事务,若是是支持事务的数据库执行增删改后没有commit则数据库默认回滚,白操做了
rollback():取消当前事务

四、游标fetch

 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()
相关文章
相关标签/搜索