下列資訊以 SQLite 、 MySQL 、 PostgreSQL 資料庫為主。
- 共同支援的資料型別
- 文字
- CHAR
- VARCHAR 65536
- TEXT
- 數字
- INT
- BIGINT (非標準 MySQL、PostgreSQL 都有支援)
- 日期時間
- DATETIME 用文字取代,依 ISO 8601 分析為時間日期
- PostgreSQL 不支援
- TIMESTAMP 用整數 INT 或 BIGINT 取代,代表 1970-01-01T00:00:00 GMT 至今的秒數(或毫秒數)
- MySQL 的 DATETIME 與 TIMESTAMP 只精確到秒數
- 預設值 MySQL 、 SQLite 、 PostgreSQL 都使用 CURRENT_TIME、 CURRENT_DATE 、 CURRENT_TIMESTAMP 等常數
- AUTO INCREMENT
- MySQL 用關鍵字 AUTO_INCREMEN
- SQLite 用關鍵字 AUTOINCREMEN
- PostgreSQL 用 serial 資料型別
- 替代方式
- 整數 自行撰寫下一值的函式
- 文字 用 uniqid() 這類的函式
- 內建函式
- 將計算交給應用層處理
- 註解
- ANSI SQL 使用雙短線 (--CommentSomething)
- 字串註記
- ANSI SQL 使用雙引號 ("Keyword")
- 分頁
- 本篇討論的三個 DBMS 都支援非標準的 LIMIT 語法,參見 Select (SQL) - Wikipedia, the free encyclopedia
/* page size = 10, page offset = 20*/ SELECT * FROM table 20, 10; SELECT * FROM table LIMIT 10 OFFSET 20;
No comments:
Post a Comment