1. 程式人生 > >Python調用Mysqldb完成MySql的CRUD操作

Python調用Mysqldb完成MySql的CRUD操作

except sele 發生 res rst strong 查詢語句 delet odin

[硬件環境]

Win10 64位

[軟件環境]

Python版本:2.7.3

IDE:JetBrains PyCharm 2016.3.2

Python庫:

1.1) MySQL-python-1.2.4b4.win32-py2.7.exe

[搭建過程]

OpenCV Python庫:

1. 直接EXE文件安裝

[相關代碼]

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import MySQLdb

# 您已經創建了數據庫 TESTDB.
# 在TESTDB數據庫中您已經創建了表 EMPLOYEE
# EMPLOYEE表字段為 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
# 連接數據庫TESTDB使用的用戶名為 "testuser" ,密碼為 "test123",你可以可以自己設定或者直接使用root用戶名及其密碼,Mysql數據庫用戶授權請使用Grant命令。 # 在你的機子上已經安裝了 Python MySQLdb 模塊。 # 打開數據庫連接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" ) # 使用cursor()方法獲取操作遊標 cursor = db.cursor() # 使用execute方法執行SQL語句 cursor.execute("SELECT VERSION()
") # 使用 fetchone() 方法獲取一條數據庫。 data = cursor.fetchone() print "Database version : %s " % data # 關閉數據庫連接 db.close() ################################################ 創建數據庫表 #################################################### # 打開數據庫連接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB
" ) # 使用cursor()方法獲取操作遊標 cursor = db.cursor() # 如果數據表已經存在使用 execute() 方法刪除表。 cursor.execute("DROP TABLE IF EXISTS EMPLOYEE") # 創建數據表SQL語句 sql = """CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT )""" cursor.execute(sql) # 關閉數據庫連接 db.close() ################################################ 數據庫插入 #################################################### # 打開數據庫連接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" ) # 使用cursor()方法獲取操作遊標 cursor = db.cursor() # SQL 插入語句 sql = """INSERT INTO EMPLOYEE(FIRST_NAME, LAST_NAME, AGE, SEX, INCOME) VALUES (‘Mac‘, ‘Mohan‘, 20, ‘M‘, 2000)""" try: # 執行sql語句 cursor.execute(sql) # 提交到數據庫執行 db.commit() except: # Rollback in case there is any error db.rollback() # 關閉數據庫連接 db.close() ################################################ 數據庫查詢 #################################################### # 打開數據庫連接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" ) # 使用cursor()方法獲取操作遊標 cursor = db.cursor() # SQL 查詢語句 sql = "SELECT * FROM EMPLOYEE WHERE INCOME > ‘%d‘" % (1000) try: # 執行SQL語句 cursor.execute(sql) # 獲取所有記錄列表 results = cursor.fetchall() for row in results: fname = row[0] lname = row[1] age = row[2] sex = row[3] income = row[4] # 打印結果 print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % (fname, lname, age, sex, income ) except: print "Error: unable to fecth data" # 關閉數據庫連接 db.close() ################################################ 數據庫更新 #################################################### # 打開數據庫連接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" ) # 使用cursor()方法獲取操作遊標 cursor = db.cursor() # SQL 更新語句 sql = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = ‘%c‘" % (M) try: # 執行SQL語句 cursor.execute(sql) # 提交到數據庫執行 db.commit() except: # 發生錯誤時回滾 db.rollback() # 關閉數據庫連接 db.close() ################################################ 數據庫刪除 #################################################### # 打開數據庫連接 db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB" ) # 使用cursor()方法獲取操作遊標 cursor = db.cursor() # SQL 刪除語句 sql = "DELETE FROM EMPLOYEE WHERE AGE > ‘%d‘" % (20) try: # 執行SQL語句 cursor.execute(sql) # 提交修改 db.commit() except: # 發生錯誤時回滾 db.rollback() # 關閉連接 db.close()

Python調用Mysqldb完成MySql的CRUD操作