創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)專注于網(wǎng)站建設,為客戶提供網(wǎng)站設計制作、成都網(wǎng)站建設、網(wǎng)頁設計開發(fā)服務,多年建網(wǎng)站服務經(jīng)驗,各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站制作,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。小編給大家分享一下python連mysql數(shù)據(jù)庫的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一、Python連接MySQL數(shù)據(jù)庫
1、導入模塊
#導入模塊 import pymysql
相關課程推薦:Python基礎視頻教程(python語言基礎)
2、打開數(shù)據(jù)庫連接
#打開數(shù)據(jù)庫連接 #注意:這里已經(jīng)假定存在數(shù)據(jù)庫testdb,db指定了連接的數(shù)據(jù)庫,當然這個參數(shù)也可以沒有 db = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='1234', db='testdb', charset='utf8')
3、創(chuàng)建游標對象cursor
#使用cursor方法創(chuàng)建一個游標 cursor = db.cursor()
二、數(shù)據(jù)庫基本操作
使用execute()方法來實現(xiàn)對數(shù)據(jù)庫的基本操作。
1、查詢數(shù)據(jù)庫版本
#查詢數(shù)據(jù)庫版本 cursor.execute("select version()") data = cursor.fetchone() print(" Database Version:%s" % data)
2、創(chuàng)建數(shù)據(jù)庫
#創(chuàng)建數(shù)據(jù)庫test cursor.execute("drop database if exists test") #如果數(shù)據(jù)庫已經(jīng)存在,那么刪除后重新創(chuàng)建 sql = "create database test" cursor.execute(sql)
3、創(chuàng)建數(shù)據(jù)表
#創(chuàng)建數(shù)據(jù)庫表 cursor.execute("drop table if exists employee") #如果數(shù)據(jù)表已經(jīng)存在,那么刪除后重新創(chuàng)建 sql = """ CREATE TABLE EMPLOYEE ( FIRST_NAME CHAR(20) NOT NULL, LAST_NAME CHAR(20), AGE INT, SEX CHAR(1), INCOME FLOAT ) """ cursor.execute(sql)
4、查詢操作
#查詢數(shù)據(jù)表數(shù)據(jù) sql = "select * from employee" cursor.execute(sql) data = cursor.fetchone() print(data)
5、插入操作
#插入數(shù)據(jù) sql = "insert into employee values ('李','梅',20,'W',5000)" cursor.execute(sql) db.commit() #查看插入后的結(jié)果 sql = "select * from employee" cursor.execute(sql) data = cursor.fetchone() print(data)
6、指定條件查詢數(shù)據(jù)
#指定條件查詢數(shù)據(jù)表數(shù)據(jù) sql = " select * from employee where income > '%d' " % (1000) cursor.execute(sql) data = cursor.fetchone() print(data)
7、更新操作
#更新數(shù)據(jù)庫 sql = " update employee set age = age+1 where sex = '%c' " % ('W') cursor.execute(sql) db.commit() #查看更新后的結(jié)果 sql = "select * from employee" cursor.execute(sql) data = cursor.fetchone() print(data)
8、刪除操作
#刪除數(shù)據(jù) sql = " delete from employee where age > '%d' " % (30) cursor.execute(sql) db.commit() #查看更新后的結(jié)果 sql = "select * from employee" cursor.execute(sql) data = cursor.fetchone() print(data)
三、關閉數(shù)據(jù)庫連接
db.close()
四、其他
1、說明
·上例中"sql=..."語句,是經(jīng)典的MySQL語句的形式,將數(shù)據(jù)庫語句寫在雙引號內(nèi),形成類似字符串的形式;
·使用cursor對象的execute()方法具體執(zhí)行數(shù)據(jù)庫的操作;
·對于插入、更新、刪除等操作,需要使用db.commit()來提交到數(shù)據(jù)庫執(zhí)行,對于查詢、創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表的操作不需要此語句。
2、為有效避免因為錯誤導致的后果,使用以下方式來執(zhí)行數(shù)據(jù)庫的操作:
try: # 執(zhí)行 SQL 語句 cursor.execute(sql) # 提交修改 db.commit() except: # 發(fā)生錯誤時回滾 db.rollback()
以上是python連mysql數(shù)據(jù)庫的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道!