摘要:工作中難免有遇到歐巴的時(shí)候,奈何我是個(gè)記性不大好的人,臨筆忘詞,只能祭出谷歌大法,于是想著造個(gè)小破輪子,優(yōu)雅地解決連接的問(wèn)題。
工作中難免有遇到 MySQL 歐巴的時(shí)候,奈何我是個(gè)記性不大好的人,臨筆忘詞,只能祭出谷歌大法,于是想著造個(gè)小破輪子,優(yōu)雅地解決 Python 連接 MySQL 的問(wèn)題。
這個(gè)輪子一定不要像 sqlalchemy 那么復(fù)雜,也不需要像 Django 的 ORM 那么豐富,就像一碗白米飯,管你吃飽,還為你解決三大問(wèn)題:
輕松連接 MySQL
數(shù)據(jù)結(jié)構(gòu)到模型的映射
滿足增改查的基本功能,避免手寫SQL
創(chuàng)建連接pythonfrom data_handler import Database db_config = { "host": "localhost", "port": 3306, "user": "root", "password": "123456", "database": "test" } Database.connect(**db_config)定義模型
pythonfrom data_handler import Model, Field class TestModel(Model): db_table = "test" a = Field() b = Field()插入
pythontest = TestModel() test.a = 5 test.b = "john" test.save()查詢
pythonfor r in TestModel.where(a=5, b="john").select(): print r.a print r.b計(jì)數(shù)
pythonprint TestModel.where(a=5, b="john").count()更新
pythonTestModel.where(a=5, b="john").update(a=1)復(fù)雜查詢請(qǐng)使用raw sql
pythonfrom data_handler import execute_raw_sql results = execute_raw_sql("select b, count(*) from test where b = %s group by b;", (1,)) for val, cnt in results: print val, cnt
代碼放GitHub了 --> QuickORM
來(lái)自:建造者說(shuō)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/37479.html
摘要:當(dāng)然還有其他高級(jí)的使用,日后再說(shuō)完整的用戶名郵箱聯(lián)系地址留言信息用戶留言信息使用之前已經(jīng)定義好了數(shù)據(jù)模型的字段元數(shù)據(jù)方法等。 前言 接續(xù)前文,上一篇文章主要涉及了 Django 項(xiàng)目的基礎(chǔ)配置等,這篇主要涉及數(shù)據(jù)庫(kù)相關(guān)的 ORM ,也就是 Django 中的 Model 的使用,MVT 三層之間的交互 教程基本都是東拼西湊的,防止有些東西表述不準(zhǔn)確,因?yàn)槲抑皩?JavaScript ...
摘要:為了將代碼規(guī)范,約定俗成將視圖放置在項(xiàng)目或應(yīng)用程序目錄中命名為文件中。必須接受字段表示字符串長(zhǎng)度不能超過(guò)該值,默認(rèn)的標(biāo)簽最常用的。例,自動(dòng)添加發(fā)布時(shí)間。以字符串的形式存在,默認(rèn)最大長(zhǎng)度,可以通過(guò)參數(shù)設(shè)置。用于保存通用唯一識(shí)別碼的字段。 MVC 大部分開(kāi)發(fā)語(yǔ)言中都有MVC框架 MVC框架的核心思想是:解耦 降低各功能模塊之間的耦合性,方便變更,更容易重構(gòu)代碼,最大程度上實(shí)現(xiàn)代碼的重...
摘要:當(dāng)使用到后者這類微型框架時(shí),根據(jù)業(yè)務(wù)場(chǎng)景不同,如果需要處理模型的建立升級(jí)和遷移的問(wèn)題,可以考慮下接下來(lái)要介紹的和。這時(shí)候檢查數(shù)據(jù)庫(kù),可以發(fā)現(xiàn)生成了張表,升級(jí)工作就完成了。而我在使用的實(shí)際項(xiàng)目中是操作的原生,異步類型的配合使用留待以后探究。 背景 Python的世界里有許多web框架:比如大而全的 Django, 提供了模型定義遷移,到路由處理,再到視圖的渲染等整套功能;比如小巧靈活的F...
閱讀 3445·2023-04-25 19:42
閱讀 1459·2021-11-23 10:11
閱讀 2441·2021-11-16 11:51
閱讀 1663·2019-08-30 15:54
閱讀 2118·2019-08-29 18:44
閱讀 1723·2019-08-23 18:24
閱讀 549·2019-08-23 17:52
閱讀 1862·2019-08-23 15:33