關於Python和MySQL的一些必備小知識

2021-10-22 03:16:25 字數 1832 閱讀 4630

1.__init__函式 與__str__函式

__init__函式:類例項初始化

在建立類例項的時候,例項會自動呼叫這個方法,一般用來對例項的屬性進行初始化

注意:需要初始化的屬性(引數)都是在呼叫例項時的必傳引數,即有預設值或者可以空的值就不需要初始化

__str__函式:類例項字串化

當使用print輸出例項物件的時候,就會列印從在這個方法中return的資料;

注意:__str__函式的 輸出引數 必須和 __init__函式的 接收引數 保持一致!

2.python命名規則

模組名:    盡量使用小寫命名,首字母保持小寫,盡量不要用下劃線(除非多個單詞,且數量不多的情況)

類名:     使用駝峰(camelcase)命名風格,首字母大寫,私有類可用乙個下劃線開頭

函式名:    一律小寫,如有多個單詞,用下劃線隔開,私有函式在函式前加乙個下劃線_

變數名:    盡量小寫,如有多個單詞,用下劃線隔開

常量名:    採用全大寫,如有多個單詞,使用下劃線隔開

3.mysql中的主鍵與外來鍵

主鍵:唯一標識

關係型資料庫中的一條記錄中有若干個屬性,若其中某乙個屬性組(注意是組)能唯一標識一條記錄,該屬性組就可以成為乙個主鍵

外來鍵:關聯兩張表

使用條件:

(1).兩個表必須是innodb表,myisam表暫時不支援外來鍵(據說以後的版本有可能支援,但至少目前不支援);

(2).外來鍵列必須建立了索引,mysql 4.1.2以後的版本在建立外來鍵時會自動建立索引,但如果在較早的版本則需要顯示建立; 

(3).外來鍵關係的兩個表的列必須是資料型別相似,也就是可以相互轉換型別的列,比如int和tinyint可以,而int和char則不可以;

好處:可以使得兩張表關聯,保證資料的一致性和實現一些級聯操作;

總結:定義主鍵和外來鍵主要是為了維護關聯式資料庫的完整性

1.主鍵是能確定一條記錄的唯一標識

比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重複,所以,身份證號是主鍵。 

2.外來鍵用於與另一張表的關聯。是能確定另一張表記錄的字段,用於保持資料的一致性。

比如,a表中的乙個字段,是b表的主鍵,那他就可以是a表的外來鍵。

主鍵、外來鍵、索引之間的區別:

關於索引:

參考文章:

索引詳解:

主鍵與索引:

4.mysql表資料中的key

檢視資料庫表結構,發現key可能會有4種值,即'啥也沒有','pri','uni','mul'

空:   那麼該列值的可以重複, 表示該列沒有索引, 或者是乙個非唯一的復合索引的非前導列

pri:  primary key     主鍵

uni:  unique key      唯一,不能為空

mul:  multiple key    外來鍵,可重複,可以為空

關於python的 和

在python中的 和 除了分別表示乘法運算和冪運算外還有其它作用。在python中可能會經常看到類似於def function1 args,kwargs 的函式定義形式,或者看到function1 v1,v2 的函式呼叫形式,很多沒看到過的人可能會不知所以。下面分別說明 在函式定義時,表示可變位置...

關於MySQL的TPS和QPS

tps transactions per second 每秒傳輸的事物處理個數 這是指伺服器每秒處理的事務數,支援事務的儲存引擎如innodb等特有的乙個效能指標。計算方法 tps com commit com rollback uptime use information schema selec...

關於python和rabbitmq的那點事兒

rabbitmq是乙個訊息中介軟體,在之前的zmq介紹中有略帶提過。由於zmq的硬傷 無法方便儲存 監控中間過程 故而工作中一直都是使用的 兔子 從1.7.0到現在的2.6.1版本 個人嘗試過的 rabbitmq有著許多令人欣喜 驚嘆的變化 或者說是進步 先來簡單介紹下當前版本 兔子 的閃光點 1....