最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python操作MySQL的一些基本方法

 更新時間:2015年08月16日 15:19:20   作者:Yi_Zhi_Yu  
這篇文章主要介紹了使用Python操作MySQL的一些基本方法,Python+MySQL也是服務器端快速開發(fā)的一種絕佳搭配方案,需要的朋友可以參考下

前奏

為了能操作數據庫, 首先我們要有一個數據庫, 所以要首先安裝Mysql, 然后創(chuàng)建一個測試數據庫python_test用以后面的測試使用

CREATE DATABASE `python_test` CHARSET UTF8

導入數據庫模塊

import MySQLdb

連接數據庫

con = MySQLdb.connect(host="localhost", user="root", passwd="******",db="python_test",port=3306)

在這里, 我們雖然拿到了python的數據庫連接, 但是不能在這個對象上直接對數據庫進行操作, 還需要獲取對應的操作游標才能進行數據庫的操作,所以還需要進行下面的操作

cur = con.cursor()

創(chuàng)建表格

cur.execute('create table stu_info (name char(128) not null default "", age tinyint(3) not null default 0, sex enum("man","femal") not null default "man") engine=innodb charset=utf8')
#0L

cur.execute 返回執(zhí)行的sql 影響的行數, 因為這里是創(chuàng)建數據庫, 所以是0L行

但到這里還并沒有真正執(zhí)行了sql語句, 必須使用MySQLdb.commit才是真正執(zhí)行完畢

con.commit()

到這里, 我們的表格才算真正創(chuàng)建完成

同理, 往表中寫數據, 也是一樣的操作流程 execute ==> commit

不過, 寫入數據的execute 稍有不同, 如下
更新表數據

往表中寫入數據時, 執(zhí)行execute 方法, 有兩種方式, 一種是直接execute(sql), 然后commit 完成, sql里是寫入的sql 語句

cur.execute("insert into stu_info (name, age, sex) values ('Yi_Zhi_Yu',25,'man')")
con.commit()

這會直接寫入表中,但還有另外一種方式,
execute 可以接受兩個參數, 第一個參數是sql語句, 不過這個sql中的values的內容使用占位符%s表示,第二個參數是實際的寫入的values列表, 如下:

cur.execute("insert into stu_info (name, age, sex) values (%s,%s,%s)", ("Tony",25, "man"))
con.commit()

這種方式與第一中方式相比, 更清晰一些, 安全性也更好, 能有效防止sql注入

另外, cursor還有一個executemany, 參數和execute一樣, 不過第二個參數可以傳遞多列表值, 達到多次執(zhí)行某個語句的效果

cur.executemany("insert into stu_info (name, age, sex) values (%s,%s,%s)",(("LiMei",26,"femal"),("YuanYuan",28,"femal")))
con.commit()

這里實際上就是執(zhí)行了兩次插入操作
數據查詢

直接看例子

cur.execute("select * from stu_info")
stus = cur.fetchall() 

#stus 已經是查詢的結果結合了, 格式如下:

(('Yi_Zhi_Yu', 25, 'man'),
 ('Tony', 25, 'man'),
 ('LiMei', 26, 'femal'),
 ('YuanYuan', 28, 'femal'))

tuple形式, 我們可以通過循環(huán)輸出

 for stu in stus:
    print "name: %s; age: %d; sex: %s" %(stu[0], stu[1], stu[2])

輸出:

name: Yi_Zhi_Yu; age: 25; sex: man
name: Tony; age: 25; sex: man
name: LiMei; age: 26; sex: femal
name: YuanYuan; age: 28; sex: femal

那上面的查詢雖然得到了每行的數據, 但結果集中并沒有字段名, 如果要返回字段名, 如下操作:

cur = con.cursor(cursorclass=MySQLdb.cursors.DictCursor)
cur.execute("select * from stu_info")
cur.fetchall()

返回的結果集:

