python操作数据库的简单类

6 篇文章 0 订阅
2 篇文章 0 订阅
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

class ClassDB:
	def __init__(self):
		self.ip = "localhost"
		self.user = "root"
		self.password = "123456"
		self.DBName = "TEST"
		self.db = MySQLdb.connect(self.ip, self.user, self.password, self.DBName, charset='utf8' )
		self.cursor = self.db.cursor()

	def disconnect(self):
		# 关闭数据库连接
		self.db.close()

	def execute(self, sql):
		try:
			self.cursor.execute(sql)
			self.db.commit()
		except:
			self.db.rollback()

	def create(self, sql):
		self.cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
		self.cursor.execute(sql)

	def insert(self, sql):
	   self.execute(sql)

	def delete(self, sql):
		self.execute(sql)

	def update(self,  sql):
		self.execute(sql)

	def select(self, sql):
		try:
			self.cursor.execute(sql)
			return self.cursor.fetchall()
		except:
		   print "Error: unable to fecth data"

if __name__ == "__main__":
	db = ClassDB()

	# 创建表
	sql = """CREATE TABLE `EMPLOYEE` (
			  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
			  `FIRST_NAME` char(20) NOT NULL,
			  `LAST_NAME` char(20) DEFAULT NULL,
			  `AGE` int(11) DEFAULT NULL,
			  `SEX` char(1) DEFAULT NULL,
			  `INCOME` float DEFAULT NULL,
			  PRIMARY KEY (`id`)
			)"""
	db.create(sql)

	# 增加记录
	sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
			  LAST_NAME, AGE, SEX, INCOME)
			  VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
	db.insert(sql)
	sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
			  LAST_NAME, AGE, SEX, INCOME)
			  VALUES ('Tom', 'Mohan', 19, 'M', 200)"""
	db.insert( sql)

	sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
			  LAST_NAME, AGE, SEX, INCOME)
			  VALUES ('Bob', 'Mohan', 21, 'W', 20000)"""
	db.insert( sql)


	#更新记录
	sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = '%c'" % ('M')
	db.update(sql)

	# 查询记录
	sql = "SELECT * FROM EMPLOYEE WHERE INCOME > %s" % (1000)
	result = db.select(sql)
	print(result)

	#删除记录
	sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20)
	#db.delete(sql)

	db.disconnect()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值