• Python_Example_ Pycharm(python) 与 数据库(MySQL) 连接学习/示例


     Author: 楚格

    2018-11-07  22:37:06

    IDE: Pycharm2018.02   Python 3.7   

    KeyWord :  python 与 数据库 MySQL 连接

    Explain:  

    1.

    -------------------

     例程:

    #coding=utf-8
    #---------------------------------
    '''
    # Author  : chu ge 
    # Function: 
    #
    '''
    #---------------------------------
    
    import pymysql
    
    
    '''
    #---------
    一、创建表
    
    二、查询表
    SQL_table_read = "show tables;"
    
    三、修改表
    SQL_table_update = "alter table <表名> add|change|drop  <列名> <数据类型>;"
    
    四、删除表
    SQL_table_drop = "drop table <表名>;"
    #---------
    
    # CRUD 数据
    增加 create
    查询 read
    修改 update
    删除 delete
    
    一、增加
    SQL_data_insert_all      = "insert into <表名> values(。。。);"      # 全插入
    SQL_data_insert_single   = "insert into <表名(列名)> values(。。。);"# 缺省插入 单行单列
    SQL_data_insert_single_1 = "insert into <表名(列名)> values(。。。),(。。。),(。。。);"# 缺省插入 多行单列
    SQL_data_insert_single_2 = "insert into <表名(列名1,列名2,列名3)> values(。。。),(。。。),(。。。);" # 缺省插入 多行多列
    
    
    二、查询
    
    SQL_data_read = "select  * from <> where <条件>"
    
    
    三、修改
    SQL_data_update   = " update <表名> set <列1>=<值1> where <条件>"
    SQL_data_update_1 = " update <表名> isdelete=1 where <条件>"        # 逻辑删除
    
    四、删除
    SQL_data_delete = "delete from <表名> where <条件>"
    
    
    '''
    #------------------
    
    class Class_Mysql_Helper(object):
    
        def __init__(self,host,port,user,passwd,db,chaerset='utf8'):
            self.host    = host      # localhost
            self.port    = port      # 3306
            self.user    = user      # root
            self.passwd  = passwd    # 123
            self.db      = db        # python3
            self.charset = chaerset  # 固定
    
        def Methods_Open(self):
            # 用于建立与数据库的连接
            self.conn = pymysql.connect(host    = self.host,
                                        port    = self.port,
                                        user    = self.user,
                                        passwd  = self.passwd,
                                        db      = self.db
                                        )
            # 操作数据库的游标
            self.cursor =self.conn.cursor()
    
        def Methods_Close(self):
            self.cursor.close()     # 关闭数据表
            self.conn.close()       # 关闭数据库
    
        def Methods_Data_CURD(self,sql,params):
            try:
                self.Methods_Open()
    
                self.cursor.execute(sql,params)
                self.conn.commit()
    
                self.Methods_Close()
    
                print(" OK ")
    
            except (Exception,error):
                print(error.message)
    
        # 重复使用代码 使用封装
        def Methods_All(self,sql,params=[]):
            try:
                self.Methods_Open()
    
                self.cursor.execute(sql, params)
                result = self.cursor.fetchall()
    
                self.Methods_Close()
    
                return result
    
            except (Exception, error):
                print(error.message)
    
    
    '''
    # ============================================================================
    #   测试专用
    # ============================================================================
    '''
    if __name__ == "__main__":
        NAME=input('请输入用户姓名: ')
        ID=input('请输入用户编号: ')
    
        # 调用 对象
        SQL_help = Class_Mysql_Helper("localhost", 3306, "root", "123", "python3")
    
        # 修改 update
        Sql = 'update aa set name=%s where id=%s'
        Params = [NAME,ID]
        SQL_help.Methods_Data_CURD(Sql,Params)
    
        # 查询 ead
        Sql_read = 'select id,name from aa where id<3'
        Result = SQL_help.Methods_All(Sql_read)
        print(Result)

    -----------

    -------------------

  • 相关阅读:
    Webservice接口和Http接口
    java多线程
    时间显示成一串阿拉伯数字
    jsp静态与动态包含的区别和联系
    解决Win10默认占用80端口
    JAVA中文乱码之解决方案
    相对路径与绝对路径的差异
    JSP静态包含和动态包含的区别和联系
    数据库Oracle
    智能指针shared_ptr的用法
  • 原文地址:https://www.cnblogs.com/caochucheng/p/9925649.html
Copyright © 2020-2023  润新知