zoukankan      html  css  js  c++  java
  • mysql模块mysqldb

    # -*- coding: utf-8 -*-
    #python operate mysql database
    import MySQLdb
      
    #数据库名称
    DATABASE_NAME = ''
    #host = 'localhost' or '172.0.0.1'
    HOST = ''
    #端口号
    PORT = ''
    #用户名称
    USER_NAME = ''
    #数据库密码
    PASSWORD = ''
    #数据库编码
    CHAR_SET = ''
      
    #初始化参数
    def init():
        global DATABASE_NAME
        DATABASE_NAME = 'test'
        global HOST
        HOST = 'localhost'
        global PORT
        PORT = '3306'
        global USER_NAME
        USER_NAME = 'root'
        global PASSWORD
        PASSWORD = 'root'
        global CHAR_SET
        CHAR_SET = 'utf8'
          
    #获取数据库连接
    def get_conn():
        init()
        return MySQLdb.connect(host = HOST, user = USER_NAME, passwd = PASSWORD, db = DATABASE_NAME, charset = CHAR_SET)
      
    #获取cursor
    def get_cursor(conn):
        return conn.cursor()
      
    #关闭连接
    def conn_close(conn):
        if conn != None:
            conn.close()
      
    #关闭cursor
    def cursor_close(cursor):
        if cursor != None:
            cursor.close()
      
    #关闭所有
    def close(cursor, conn):
        cursor_close(cursor)
        conn_close(conn)
      
    #创建表
    def create_table():
        sql = '''
        CREATE TABLE `student` (
        `id` int(11) NOT NULL,
        `name` varchar(20) NOT NULL,
        `age` int(11) DEFAULT NULL,
        PRIMARY KEY (`id`),
        UNIQUE KEY `name` (`name`)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8
        '''
        conn = get_conn()
        cursor = get_cursor(conn)
        result = cursor.execute(sql)
        conn.commit()
        close(cursor, conn)
        return result
      
    #查询表信息
    def query_table(table_name):
        if table_name != '':
            sql = 'select * from ' + table_name
            conn = get_conn()
            cursor = get_cursor(conn)
            result = cursor.execute(sql)
            for row in cursor.fetchall():
                print(row)
                #for r in row:      #循环每一条数据
                    #print(r)
            close(cursor, conn)
        else:
            print('table name is empty!')
      
    #插入数据
    def insert_table():
        sql = 'insert into student(id, name, age) values(%s, %s, %s)'
        params = ('1', 'Hongten_a', '21')
        conn = get_conn()
        cursor = get_cursor(conn)
        result = cursor.execute(sql, params)
        conn.commit()
        close(cursor, conn)
        return result
      
    #更新数据
    def update_table():
        sql = 'update student set name = %s where id = 1'
        params = ('HONGTEN')
        conn = get_conn()
        cursor = get_cursor(conn)
        result = cursor.execute(sql, params)
        conn.commit()
        close(cursor, conn)
        return result
      
    #删除数据
    def delete_data():
        sql = 'delete from student where id = %s'
        params = ('1')
        conn = get_conn()
        cursor = get_cursor(conn)
        result = cursor.execute(sql, params)
        conn.commit()
        close(cursor, conn)
        return result
      
    #数据库连接信息  
    def print_info():
        print('数据库连接信息:' + DATABASE_NAME + HOST + PORT + USER_NAME + PASSWORD + CHAR_SET)
      
    #打印出数据库中表情况
    def show_databases():
        sql = 'show databases'
        conn = get_conn()
        cursor = get_cursor(conn)
        result = cursor.execute(sql)
        for row in cursor.fetchall():
            print(row)
              
    #数据库中表情况
    def show_tables():
        sql = 'show tables'
        conn = get_conn()
        cursor = get_cursor(conn)
        result = cursor.execute(sql)
        for row in cursor.fetchall():
            print(row)
      
         
    def main():
        show_tables()
        #创建表
        result = create_table()
        print(result)
        #查询表
        query_table('student')
        #插入数据
        print(insert_table())
        print('插入数据后....')
        query_table('student')
        #更新数据
        print(update_table())
        print('更新数据后....')
        query_table('student')
        #删除数据
        delete_data()
        print('删除数据后....')
        query_table('student')
        print_info()
        #数据库中表情况
        show_tables()
          
      
    if __name__ == '__main__':
        main()
    
    --------------------------------------------------------- 恐惧是因为努力的还不够,加油 ~~---------------------------------------------
  • 相关阅读:
    Window上编译最新版libCef(Branch 2704)(转载)
    在hue 使用oozie sqoop 从mysql 导入hive 失败
    hive 支持更新
    基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)笔记
    修改CENTOS7的网卡名(将网卡ens33修改为我们在centos6中常见的eth0)
    config network name
    Java服务部署规范(内部使用)
    MongoDB干货系列1-定期巡检之Mtools
    mongodb validation--像关系型数据库表去使用mongodb
    ntp 服务导致kudu集群不可用
  • 原文地址:https://www.cnblogs.com/zhaobowen/p/13567959.html
Copyright © 2011-2022 走看看