Python調用Mysqldb完成MySql的CRUD操作
阿新 • • 發佈:2017-10-09
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操作