当前位置: 首页 > news >正文

深圳营销型网站制作/手机seo排名软件

深圳营销型网站制作,手机seo排名软件,网站建设业务的延伸性,足球比赛直播平台app免费Python DB API价值Python访问数据库的统一接口规范,开发者不必再去针对不同数据库实现不同API官网内容使用流程开发环境搭建环境Python代码开发(Sublime Text3 / Notepad )Python客户端 AND Python-MySQL connectorMysql服务器(Mysql5.7 AND Navicat)安装Python-MyS…

Python DB API

价值

Python访问数据库的统一接口规范,开发者不必再去针对不同数据库实现不同API

官网

内容

使用流程

开发环境搭建

环境

Python代码开发(Sublime Text3 / Notepad ++)

Python客户端 AND Python-MySQL connector

Mysql服务器(Mysql5.7 AND Navicat)

安装Python-MySQL connector及遇到的问题

安装

win cmd 中输入 easy_install MySQL-python    或者     pip install MySQL-python

Linux apt-get install python-dev    或者     yum install python-devel

最笨的方法,到http://www.cr173.com/soft/22957.html这里下载了MySQL-python.rar安装包进行安装。

问题

Microsoft Visual C++ 9.0 is required  (Unable to find vcvarsall.bat)

Cannot open include file: 'config-win.h': No such file or directory

site.cfg需要下载MySQL-python的源代码包

导入Python-MySQL完成

>>> import MySQLdb

>>> print MySQLdb

数据库连接对象--connection

作用

建立Python客户端与数据库的网络连接

创建方法

实例名=Mysqldb.connect(参数)

host--字符串--mysql服务器地址

port--数字--mysql服务器端口号

user--字符串--用户名

passwd--字符串--密码

db--字符串--数据库名

charset--字符串--连接编码

实例方法

cursor()--使用该链接创建并返回游标

commit()--提交当前事务

rollback()--回滚当前事务

close()--关闭连接

数据库游标对象--cursor

作用

用于执行查询和获取结果

实例方法

execute(op[,args])--执行一个数据库查询和命令

fetchone()--获取下一行数据

fetchmany(size)--获取下size行数据

fetchall()--获取剩下的所有行(可直接使用for xx in cursor实例 来对cursor实例进行迭代)

rowcount--最近一次execute返回数据的行数或影响的行数,请注意,它是属性。

rownumber--下一次使用fetchxxx时的index

close()--关闭游标

Python之Select查询操作

理念

实例:

1 >>> importMySQLdb2

3 >>> test_conn=MySQLdb.Connect(host='127.0.0.1',port=3306,user='yc',passwd='Yc_123456',db='st',charset='utf8')4

5 >>> sql = "select * from student"

6

7 >>> test_cursor=test_conn.cursor()8

9 >>>test_cursor.execute(sql)10

11 6L

12

13 >>>test_cursor14

15

16

17 >>> test_rs=test_cursor.fetchall()18

19 >>> for row intest_rs:20

21 ... printrow22

23 ...24

25 (u'201215121', u'\u674e\u52c7', u'\u7537', 21, u'CS')26

27 (u'201215122', u'\u5218\u6668', u'\u5973', 23, u'CS')28

29 (u'201215123', u'\u738b\u654f', u'\u5973', 19, u'MA')30

31 (u'201215125', u'\u5f20\u7acb', u'\u7537', 20, u'IS')32

33 (u'201215126', u'\u5f20\u6210\u6c11', u'\u7537', 19, u'CS')34

35 (u'201215128', u'\u9648\u51ac', u'\u7537', 19, u'IS')36

37 >>> for row intest_cursor:38

39 ... printrow40

41 ...42

43 (u'201215121', u'\u674e\u52c7', u'\u7537', 21, u'CS')44

45 (u'201215122', u'\u5218\u6668', u'\u5973', 23, u'CS')46

47 (u'201215123', u'\u738b\u654f', u'\u5973', 19, u'MA')48

49 (u'201215125', u'\u5f20\u7acb', u'\u7537', 20, u'IS')50

51 (u'201215126', u'\u5f20\u6210\u6c11', u'\u7537', 19, u'CS')52

53 (u'201215128', u'\u9648\u51ac', u'\u7537', 19, u'IS')54

55 >>>test_cursor.fetchall()56

57 ()58

59 >>>test_cursor.rowcount60

61 6L

62

63 >>>dir(test_cursor)64

