python操作mysql資料庫

來源:互聯網
上載者:User
python操作mysql資料庫的相關操作執行個體

# -*- coding: utf-8 -*-#python operate mysql databaseimport 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)  #擷取cursordef get_cursor(conn):    return conn.cursor()  #關閉串連def conn_close(conn):    if conn != None:        conn.close()  #關閉cursordef 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()
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.