python连接mysql数据库示例(做增删改操作)
一、相关代码
数据库配置类 MysqlDBConn.py
代码如下:
#encoding=utf-8
'''
Created on 2012-11-12
Mysql Conn连接类
'''
import MySQLdb
class DBConn:
conn = None
#建立和数据库系统的连接
def connect(self):
self.conn = MySQLdb.connect(host="localhost",port=3306,user="house", passwd="house" ,db="house",charset="utf8")
#获取操作游标
def cursor(self):
try:
return self.conn.cursor()
except (AttributeError, MySQLdb.OperationalError):
self.connect()
return self.conn.cursor()
def commit(self):
return self.conn.commit()
#关闭连接
def close(self):
return self.conn.close()
MysqlDemo.py类
代码如下:
#encoding=utf-8
'''
Created on 2012-11-12
@author: Steven
Mysql操作Demo
Done:创建表,删除表,数据增、删、改,批量插入
'''
import MysqlDBConn
dbconn = MysqlDBConn.DBConn()
def process():
#建立连接
dbconn.connect()
#删除表
dropTable()
#创建表
createTable()
#批量插入数据
insertDatas()
#单条插入
insertData()
#更新数据
updateData()
#删除数据
deleteData()
#查询数据
queryData()
#释放连接
dbconn.close()
def insertDatas():
sql = "insert into lifeba_users(name, realname, age) values(%s, %s, %s)"
tmp = (('steven1', '测试1',26), ('steven2', '测试2',25))
executemany(sql, tmp)
def updateData():
sql = "update lifeba_users set realname = '%s' where name ='steven1'"%("测试1修改")
execute(sql)
def deleteData():
sql = "delete from lifeba_users where id=2"
execute(sql)
def queryData():
sql = "select * from lifeba_users"
rows = query(sql)
printResult(rows)
def insertData():
sql = "insert into lifeba_users(name, realname, age) values('%s', '%s', %s)"%("steven3","测试3","26")
print sql
execute(sql)
def executemany(sql, tmp):
'''插入多条数据'''
conn=dbconn.cursor()
conn.executemany(sql, tmp)
def execute(sql):
'''执行sql'''
conn=dbconn.cursor()
conn.execute(sql)
def query(sql):
'''查询sql'''
conn=dbconn.cursor()
conn.execute(sql)
rows = conn.fetchmany(10)
return rows
def createTable():
'''创建表'''
conn=dbconn.cursor()
conn.execute('''
CREATE TABLE `lifeba_users` (
`ID` int(11) NOT NULL auto_increment,
`name` varchar(50) default NULL,
`realName` varchar(50) default NULL,
`age` int(11) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
''')
# dbconn.commit()
def dropTable():
'''删除表'''
conn=dbconn.cursor()
conn.execute('''
DROP TABLE IF EXISTS `lifeba_users`
''')
# dbconn.commit()
def printResult(rows):
for row in rows:
for i in range(0,len(row)):#遍历数组
print row[i], #加, 不换行打印
print ''
if __name__ == '__main__':
process()

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics





Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...

Using python in Linux terminal...

Understanding the anti-crawling strategy of Investing.com Many people often try to crawl news data from Investing.com (https://cn.investing.com/news/latest-news)...