65 ['DataError', 'DatabaseError', 'Error', 'IntegrityError', 'InterfaceError', 'InternalError', 'MySQLError', 'NotSupportedError', 'OperationalError', 'ProgrammingError', 'Warning', '__class__', '__del__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_check_executed', '_defer_warnings', '_do_get_result', '_do_query', '_executed', '_fetch_row', '_fetch_type', '_get_db', '_get_result', '_info', '_last_executed', '_post_get_result', '_query', '_result', '_rows', '_warning_check', '_warnings', 'arraysize', 'callproc', 'close', 'connection', 'description', 'description_flags', 'errorhandler', 'execute', 'executemany', 'fetchall', 'fetchmany', 'fetchone', 'lastrowid', 'messages', 'nextset', 'rowcount', 'rownumber', 'scroll', 'setinputsizes', 'setoutputsizes']66

67 >>>test_cursor.rownumber68

69 6

70

71 >>> test_cursor.rownumber=072

73 >>>test_cursor.fetchone()74

75 (u'201215121', u'\u674e\u52c7', u'\u7537', 21, u'CS')76

77 >>>test_cursor.close()78

79 >>> test_conn.close()

Python之Select查询简单举例

Python之insert/update/delete更新操作&事务使用

理念

Python之事务的使用

1.关闭自动提交:设置connection.autocommit(False)

2.正常提交事务:connection.commit()

3.异常回滚事务:connection.rollback()

实例

1 >>> importMySQLdb2

3 >>> test_conn=MySQLdb.Connect(host='127.0.0.1',port=3306,user='yc',passwd='Yc_123456',db='st',charset='utf8')4

5 >>> insert_sql="insert into student(Sno,Sname,Ssex,Sage,Sdept) values(201215130,'王晓东','男',18,'CS')"

6

7 >>> update_sql="update student set Ssex='女' where Sno=201215130"

8

9 >>>test_conn.autocommit(False)10

11 >>> test_cursor=test_conn.cursor()12

13 >>> try:14

15 ... test_cursor.execute(insert_sql)16

17 ... test_cursor.execute(update_sql)18

19 ... test_conn.commit()20

21 ... exceptException as e:22

23 ... printe24

25 ... test_conn.rollback()26

27 ...28

29 1L

30

31 1L

32

33 >>>test_cursor.close()34

35 >>> test_conn.close()

Python之更新语句简单举例

注:

(1062, "Duplicate entry '201215130' for key 'PRIMARY'")

明明数据库中没有,但是爆了这个错,是因为crusor中已经有了'201215130'这个ID的记录,所以需要初始化cursor实例(先close(),在重新赋值)

实例--银行转帐

create table account (

acctid INT(11) PRIMARY KEY COMMENT '账户ID',

money NUMERIC(11,2) DEFAULT 0.00 COMMENT '余额'

) ENGINE = INNODB DEFAULT CHARSET = utf8;

引擎选择--INNODB支持事务,MyISAM不支持事务

1 #-*- coding:utf-8 -*-

2

3 #代码编写思路:先抽象后具体;先写框架,后写实现。

4 #1.获得源帐号、目标账号、转账金额

5 #2.连接数据库

6 #3.开始事务

7 #4.提交或回滚

8 #*********************

9 #下列动作可封装到一个类中

10 #3.1检查源帐号是否可用

11 #3.2检查目标账号是否可用

12 #3.3检查源帐号是否有足够的钱

13 #3.4源帐号扣款

14 #3.5目标账号加钱

15

16

17 importMySQLdb18

19 #parameters define here

20 src_id = input('input src account id >')21 des_id = input('input des account id >')22 money = input('money number >')23

24 classMyException(Exception):25 def __init__(self,message):26 Exception.__init__(self)27 self.message=message28

29 classTransferMoney(object):30 def __init__(self,db_connect_instance):31 self.__db_conn=db_connect_instance32

33 defcheck_account_available(self,account_id):34 print "检查账户%s是否可用..." %account_id35 __sql="select * from account where acctid=%s" %account_id36 __curosr = self.__db_conn.cursor()37 __curosr.execute(__sql)38 #print "rowcount-->%s" % __curosr.rowcount

39 if __curosr.rowcount!=1:40 print "账户%s不可用"%account_id41 raise MyException("账户%s不可用"%account_id)42 print "账户%s可用" %account_id43 __curosr.close()44

45 defcheck_enough_money(self,account_id, money):46 print "检查账户%s余额是否足够..." %account_id47 __sql="select * from account where acctid=%s and money>=%s" %(account_id, money)48 __curosr = self.__db_conn.cursor()49 __curosr.execute(__sql)50 #print "rowcount-->%s" % __curosr.rowcount