({'age': 25, 'name': 'Yi_Zhi_Yu', 'sex': 'man'},
 {'age': 25, 'name': 'Tony', 'sex': 'man'},
 {'age': 26, 'name': 'LiMei', 'sex': 'femal'},
 {'age': 28, 'name': 'YuanYuan', 'sex': 'femal'})

每個元素都是一個dict, 以key-value的形式展示了每個字段和對應的值
總結

Python 中對數據的操作, 增刪改均要在指針對象執(zhí)行了sql語句后, 使用連接對象commit, 查詢的結果使用指針對象的fetch系列方法獲取

PS: 以上皆為學習筆記, 難免有錯, 歡迎指正

相關文章

  • python進行圖片相似度對比的兩種實現方法

    python進行圖片相似度對比的兩種實現方法

    Python提供了一些庫和工具可以用于圖片的相似度比對,本文就詳細的介紹了兩種實現方法,感知哈希和結構相似性,下面就來介紹一下,感興趣的可以了解一下
    2023-10-10
  • 使用Python讀取和寫入JSON文件的代碼示例

    使用Python讀取和寫入JSON文件的代碼示例

    在Python開發(fā)中,處理JSON數據是非常常見的任務,JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易于人閱讀和編寫,同時也易于機器解析和生成,本文給大家介紹了如何使用 Python 讀取和寫入 JSON 文件,需要的朋友可以參考下
    2024-12-12
  • Python異常處理如何才能寫得優(yōu)雅(retrying模塊)

    Python異常處理如何才能寫得優(yōu)雅(retrying模塊)

    異常就是程序運行時發(fā)生錯誤的信號,下面這篇文章主要給大家介紹了關于Python異常處理的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • Python減少循環(huán)層次和縮進的技巧分析

    Python減少循環(huán)層次和縮進的技巧分析

    這篇文章主要介紹了Python減少循環(huán)層次和縮進的技巧,結合實例形式較為詳細的分析了Python優(yōu)化代碼跳出循環(huán)以減少循環(huán)層次的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-03-03
  • Python守護進程用法實例分析

    Python守護進程用法實例分析

    這篇文章主要介紹了Python守護進程用法,實例分析了Python守護進程的功能及使用方法,需要的朋友可以參考下
    2015-06-06
  • python?ast模塊詳析與用法

    python?ast模塊詳析與用法

    這篇文章主要給大家介紹了關于python?ast模塊詳析與用法的相關資料, Python的ast(Abstract Syntax Trees,抽象語法樹)模塊是一個內置模塊,用于解析Python代碼并生成語法樹,需要的朋友可以參考下
    2023-07-07
  • Python腳本制作天氣查詢實例代碼

    Python腳本制作天氣查詢實例代碼

    在本篇文章里小編給大家整理的是一篇關于Python腳本制作天氣查詢實例代碼實例,有興趣的朋友們可以參考學習下。
    2021-08-08
  • python爬蟲 urllib模塊url編碼處理詳解

    python爬蟲 urllib模塊url編碼處理詳解

    這篇文章主要介紹了python爬蟲 urllib模塊url編碼處理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 深入理解Python單元測試unittest的使用示例

    深入理解Python單元測試unittest的使用示例

    本篇文章主要介紹了深入理解Python單元測試unittest的使用示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Python如何對XML 解析

    Python如何對XML 解析

    這篇文章主要介紹了Python對XML 解析的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-06-06

最新評論

蕲春县| 钟山县| 静宁县| 益阳市| 秦安县| 桐梓县| 乐清市| 岑巩县| 枞阳县| 鹿邑县| 钟山县| 托克托县| 惠安县| 那坡县| 庆城县| 泰和县| 阳城县| 阳信县| 双柏县| 潞城市| 余庆县| 昌都县| 道孚县| 宜州市| 蓝田县| 佛教| 安乡县| 景德镇市| 焉耆| 土默特右旗| 金平| 阿克苏市| 内江市| 信丰县| 赣榆县| 阿克陶县| 班戈县| 吴川市| 湘西| 资兴市| 彰化市|