溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎樣操作Mysql

發(fā)布時間:2021-08-03 17:02:30 來源:億速云 閱讀:132 作者:Leah 欄目:數(shù)據(jù)庫

這篇文章給大家介紹Python中怎樣操作Mysql,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

平時的主要編程語言是Java,開發(fā)時也主要用Mysql,經常為了測試,調試的目的需要操作數(shù)據(jù)庫,比如備份,插入測試數(shù)據(jù),修改測試數(shù)據(jù),有些時候不能簡單的用SQL就能完成任務,或都很好的完成任務,用Java寫又有點太麻煩了,就想到了Python。Python語法簡潔,不用編譯,可以經較好的完成任務。今天看了下Python對Mysql的操作,做一下記錄。   首先,安裝需要的環(huán)境,Mysql和Python就不說了,必備的東西。 主要是安裝的MySQLdb,可以去sf.net下載,具體地址是http://sourceforge.net/projects/mysql-python/ 如果用Ubuntu,直接   sudo apt-get install python-mysqldb   安裝完成之后可以在Python解釋器中測試一下 輸入 Python代碼   import MySQLdb #注意大小寫??!    如果不報錯,就證明安裝成功了,可能繼續(xù)了 MySQLdb在Python中也就相當于JAVA中的MySQL的JDBC Driver,Python也有類似的數(shù)據(jù)接口規(guī)范Python DB API,MySQLdb就是Mysql的實現(xiàn)。操作也比較簡單和其它平臺或語言操作數(shù)據(jù)庫一樣,就是建立和數(shù)據(jù)庫系統(tǒng)的連接,然后給數(shù)據(jù)庫輸入SQL,再從數(shù)據(jù)庫獲取結果。 先寫一個最簡單的,創(chuàng)建一個數(shù)據(jù)庫:   Python代碼   #!/usr/bin/env python   #coding=utf-8   ###################################   # @author migle   # @date 2010-01-17   ##################################   #MySQLdb 示例   #   ##################################   import MySQLdb      #建立和數(shù)據(jù)庫系統(tǒng)的連接   conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom')      #獲取操作游標   cursor = conn.cursor()   #執(zhí)行SQL,創(chuàng)建一個數(shù)據(jù)庫.   cursor.execute("""create database python """)      #關閉連接,釋放資源   cursor.close();       創(chuàng)建數(shù)據(jù)庫,創(chuàng)建表,插入數(shù)據(jù),插入多條數(shù)據(jù)   Python代碼   #!/usr/bin/env python   #coding=utf-8   ###################################   # @author migle   # @date 2010-01-17   ##################################   #MySQLdb 示例   #   ##################################   import MySQLdb      #建立和數(shù)據(jù)庫系統(tǒng)的連接   conn = MySQLdb.connect(host='localhost', user='root',passwd='longforfreedom')      #獲取操作游標   cursor = conn.cursor()   #執(zhí)行SQL,創(chuàng)建一個數(shù)據(jù)庫.   cursor.execute("""create database if not exists python""")      #選擇數(shù)據(jù)庫   conn.select_db('python');   #執(zhí)行SQL,創(chuàng)建一個數(shù)據(jù)表.   cursor.execute("""create table test(id int, info varchar(100)) """)      value = [1,"inserted ?"];      #插入一條記錄   cursor.execute("insert into test values(%s,%s)",value);      values=[]         #生成插入參數(shù)值   for i in range(20):       values.append((i,'Hello mysqldb, I am recoder ' + str(i)))   #插入多條記錄      cursor.executemany("""insert into test values(%s,%s) """,values);      #關閉連接,釋放資源   cursor.close();       查詢和插入的流程差不多,只是多了一個得到查詢結果的步驟   Python代碼   #!/usr/bin/env python   #coding=utf-8   ######################################   #   # @author migle   # @date 2010-01-17   #   ######################################   #   # MySQLdb 查詢   #   #######################################      import MySQLdb      conn = MySQLdb.connect(host='localhost', user='root', passwd='longforfreedom',db='python')      cursor = conn.cursor()      count = cursor.execute('select * from test')      print '總共有 %s 條記錄',count      #獲取一條記錄,每條記錄做為一個元組返回   print "只獲取一條記錄:"   result = cursor.fetchone();   print result   #print 'ID: %s   info: %s' % (result[0],result[1])   print 'ID: %s   info: %s' % result       #獲取5條記錄,注意由于之前執(zhí)行有了fetchone(),所以游標已經指到第二條記錄了,也就是從第二條開始的所有記錄   print "只獲取5條記錄:"   results = cursor.fetchmany(5)   for r in results:       print r      print "獲取所有結果:"   #重置游標位置,0,為偏移量,mode=absolute | relative,默認為relative,   cursor.scroll(0,mode='absolute')   #獲取所有結果   results = cursor.fetchall()   for r in results:       print r   conn.close()  

關于Python中怎樣操作Mysql就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI