Pytho操作MySQL
一、相关代码
数据库配置类 MysqlDBConn.py
01 |
#encoding=utf-8 |
02 |
''' |
03 |
Created on 2012-11-12 |
04 |
|
05 |
@author: Steven http://www.lifeba.org |
06 |
|
07 |
Mysql Conn连接类 |
08 |
''' |
09 |
|
10 |
import MySQLdb |
11 |
|
12 |
class DBConn: |
13 |
|
14 |
conn = None |
15 |
|
16 |
#建立和数据库系统的连接 |
17 |
def connect( self ): |
18 |
self .conn = MySQLdb.connect(host = "localhost" ,port = 3306 ,user = "house" , passwd = "house" ,db = "house" ,charset = "utf8" ) |
19 |
|
20 |
#获取操作游标 |
21 |
def cursor( self ): |
22 |
try : |
23 |
return self .conn.cursor() |
24 |
except (AttributeError, MySQLdb.OperationalError): |
25 |
self .connect() |
26 |
return self .conn.cursor() |
27 |
|
28 |
def commit( self ): |
29 |
return self .conn.commit() |
30 |
|
31 |
#关闭连接 |
32 |
def close( self ): |
33 |
return self .conn.close() |
MysqlDemo.py类
001 |
#encoding=utf-8 |
002 |
''' |
003 |
Created on 2012-11-12 |
004 |
|
005 |
@author: Steven |
006 |
|
007 |
http://www.lifeba.org |
008 |
|
009 |
Mysql操作Demo |
010 |
Done:创建表,删除表,数据增、删、改,批量插入 |
011 |
''' |
012 |
import MysqlDBConn |
013 |
|
014 |
dbconn = MysqlDBConn.DBConn() |
015 |
|
016 |
def process(): |
017 |
#建立连接 |
018 |
dbconn.connect() |
019 |
#删除表 |
020 |
dropTable() |
021 |
#创建表 |
022 |
createTable() |
023 |
#批量插入数据 |
024 |
insertDatas() |
025 |
#单条插入 |
026 |
insertData() |
027 |
#更新数据 |
028 |
updateData() |
029 |
#删除数据 |
030 |
deleteData() |
031 |
#查询数据 |
032 |
queryData() |
033 |
#释放连接 |
034 |
dbconn.close() |
035 |
|
036 |
def insertDatas(): |
037 |
sql = "insert into lifeba_users(name, realname, age) values(%s, %s, %s)" |
038 |
tmp = (( 'steven1' , '测试1' , 26 ), ( 'steven2' , '测试2' , 25 )) |
039 |
executemany(sql, tmp) |
040 |
|
041 |
def updateData(): |
042 |
sql = "update lifeba_users set realname = '%s' where name ='steven1'" % ( "测试1修改" ) |
043 |
execute(sql) |
044 |
|
045 |
def deleteData(): |
046 |
sql = "delete from lifeba_users where id=2" |
047 |
execute(sql) |
048 |
|
049 |
def queryData(): |
050 |
sql = "select * from lifeba_users" |
051 |
rows = query(sql) |
052 |
printResult(rows) |
053 |
|
054 |
def insertData(): |
055 |
sql = "insert into lifeba_users(name, realname, age) values('%s', '%s', %s)" % ( "steven3" , "测试3" , "26" ) |
056 |
print sql |
057 |
execute(sql) |
058 |
|
059 |
def executemany(sql, tmp): |
060 |
'''插入多条数据''' |
061 |
conn = dbconn.cursor() |
062 |
conn.executemany(sql, tmp) |
063 |
|
064 |
def execute(sql): |
065 |
'''执行sql''' |
066 |
conn = dbconn.cursor() |
067 |
conn.execute(sql) |
068 |
|
069 |
def query(sql): |
070 |
'''查询sql''' |
071 |
conn = dbconn.cursor() |
072 |
conn.execute(sql) |
073 |
rows = conn.fetchmany( 10 ) |
074 |
return rows |
075 |
|
076 |
def createTable(): |
077 |
'''创建表''' |
078 |
conn = dbconn.cursor() |
079 |
conn.execute( ''' |
080 |
CREATE TABLE `lifeba_users` ( |
081 |
`ID` int(11) NOT NULL auto_increment, |
082 |
`name` varchar(50) default NULL, |
083 |
`realName` varchar(50) default NULL, |
084 |
`age` int(11) default NULL, |
085 |
PRIMARY KEY (`ID`) |
086 |
) ENGINE=MyISAM DEFAULT CHARSET=utf8; |
087 |
''' ) |
088 |
# dbconn.commit() |
089 |
|
090 |
def dropTable(): |
091 |
'''删除表''' |
092 |
conn = dbconn.cursor() |
093 |
conn.execute( ''' |
094 |
DROP TABLE IF EXISTS `lifeba_users` |
095 |
''' ) |
096 |
# dbconn.commit() |
097 |
|
098 |
def printResult(rows): |
099 |
for row in rows: |
100 |
for i in range ( 0 , len (row)): #遍历数组 |
101 |
print row[i], #加, 不换行打印 |
102 |
print '' |
103 |
|
104 |
if __name__ = = '__main__' : |
105 |
|
106 |
出自:http://blog.snsgou.com/ |
Pytho操作MySQL的更多相关文章
- Python中操作mysql的pymysql模块详解
Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...
- python操作mysql之pymysql
pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.7.11.mys ...
- (转)Python中操作mysql的pymysql模块详解
原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...
- ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)
操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...
- Python(九) Python 操作 MySQL 之 pysql 与 SQLAchemy
本文针对 Python 操作 MySQL 主要使用的两种方式讲解: 原生模块 pymsql ORM框架 SQLAchemy 本章内容: pymsql 执行 sql 增\删\改\查 语句 pymsql ...
- EF操作MySql
EF的CodeFrist操作MySql的提前准备: 1.安装两个包:MySql.Data和MySql.Data.Entity,在VS中程序包管理器中添加2个包.(备注需要的VS2015,并且EF6支持 ...
- .NET Core 使用Dapper 操作MySQL
MySQL官方驱动:http://www.cnblogs.com/linezero/p/5806814.html .NET Core 使用Dapper 操作MySQL 数据库, .NET Core 使 ...
- asp.net core 1.1 升级后,操作mysql出错的解决办法。
遇到问题 core的版本从1.0升级到1.1,操作mysql数据库,查询数据时遇到MissingMethodException问题,更新.插入操作没有问题. 如果你也遇到这个问题,请参照以下步骤进行升 ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
随机推荐
- jsp <%@ include %> 例子
<%@ include %>:所有代码包含进来之后一起进行处理,最终编译成一个servlet. jsp文件中添加top和bottom.jsp页面 empList.jsp <%@ pa ...
- File.Exists 文件不存在 Or FileNotFoundException
标题警告,本文仅限走投无路,最终可能的一个问题导致. 最开始出现在找不到文件,测试发现: 看起来毫无毛病 而后各种测试: 注意看,第一行跟第三行一模一样 发现[@"]这两个字符有毒,如 ...
- 几个windows使用小技巧
windows使用技巧 保存网页上图片时,可以按住左键把图片拖到右下角(win+D,双屏幕直接拖动)然后就可以放在桌面啦 放大镜-->Win+加号或者减号(放大或缩小).Win + Esc(退出 ...
- 【持续更新】把.net代码转换为java代码的注意事项
国内大多数大学的软件相关专业大多强制学生学习c和Java,但.net 的几个语言可以说是选学的. 由于visual studio在windows平台上使用相对方便,一些同学会在上大学的Java课之前自 ...
- 手工修改注册表激活windows xp法
手工修改注册表激活windows xp法: 1.安装原版windows xp 2.打开注册表regedit 3.找到主键 Hkey_Local_Machine\Software\Microsoft\W ...
- SMTP error 554 !!
哇,我真的amazing, incredible!! 我只是想写一个简单的邮件,结果他一直报554错误!!! 期间,通过百度,我发现了可能导致 此,讨厌至极的错误,有N多原因: 但我的原因 谜之离谱! ...
- Django中的Cookie、Session、Token
Cookie : 指望着为了辨别用户身份.进行会话跟踪而存储在用户本地的数据(通常经过加密),是由服务端生成,发送给客户端浏览器,浏览器会将Cookie以key/value保存,下一请求同一网站是就发 ...
- 分享一款非常好用的Fatkun图片批量下载工具
Fatkun图片批量下载 相信大家一定遇到过有着大量精美图片的网页,譬如美女照片.各种壁纸.设计素材.甚至是1024套图等等,但常常几十上百张的图要一张张手工去点击下载实在能让人抓狂!小编的工作中也常 ...
- HDU 2196 Computer(求树上每个点的最长距离)
题意: 这题想了挺久的, 参考了kuangbin大神的代码:https://www.cnblogs.com/kuangbin/archive/2012/08/28/2659915.html 给出树上边 ...
- 未能加载文件或程序集“System.ServiceModel, Version=2.0.5.0, ...”解决方法
未能加载文件或程序集“System.ServiceModel, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它 ...