總共3個py檔
分別為"資料庫","創建資料","讀取資料"
資料庫
import os from peewee import * from datetime import date fileName = 'data.db' db = SqliteDatabase(fileName) class Ball(Model): name = CharField() date = DateField() speed = CharField() class Meta: database = db if __name__=='__main__': fileExist = os.path.isfile(fileName) db.connect() db.create_tables([Ball], safe=True) if not fileExist: print("create") steven = Ball(name='steven', date=date(2017, 9, 30), speed='3m/s') steven.save() else: print("read") for ball in Ball.select(): print(ball.name, ball.date, ball.speed) db.close()
os模組在python裡是用來處理一些檔案or路徑or目錄的問題
而我們資料庫因需記錄時間所以也必須導入時間模組
執行結果
一開始數據庫不存在
在執行一次後因為資料庫存在了便顯示read然後顯示出剛剛第一次執行創出來的資料
創建資料
from peewee import *
from datetime import date
from data import Ball, db #導入data裡面寫好的資料表格式if name=='main':
db.connect()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | db.create_tables([Ball],safe=True)
print("create") #print create.
steven = Ball(name='steven', date=date(2017, 9, 30), speed='3m/s') #創建一筆叫做steven的資料,沿用在data.py裡寫好的格式
steven.save() # 將資料儲存在資料庫(database)裡
goodhaha = Ball(name='goodhaha', date=date(2017, 10, 1), speed='2m/s')
goodhaha.save()
db.close()
|
讀取資料
from peewee import * from data import Ball, db if __name__=='__main__': . db.connect() print("read") db.create_tables([Ball], safe=True) for ball in Ball.select(): #檢索資料 print(ball.name, ball.date, ball.speed) #按照格式打印出資料 db.close() #disconnect database.
執行結果
注意!!
這裡的寫法為串聯寫法(一行一行執行,若是某行出錯,以下的程式都不會執行)
這樣不行
這樣才可以
Comments
comments powered by Disqus