python操作mysql數據庫代碼

gcmc 9年前發布 | 5K 次閱讀 Python

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()</pre>

 本文由用戶 gcmc 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!