說,我有這樣的SQL表如下命名hotel
:
如何使一個別名爲列在SQL
id numOfRoom
1 30
2 20
3 40
我建立與Python的web服務器,所以我用一些接口來獲取我的數據庫。
query = 'select * from hotel where id = 1'
// connect db
result = cursor.fetchone()
現在的result
類型是字典,所以我可以這樣做:
print(result['id']) # 1
print(result['numOfRoom']) #30
在我的項目,我需要生成一個JSON,並將其發送到前端:
{
"id":result['id'],
"numOfRoom":result['numOfRoom']
}
但是,在這種情況下,前端無法獲得正確的密鑰,因爲numOfRoom
不適合用戶正確使用。對於用戶來說,他們需要獲得諸如number of rooms
之類的東西。
所以,我再生一個JSON:
{
"id":result['id'],
"number of rooms":result['numOfRoom']
}
現在前端可以簡單地顯示key:value
和用戶是快樂的。
但我認爲這不是一個好主意。因爲如果我更新我的sql表,我有一個觸摸我的後端代碼。是否有可能使在SQL列別名,我馬上讓他們這樣我可以代碼來生成JSON如下:
myjson = generateEmptyJson()
foreach val in result:
myjson.append("val.getAlias()":"val.getValue()")
你將會得到什麼是數據和表示的分離。這是一件好事。將數據庫的內容暴露給用戶是最糟糕的做法。此外,JSON仍然不是要顯示給用戶的格式。有很多地方你必須給DB之外的數據給予適當的標籤。 –