51 if __curosr.rowcount!=1:52 print "账户%s余额不足"%account_id53 raise MyException("账户%s余额不足"%account_id)54 print "账户%s余额充足" %account_id55 __curosr.close()56

57 defreduce_money(self,account_id, money):58 print "账户%s开始扣款..." %account_id59 __sql="update account set money=money-%s where acctid=%s" %(money, account_id)60 __curosr = self.__db_conn.cursor()61 __curosr.execute(__sql)62 #print "rowcount-->%s" % __curosr.rowcount

63 if __curosr.rowcount!=1:64 print "账户%s扣款失败"%account_id65 raise MyException("账户%s扣款失败"%account_id)66 print "账户%s扣款成功" %account_id67 __curosr.close()68

69 defadd_money(self,account_id, money):70 print "账户%s开始加钱..." %account_id71 __sql="update account set money=money+%s where acctid=%s" %(money, account_id)72 __curosr = self.__db_conn.cursor()73 __curosr.execute(__sql)74 #print "rowcount-->%s" % __curosr.rowcount

75 if __curosr.rowcount!=1:76 print "账户%s加钱失败"%account_id77 raise MyException("账户%s加钱失败"%account_id)78 print "账户%s加钱成功" %account_id79 __curosr.close()80

81 defmain():82 st_conn = MySQLdb.Connect(host='127.0.0.1',port=3306,user='yc',passwd='Yc_123456',db='st',charset='utf8')83

84 transfer_money =TransferMoney(st_conn)85

86 try:87 transfer_money.check_account_available(src_id)88 transfer_money.check_account_available(des_id)89 transfer_money.check_enough_money(src_id,money)90 transfer_money.reduce_money(src_id,money)91 transfer_money.add_money(des_id,money)92 st_conn.commit()93 print "从帐号%s转%s元到帐号%s成功!!!" %(src_id, money, des_id)94 exceptException as e:95 print "从帐号%s转%s元到帐号%s失败!!!" %(src_id, money, des_id)96 printe.message97 st_conn.rollback()98

99 st_conn.close()100

101 main()

Python代码实现银行转帐

http://www.lbrq.cn/news/780481.html

相关文章:

  • b2b平台网站功能/最近一个月的热点事件
  • 顺义网站建设/网络营销推广方案ppt
  • 这么做国外网站的国内镜像站/友情链接交换平台
  • 哪家高端网站建设好/一键注册所有网站
  • 武汉手机网站建设咨询/windows优化大师有必要安装吗
  • php做的网站 订单系统/seo百度快速排名软件
  • ubuntu nginx php wordpress/网络优化工程师工作内容
  • 如何找百度做网站/31省市新增疫情最新消息
  • 医院可以做网站吗/免费推广软件工具
  • 什么网站做推广农产品比较好/免费b站推广网站详情
  • 做网站,用什么做数据库最好/桔子seo
  • 个人直播网站怎么做/搜一搜排名点击软件
  • 网站建设的途径/免费发布信息网网站
  • 淄博学校网站建设报价/站长工具使用方法
  • 网站改版原则/免费淘宝关键词工具
  • 自己做网站排版/南宁seo优化公司排名
  • 汽车b2c网站建设/优化设计答案五年级上册
  • 微餐饮网站建设/武汉seo排名
  • 网站建设进度及实过程/站长之家工具高清
  • 网站除了做流量还需要什么软件/职业技能培训班
  • 东营企业网站建设/郑州网站建设制作
  • 网络服务合同纠纷司法解释/保定百度推广优化排名
  • 个人设计师网站 青春/网站优化排名易下拉软件
  • 做预算查价格的网站是哪个好/公司优化是什么意思
  • html制作静态网站模板/链接推广
  • 正规的专业高端网站建设/百度关键词搜索排名帝搜软件
  • 怎么用axure做自适应网站/百度推广客户端app
  • 北京最大做网站的公司/营销的主要目的有哪些
  • 织梦网站上传步骤/百度推广代理查询
  • wordpress千万数据/关键词自动优化
  • Vuex与Pinia对比,以及技术选型
  • Linux操作系统如何不进入图形化界面
  • 力扣面试150(51/100)
  • Vuex 数据共享
  • Maven/Gradle常用命令
  • hyper-v虚拟机启动失败:Virtual Pci Express Port无法打开电源,因为发生错误,找不到即插即用设备