2012-05-30 56 views
6

我的問題是如何在Python中創建一個簡單的數據庫。我的例子是:Python數據庫

User = { 
'Name' : {'Firstname', 'Lastname'}, 
'Address' : {'Street','Zip','State'}, 
'CreditCard' : {'CCtype','CCnumber'}, 
} 

現在我可以更新該用戶的信息就好了,可是我怎麼

  1. 添加更多的用戶這個數據結構。字典詞典?
  2. 讓用戶有一個以上的信用卡,多對一的關係

感謝您的任何答覆,我一直在試圖總結我解決此頭一段時間

+2

真正的麻煩在於,這種內存中的方法變得非常混亂。如果你有一個用戶字典,你用什麼鍵?如果有重複的密鑰怎麼辦?等等 –

+0

順便說一句,你可能對這個[Python相關的數據庫列表](http://wiki.python.org/moin/DatabaseInterfaces#Native_Python_Databases)感興趣,特別是本機Python。 – kojiro

回答

10

您可能會感興趣在SQLAlchemy。它使得像SQLite或MySQL這樣的實際數據庫更像Python類。

4

您可以用Python創建一個簡單的數據庫sqlite,這裏有一個基本的tutorial

+1

我敢肯定,這會容易得多,但我的教授有點刺耳,並希望我們學習艱難的方式 –

5

我見過的大多數鍵值存儲庫都是字典的字典(如mongo *)或字符串字典(如redis)。這兩種方法都有優點和缺點。我不知道你想要什麼,所以我給了簡單的答案:

Users = [] 
Users.append({ 
    'Name' : {'Firstname', 'Lastname'}, # Are these sets? 
    'Address' : {'Street','Zip','State'}, 
    'CreditCard' : {'CCtype','CCnumber'}, 
}) 

* OK,說句公道話,蒙戈更像是魔法字符串的字典:使用詞典列表去。它是json,但是查找是在內部處理的,所以你可以把它當作一個任意(但是json序列化)數據結構的字典。

4

1。將更多用戶添加到此數據結構。字典詞典?

詞典的列表。

[{'name': ...}, {'name': ...}] 

2.讓用戶有一個以上的信用卡,多對一的關係

列表。

{'name': ..., 'creditcard': [['type', 'number'], ['type', 'number']]} 
+1

哦,太好了,謝謝,我只需要找到一種方法來創建基於此結構的用戶。謝謝 –

4

創建一個User類來存儲信息。該類可以具有creditcards屬性,該屬性是的CreditCard類實例,可以在創建類時或在以後使用可定義的類方法添加到類實例中。其他方法可以在調用時根據需要更新此(和其他)屬性。它被稱爲面向對象編程(OOP)。

實例可以存儲在各種內置容器類的實例中的內存中,例如listdict。它們可以存儲在磁盤上,稍後使用pickle,shelve,jsonsqlite3模塊進行檢索,僅舉幾例。

你不想做任何以前沒有做過的事 - 這是個好消息,因爲這意味着有很多現成的軟件可供您使用,但是您必須閱讀他們在文檔中,可能還會問幾個問題,直到你學會了如何使用它們,然後你就可以開始回答問題了。 ;-)

歡迎來到Python!