美文网首页
使用python操纵数据库

使用python操纵数据库

作者: 姽婳之语 | 来源:发表于2018-11-17 11:13 被阅读0次

    数据库

    • SQLite:一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎,对应包sqlite3
    • MySQL: 开源数据库系统,对应包pymysql

    数据库操纵步骤

    1. 创建connection对象,建立于数据库的连接
    2. 创建游标cursor对象
    3. 利用cursor.execute()方法执行SQL语句
    4. 如果SQL语句为DML语句(涉及到增删改操作),则执行connection.commit()命令,提交事务
    5. 关闭连接

    SQL语句

    • DDL 数据定义语言,用于创建表格,包括CREATE TABLE、DROP TABLE等
    • DML 数据操纵语言,用于增删改表格中数据,包括INSERT、UPDATA、DELETE等
    • DQL 数据查询语言,用于查询表格中数据,包括SELECT等
    • DCL 数据控制语言,用于数据库用户权限设置等

    Pythons数据库操作的封装

    import pymysql
    class MysqlHelper():
        # 初始化连接参数
        def __init__(self):
            self.host = 'localhost'
            self.port = ''
            self.db = ''
            self.user = ''
            self.pwd = ''
            self.charset = 'utf-8'
    
        def connect(self):
            self.conn = pymysql.connect(host=self.host, port=self.port, 
                                        user=self.user, passwd=self.pwd, 
                                        db=self.db, charset=self.charset)
            self.cursor = self.conn.cursor()
            
        def close(self):
            self.cursor.close()
            self.conn.close()
            
        def get_one(self, sql, params=()):
            result = ()
            try:
                self.connect()
                self.cursor.execute(sql, params)
                result = self.cursor.fetchone()
                self.close()
            except Exception as e:
                print(e)
            return result
        
        def get_all(self, sql, params=()):
            result = ()
            try:
                self.connect()
                self.cursor.execute(sql, params)
                result = self.cursor.fetchall()
                self.close()
            except Exception as e:
                print(e)
            return result
    
        def insert(self, sql, params=()):
            return self.__edit(sql, params)
        
        def update(self, sql, params=()):
            return self.__edit(sql, params)
        
        def delete(self, sql, params=()):
            return self.__edit(sql, params)
        
        def __edit(self, sql, params=()):
            count = 0
            try:
                self.connect()
                count = self.cursor.execute(sql, params)
                self.conn.commit()
                self.close()
            except Exception as e:
                print(e)
            return count
    
    

    相关文章

      网友评论

          本文标题:使用python操纵数据库

          本文链接:https://www.haomeiwen.com/subject/hxppfqtx.html