iT邦幫忙

2024 iThome 鐵人賽

DAY 25
0

中的部分是建立資料庫的步驟1.2講解

產生資料表:
使用SQLAlchemy資料庫的Model類別

語法:

class 資料表名稱(db.Model):
        欄位名稱 = db.Column(資料類型,其他參數)

def __repr__(self):
return '資料表內容'

資料類型:

類別名稱 說明 參數
Integer 整數類型
String 字串類型 length(字數),預設為沒有限制
Float 浮點數 precision(精確度)
Number 整數或浮點數 precision(精確度)、length(長度)
DateTime 日期時間
Binary 二進制類型,如影像 length(長度),預設為沒有限制

例:
先規劃資料表的內容

欄位名稱 資料類型 欄位大小 說明 備註
id Integer(整數) 自動設置 留言編號 自動編號,此欄為資料表的主鍵
guestname String(字串) 30 留言者的名字 必填
email String(字串) 50 電子郵件 不可重複、必填
message Text(大量文字) 留言內容 必填
icon String(字串) 10 圖示名稱 必填
postdate DateTime(日期時間) 留言的日期與時間 必填,預設為留言時間

再依照規劃的內容產生對應資料表

class Guestbook(db. Model):

id = db.Column(db.Integer, primary_key=True)
guestname = db.Column(db.String(30), nullable=False)
email = db.Column(db.String(50), unique=True, nullable=False)
message = db.Column(db.Text, nullable=False)
icon = db.Column(db.String (10), nullable=False,
default='ico1.png') 
postdate = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)


def __repr__(self):
      return 'guestname: {}, email:{},postdate: {}' . format(
             self.guestname,
             self.email, 
             self.postdate
      )

primary_key:主鍵,每個資料表都必須包含一個足以識別該資料的唯一值
nullable:可不可空白
unique:唯一值
datetime.utcnow:當前時間


上一篇
Day24 資料庫(1)
下一篇
Day26 資料庫(3)
系列文
從0開始學PYTHON30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言