最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

0801-項目實驗性筆記(1)

2023-08-01 19:41 作者:GHWNM  | 我要投稿

0801

這個項目是針對MySql為中心的

目標(biāo)是練習(xí)MySql語句和pythonMySql交互


流程:使用xly02的爬蟲爬取京東數(shù)據(jù),但是保存部分改為保存到MySql中

附帶目標(biāo):如果可以,把這個程序改為MVC架構(gòu)式


8:49

首先程序不應(yīng)該把創(chuàng)建數(shù)據(jù)庫的代碼放進(jìn)去,在控制臺手動創(chuàng)建一個新數(shù)據(jù)庫和數(shù)據(jù)表

數(shù)據(jù)庫名:PythonProject01,表名的話就叫jing_dong吧

字段(根據(jù)爬蟲的程序來,先運(yùn)行一次保存到exlec里觀察數(shù)據(jù)先):

問題記錄1:9:37

在研究了半小時后發(fā)現(xiàn)那個報錯是因為谷歌瀏覽器版本的問題,查了半天網(wǎng)上一堆網(wǎng)址沒找到ubantu版本的谷歌舊版本dep安裝包

還沒解決,先放著吧,這數(shù)據(jù)手動生成吧,表的話新建個表吧,就叫studentsV1(

id int類型 主鍵 非null 自動增長

name varchar(30)類型

age tinyint類型 無符號

gender 枚舉類型("男","女","武裝直升機(jī)","沃爾瑪購物袋")

blibli_id varchar(8)類型

is_delete bit類型,默認(rèn)值0


11:23

現(xiàn)在字段,sql語句格式,數(shù)據(jù)生成都弄好了

程序運(yùn)行能正常執(zhí)行了,不報錯

但是不知道為什么寫入部分出錯了,sql語句都正常


等下,好像不太對,我在終端里初始值變成了2000起步,正常來講應(yīng)該是0開始

程序剛好運(yùn)行了兩次,每次錄入1000個

我再運(yùn)行一次終端看看

果然是這樣,似乎程序的sql庫和終端的sql庫不在同一位面上


11:46

問題找到了,是sql里面的一個自帶的功能,是什么事務(wù)隔離,下面是GPT的話:

默認(rèn)情況下,插入數(shù)據(jù)后終端看不到的原因是MySQL的事務(wù)隔離級別設(shè)置為REPEATABLE READ(可重復(fù)讀?。?。

這意味著在同一個事務(wù)中,后續(xù)的查詢將會看到之前的快照,而不會看到已經(jīng)提交的新數(shù)據(jù)

雖然不是人話,但是反正就是得加兩行代碼在前面和后面更改隔離級別:


# 設(shè)置事務(wù)隔離級別為READ COMMITTED

cursor.execute("SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED")

......

# 提交事務(wù)

conn.commit()


這樣問題就解決......了?

不,但是前面沒設(shè)置隔離的數(shù)據(jù)我不知道咋讀取或者修改

刪也不知道咋刪,只好把這個表都刪了(

這個項目的第一個寄掉的表,拜拜

重新寫一個,這次把創(chuàng)建的代碼保存到sublime里

create table studentsV1(

? ? id int unsigned primary key not null auto_increment,

? ? name varchar(30),

? ? age tinyint unsigned default 0,

? ? gender enum("男","女","武裝直升機(jī)","沃爾瑪購物袋"),

? ? blibli_id varchar(8),

? ? is_delete bit default 0

);


好,這個程序的0.1版本可以正式宣布完成了(雖然刪除還不行,不知道為啥,下午再研究把,管他呢:D

現(xiàn)在在終端里可以正??吹匠绦?qū)懭氲臄?shù)據(jù)了,程序也能正常讀取出來了,手都有點(diǎn)抖了

下午就是看看把查詢的一些功能做出來了,比如根據(jù)名字,ID,性別查詢

吃飯時間

---------------------------------------------------------------------------------------------------



14:13

現(xiàn)在可以刪除了,原因是因為commit寫反了(

得寫在執(zhí)行sql語句的后面,不是前面


15:03

整個程序的View和Controller已經(jīng)有大體框架了,先做完查詢功能

首先是查詢的第一部分,根據(jù)名字查詢

一共可能有三種,精準(zhǔn)查詢,模糊查詢(like),正則查詢(rlike)

先用函數(shù)判斷是不是正則表達(dá)式,如果不是就直接like,如果是精準(zhǔn)的話反正也能查到對吧

缺點(diǎn):如果本來就是精準(zhǔn)再去like會降低效率,以后再改

有趣的時判斷正則的函數(shù)是通過re.compile(pattern)這句話來預(yù)編譯正則的,如果報錯就False,沒報錯就True

這句話感覺有點(diǎn)東西,回頭看看能不能用于防止Sql注入


15:24

還是老老實實讓用戶輸入哪種查詢方法吧,因為判斷正則的那個會把單純的字符也判斷進(jìn)去,比如我就輸入個'王'他也會當(dāng)成正則找

Controller.find_by_name里面加了個參數(shù)mode,決定sql語句拼接是正則,精準(zhǔn),還是模糊


16:24

查詢部分做完了,一共三部分,根據(jù)姓名查詢,根據(jù)ID查詢和直接輸入Sql語句查詢

其中Sql語句查詢我做了個權(quán)限驗證的裝飾器來裝飾

看了下感覺,十分之二三的代碼是在防呆瓜,一堆try和錯誤提醒

數(shù)據(jù)封裝啥的暫時就不做了,畢竟只做了一部分,這時候封裝容易害自己

還有一個來小時,可以試試把刪除部分也做了,至于增加修改啥的,那就下次罷(


17:06

這個部分也做完了,非??欤驗榛揪褪侵苯訌?fù)制讀取的改下返回值,參數(shù)和sql語句格式就OK了

(就是有點(diǎn)草率,沒怎么測試,以及些部分都不是真正的從物理上刪除,而是把is_delete的值改成了1,只有輸入神奇小指令GH-1730的時候才會真正刪除

但是也加了權(quán)限認(rèn)證,而且不會提示小指令,只要我自己知道)


這個感覺差不多就這樣了,今天再看看視頻就結(jié)束了,這個項目目前節(jié)點(diǎn)可以收尾了,至于增加等等就等到j(luò)ing_dong的那個課程后再繼續(xù)

到時候估計會大改表的結(jié)構(gòu),自關(guān)聯(lián)什么的都可以用起來了,今天雖然寫了這么多,但是數(shù)據(jù)框架還是那個studentsV1

還有就是烏云的文件也忒慢了,這東西格式不對不能一次放進(jìn)去,得每個zip拆開放,最后每次還有錯誤只能跳過一堆文件

等回頭有時間指定給U盤格式化了換格式


0801-項目實驗性筆記(1)的評論 (共 條)

分享到微博請遵守國家法律
尼玛县| 德钦县| 临夏市| 鹰潭市| 吴江市| 五大连池市| 贵溪市| 吐鲁番市| 东乡族自治县| 灵寿县| 武夷山市| 锡林浩特市| 达拉特旗| 靖远县| 丹棱县| 普宁市| 鄂伦春自治旗| 延庆县| 右玉县| 天祝| 新龙县| 五莲县| 林甸县| 横山县| 新丰县| 河曲县| 旺苍县| 仙居县| 张掖市| 临沂市| 黄冈市| 江华| 高密市| 磐安县| 锦州市| 五常市| 怀宁县| 抚州市| 江山市| 北宁市| 高邮市|