python编写mysql类实现mysql的操作

前言

我们都知道利用python实现mysql的操作是件很简单的事情,只需要熟练使用MySQLdb模块就能实现mysql的增删改查操作。

为了更好地整合mysql的操作,使用python的类讲mysql的操作整合到一起,是个不错的思路。这里我编写了一个简单的class,来实现对mysql的操作与查询。

操作

      本例中,我们准备在mysql的iceny中创建了一张测试表t1,字段为id和timestamp,主要存储系统的时间戳,并在该表中进行增、删、改、查的操作:

当前mysql的状态:

MySQLdb为python的第三方模块,使用之前需提前安装该模块,这里推荐pip安装:

pip install MySQL-python

编写mysql的class类:

#!/usr/local/env python3.6 
# -*- coding: UTF-8 -*-

import MySQLdb

class Mysql(object):
    def __init__(self,host,port,user,passwd,db,charset='utf8'):
        """初始化mysql连接"""
        try:
            self.conn = MySQLdb.connect(host,user,passwd,db)
        except MySQLdb.Error as e:
            errormsg = 'Cannot connect to server\nERROR(%s):%s' % (e.args[0],e.args[1])
            print(errormsg)
            exit(2)
        self.cursor = self.conn.cursor()

    def exec(self,sql):
        """执行dml,ddl语句"""
        try:
           self.cursor.execute(sql)
           self.conn.commit()
        except:
           self.conn.rollback()

    def query(self,sql):
        """查询数据"""
        self.cursor.execute(sql)
        return self.cursor.fetchall()

    def __del__(self):
        """ 关闭mysql连接 """
        self.conn.close()
        self.cursor.close()

      创建mysql对象:

mysql_test = Mysql('192.168.232.128','3306','root','123456','iceny')

创建表t1:

mysql_test.exec('create table t1 (id int auto_increment primary key,timestamp TIMESTAMP)')

      

      往t1插入一条数据:

mysql_test.exec('insert into t1 (id,timestamp) value (NULL,CURRENT_TIMESTAMP)')

      

      更新id为1的数据时间戳,改为执行当前的系统时间:

      

      再插入一条数据,查询该表数据:

mysql_test.exec('insert into t1 (id,timestamp) value (NULL,CURRENT_TIMESTAMP)')  
result = mysql_test.query('select * from t1')
print(result)

可以看到查询出来的结果是存放在一个元祖中。

删除表中id = 1的数据:

mysql_test.exec('delete from t1 where id = 1')

以上就是通过python编写简单的class类操作mysql增删改查的简单实现,这已经能够应付日常工作中大量的mysql操作了。

原文地址:http://blog.51cto.com/icenycmh/2118718

时间: 2024-11-07 07:59:52

python编写mysql类实现mysql的操作的相关文章

【Python】[技术博客] 一些使用Python编写获取手机App日志的操作

一些使用Python编写获取手机App日志的操作 如何获取手机当前打开的App的包名 如何获取当前App进程的PID 如何查看当前App的日志 如何将日志保存到文件 如何关闭进程 如何不显示命令行窗口 1.如何获取手机当前打开的App的包名 可以直接在命令行中输入adb shell dumpsys window | findstr mCurrentFocus 以手机QQ为例,读取到的mCurrentFocus的信息为 mCurrentFocus=Window{cb7270e u0 com.ten

【Python】公共类-获取MySQL数据

# -*- coding: UTF8 -*- __author__ = 'zhangh' import pymysql class Conn2MySQL(object): def __init__(self, host, user, password, port): """ connect to mysql get mysql data :return: tuple """ self.host = host self.user = user se

C#---数据库访问通用类、Access数据库操作类、mysql类 .[转]

原文链接 //C# 数据库访问通用类 (ADO.NET)using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration; namespace XXX{    /// <summary>    /// 针对SQL Server数据库操作的通用类           /// </sum

php类模块引擎PDO操作MySQL数据库简单阐述

PDO是什么呢? 通俗说就是别人写的一个“数据库操作工具类”,它非常强大,可以应对市面上几乎所有主流数据库, 具体应用时候有这样一个关系: 即,要操作某种数据,就得去“打开”对应的pdo引擎. 在php.ini的配置文件中,无非就是一个“模块”而已,我们只需要把分号删掉就表示开启!如下: 改为: 使用pdo连接mysql数据库 $dsn = "mysql:host=服务器地址/名称:port=端口号:dbname=数据库名"; $opt = array(PDO::MYSQL_ATTR_

C#---数据库访问通用类、Access数据库操作类、mysql类 .

//C# 数据库访问通用类 (ADO.NET)using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration; namespace XXX{    /// <summary>    /// 针对SQL Server数据库操作的通用类           /// </summary&

.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 参考示例代码,如下所示: /// <summary> /// MySql 数据库操作类 /// </summary> public class MySqlHelper { #region MysqlConnection private static MySql.Data.MySqlClient.MySqlConnection _mysqlConnection; /// <su

百万年薪python之路 -- MySQL数据库之 MySQL行(记录)的操作(一)

MySQL的行(记录)的操作(一) 1. 增(insert) insert into 表名 value((字段1,字段2...); # 只能增加一行记录 insert into 表名 values(字段1,字段2...); insert into 表名(id,name) values(字段1,字段2),(xx1,xx2); id,name,age 插入查询结果 语法: INSERT INTO 表名(字段1,字段2,字段3-字段n) SELECT (字段1,字段2,字段3-字段n) FROM 表2

Python数据库操作 MySQL数据库与数据表操作#学习猿地

# MySQL数据库与数据表操作 + 数据库的操作 + 数据库创建 + 数据库删除 + 数据表的操作 + 数据表的创建 + 数据表的修改 (表结构) + 数据表的删除 ### 数据库的操作 #### 1.数据库的创建 ```mysql # 链接mysql数据库后,进入mysql后可以操作数据 # 1. 创建库 create database if not exists tlxy default charset=utf8: -- 1. 数据库 tlxy 如果不存在则创建数据库,存在则不创建 --

python的学习之旅---Mysql数据库

1 什么是数据库(DataBase,简称DB) 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的 过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用 数据库是长期存放在计算机内.有组织.可共享的数据即可. 数据库中的数据按一定的数据模型组织.描述和储存,具有较小的冗余度.较高的数据独立性和易扩展性,并可为各种 用户共享 2 什么是数据库管理系统(DataBase Management System 简称DBMS) 在了解了Data与DB的概念后,如