mysql建表

要求:MYSQL建表設置某列當前時間爲系統時間

需要字段:

public class Cost {
	private Integer id;
	private String name;
	private Integer baseDuration;
	private Double baseCost;
	private Double unitCost;
	private String status;
	private String descr;
	private Date createTime;
	private Date startTime;
	private String costType;
}
CREATE TABLE COST(
  ID       int not null auto_increment ,
  NAME       varchar(50)  not null,
  BASE_DURATION     int,
  BASE_COST     double,
  UNIT_COST     double,
  STATUS     char(1),
  DESCR       varchar(100),
  CREATIME     timestamp not null default current_timestamp,
  STARTIME     timestamp,
  primary key (ID)
  )engine=innodb default charset=gbk;

INSERT INTO COST(NAME,BASE_DURATION,BASE_COST,UNIT_COST ,STATUS ,DESCR,CREATIME,STARTIME,COST_Type) 
VALUES ('5.9元套餐',20,5.9,0.4,0,'5.9元20小時/月,超出部分0.4元/時',DEFAULT,NULL,NULL);

INSERT INTO COST VALUES (1,'5.9元套餐',20,5.9,0.4,0,'5.9元20小時/月,超出部分0.4元/時',DEFAULT,NULL);
INSERT INTO COST VALUES (2,'6.9元套餐',40,6.9,0.3,0,'6.9元40小時/月,超出部分0.3元/時',DEFAULT,NULL);
INSERT INTO COST VALUES (3,'8.5元套餐',100,8.5,0.2,0,'8.5元100小時/月,超出部分0.2元/時',DEFAULT,NULL);
INSERT INTO COST VALUES (4,'10.5元套餐',200,10.5,0.1,0,'10.5元200小時/月,超出部分0.1元/時',DEFAULT,NULL);
INSERT INTO COST VALUES (5,'計時收費',null,null,0.5,0,'0.5元/時,不使用不收費',DEFAULT,NULL);
INSERT INTO COST VALUES (6,'包月',null,20,null,0,'每月20元,不限制使用時間',DEFAULT,NULL);
(字節) 範圍 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 時間值或持續時間
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和時間值
TIMESTAMP 8 1970-01-01 00:00:00/2037 年某時 YYYYMMDD HHMMSS 混合日期和時間值,時間戳

DATE、TIME 和 TEAR 類型
  MySQL 用 DATE 和 TEAR 類型存儲簡單的日期值,使用 TIME 類型存儲時間值。這些類型可以描述爲字符串或不帶分隔符的整數序列。如果描述爲字符串,DATE 類型的值應該使用連字號作爲分隔符分開,而 TIME 類型的值應該使用冒號作爲分隔符分開。

  需要注意的是,沒有冒號分隔符的 TIME 類型值,將會被 MySQL 理解爲持續的時間,而不是時間戳。

  MySQL 還對日期的年份中的兩個數字的值,或是 SQL 語句中爲 TEAR 類型輸入的兩個數字進行最大限度的通譯。因爲所有 TEAR 類型的值必須用 4 個數字存儲。MySQL 試圖將 2 個數字的年份轉換爲 4 個數字的值。把在 00-69 範圍內的值轉換到 2000-2069 範圍內。把 70-99 範圍內的值轉換到 1970-1979 之內。如果 MySQL 自動轉換後的值並不符合我們的需要,請輸入 4 個數字表示的年份。

DATEYIME 和 TIMESTAMP 類型
   除了日期和時間數據類型,MySQL 還支持 DATEYIME 和 TIMESTAMP 這兩種混合類型。它們可以把日期和時間作爲單個的值進行存儲。這兩種類型通常用於自動存儲包含當前日期和時間的時間戳,並可在需要執行大量數據庫事務和需要建立一個調試和審查用途的審計跟蹤的應用程序中發揮良好作用。

  如果我們對 TIMESTAMP 類型的字段沒有明確賦值,或是被賦與了 null 值。MySQL 會自動使用系統當前的日期和時間來填充它。




發佈了35 篇原創文章 · 獲贊 7 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章