一般常見的字段類型有:varchar、int、bigint、date、timestamp、tinyint、decimal
varchar:對應的是java中的字符串,對於varchar(255)裏面的255,只是最後的展示長度,並不影響varchar本身的長度。想深入的可以自行學習。
然後關於設計:
- 如果是手機號: 一般建議先前端或者後端代碼裏面進行正則表達式,長度一般11,類型varchar。
- 訂單號、編號相關: 建議20左右,一般生成UUID會截取20左右。
- 時間類型: 一般採用時間戳timestamp,可以不寫長度,默認就行(14),也可以自己加上,對應java 7 和其之前版本使用Date、java8及其以上使用LocalDateTime。
- 金錢類型: 你可以試試float、double,看下你的老闆會不會幹掉你,推薦使用decimal,對應java裏面的BigDecimal,或者最不濟的情況下可以選擇varchar,在處理的時候就要注意了。
- 表id: 一般都是自動生成,Auto Inc,類型一般是int、varchar、bigint,長度都爲11左右,對應java Integer、String、Long。一般自增就行。
- 圖片的URL: 建議255以上起步,對於多張圖片,推薦以 ,分隔進行url的保存,這個很容易長度不足,我實際生產中設置爲1000,這個根據你上傳文件時,文件的取名有關,以及文件保存目錄層級有關。
- 關於外鍵: 一般使用邏輯外鍵能解決的,就不要使用物理外鍵,一般類型也是與改表id一致(int、varchar、bigint)。
- true/false: 對應數據庫中的tinyint,一般長度是1,java中是boolean。
- status: 顯示狀態相關的,一般使用int,長度一般是1即可。
- 對於Age:推薦使用int,長度3即可。
- 身高體重: 推薦使用float、double,長度5。
- 性別: 命名爲gender,一般可以選擇使用int,長度爲1,以0、1來區分;可以使用varchar,man和women,長度爲5。
- 文本、備註等: 使用varchar,長度控制在255左右。
- 其他:: 關於數字型、整型使用int 長度不超過11,超過使用bigint,varchar推薦長度55左右。
只是個人推薦,具體需要更具業務需求來設置,大部分場景可以這樣設計,只是個人意見,提供參考,有問題歡迎探討。