zoukankan      html  css  js  c++  java
  • python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例
    
    
    # -*- 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()
  • 相关阅读:
    【算法学习笔记】76.DFS 回溯检测 SJTU OJ 1229 mine
    【算法学习笔记】75. 动态规划 棋盘型 期望计算 1390 畅畅的牙签盒(改)
    【算法学习笔记】74. 枚举 状态压缩 填充方案 SJTU OJ 1391 畅畅的牙签袋(改)
    【算法学习笔记】73.数学规律题 SJTU OJ 1058 小M的机器人
    【算法学习笔记】72.LCS 最大公公子序列 动态规划 SJTU OJ 1065 小M的生物实验1
    【算法学习笔记】71.动态规划 双重条件 SJTU OJ 1124 我把助教团的平均智商拉低了
    【算法学习笔记】70.回文序列 动态规划 SJTU OJ 1066 小M家的牛们
    【算法学习笔记】69. 枚举法 字典序处理 SJTU OJ 1047 The Clocks
    【算法学习笔记】68.枚举 SJTU OJ 1272 写数游戏
    【算法学习笔记】67.状态压缩 DP SJTU OJ 1383 畅畅的牙签袋
  • 原文地址:https://www.cnblogs.com/xupeizhi/p/3341294.html
Copyright © 2011-2022 走看看