mysql與python實踐之商品查詢

2021-10-08 19:12:25 字數 3393 閱讀 8025

實踐1:

基本操作:

『』』建立connection 獲取cursor

執行查詢 執行命令 獲取資料 處理資料

關閉cursor 關閉connection

『』』

import pymysql

# 1.連線mysql資料庫

conn = pymysql.connect(host=

'127.0.0.1'

,port=

3306

,user=

'root'

,passwd=

'root'

,db=

'mb'

,charset=

'utf8'

)# 傳入一些引數 db database縮寫

# 2.獲取cursor 游標物件 通過連線物件獲取

cs = conn.cursor(

)# 3. 通過游標物件執行sql

r = cs.execute(

'select * from goods;'

)#有返回值,且為受影響記錄的行數

print

(r)# 4.獲取資料

print

(cs.fetchone())

#獲取第一條資料

print

(cs.fetchone())

# 游標是會跟著動的 顯示第2條資料

# 4.1 獲取多條資料

print

(cs.fetchmany(5)

)#預設是返回1條

#是乙個雙重元組 可以獲取多個

print

(cs.fetchall())

print

(cs.fetchone())

# 5.1 關閉游標

cs.close(

)# 5.2 關閉連線

conn.close(

)

實踐2:

已有goods表,在此基礎上完成查詢

「」"使用物件導向完成商品查詢

• 輸入1:查詢所有商品

• 輸入2:所有商品種類

• 輸入3:查詢所有品牌

• 輸入4:退出

• 輸入5:插入資料

「」"

import pymysql

classmb(

object):

def__init__

(self)

: self.conn = pymysql.connect(host=

'127.0.0.1'

, port=

3306

, user=

'root'

, passwd=

'root'

, db=

'mb'

, charset=

'utf8'

) self.cs = self.conn.cursor(

)def

run(self)

:while

true

: num = self.print_menu(

)#靜態方法也是物件的,所以加self

if num ==

'1':

self.show_all_goods(

)elif num ==

'2':

self.show_all_cates(

)elif num ==

'3':

self.show_all_brands(

)elif num ==

'4':

break

elif num ==

'5':

self.insert_data(

)else

:print

('輸入有誤'

)#靜態方法 可以省空間,在使用時不佔記憶體,因為例項方法在定義的時候不需要例項空間

@staticmethod

defprint_menu()

:print

('-------mb shop-----'

)print

('輸入1:查詢所有商品'

)print

('輸入2:所有商品種類'

)print

('輸入3:查詢所有品牌'

)print

('輸入4:退出'

)print

('輸入5:插入資料'

) num =

input

('請輸入 '

)return num

defshow_all_goods

(self)

: sql =

'select * from goods;'

# self.cs.execute(sql)

# res = self.cs.fetchall()

# for data in res:

# print(data)

#print(res)

#return res

self.execute_sql(sql)

defshow_all_cates

(self)

: sql =

'select * from goods_cates;'

self.execute_sql(sql)

defshow_all_brands

(self)

: sql =

'select brand_name from goods group by brand_name;'

self.execute_sql(sql)

definsert_data

(self)

: sql =

"insert into lcy (name) values ('mm');"

self.cs.execute(sql)

self.conn.commit(

)def

execute_sql

(self,sql)

: self.cs.execute(sql)

res = self.cs.fetchall(

)for data in res:

print

(data)

def__del__

(self)

: self.conn.close(

)def

main()

: mb = mb(

) mb.run(

)if __name__ ==

'__main__'

: main(

)

Python正則之再學習與實踐

昨天做網頁爬取的時候,感覺自己對正則不熟悉的很,故今天再花上午時間認真整理下,不可懈怠。1.常見正規表示式符號 1 literal 匹配文字字串的字面值literal 2 re1 re2 匹配正規表示式re1或者re2 foo bar 3 匹配任何字元 除 n b.b 4 匹配字串的起始部分 dea...

python實踐之json檔案讀取與修改某個值

最近做的工作中用到了python讀取與修改json檔案,在處理json檔案時將物件看做字典 將陣列看做列表,json就是物件中巢狀列表再巢狀物件的乙個可遞迴的資料結構,處理起來比較麻煩,最初頭疼,頭疼了一會就想轍了,最終當然是想出轍來了,於是有了這篇文章。總共的步驟有3步 其中用到的知識點是 巢狀型...

SVD演算法與python實踐

svd演算法在氣象的分析中經常有用到,主要是用來比較兩個場的相關結構關係,做一下說一下該演算法的自我體會。首先作為引入,首先要提到之前將到的eof和pca的分解方法。eof或pca主要計算步驟是矩陣的特徵值和特徵向量的計算一樣 eof裡面是將m個格點或者是pca裡面m個成分的協方差矩陣進行特徵值分解...