Mysql字段簡介

1. mysql字段與Java屬性類型對照表:

類型名稱 顯示長度 數據庫類型 JAVA類型 JDBC類型索引(int) 描述
           
VARCHAR L+N VARCHAR java.lang.String 12  
CHAR N CHAR java.lang.String 1  
BLOB L+N BLOB java.lang.byte[] -4  
TEXT 65535 VARCHAR java.lang.String -1  
           
INTEGER 4 INTEGER UNSIGNED java.lang.Long 4  
TINYINT 3 TINYINT UNSIGNED java.lang.Integer -6  
SMALLINT 5 SMALLINT UNSIGNED java.lang.Integer 5  
MEDIUMINT 8 MEDIUMINT UNSIGNED java.lang.Integer 4  
BIT 1 BIT java.lang.Boolean -7  
BIGINT 20 BIGINT UNSIGNED java.math.BigInteger -5  
FLOAT 4+8 FLOAT java.lang.Float 7  
DOUBLE 22 DOUBLE java.lang.Double 8  
DECIMAL 11 DECIMAL java.math.BigDecimal 3  
BOOLEAN 1 同TINYINT      
           
ID 11 PK (INTEGER UNSIGNED) java.lang.Long 4  
           
DATE 10 DATE java.sql.Date 91  
TIME 8 TIME java.sql.Time 92  
DATETIME 19 DATETIME java.sql.Timestamp 93  
TIMESTAMP 19 TIMESTAMP java.sql.Timestamp 93  
YEAR 4 YEAR java.sql.Date 91





 

2.date,datetime,timestamp的區別和相互轉換

date:你直接就可以理解爲2017-3-21 不帶時分秒的

datetime:相反,則是帶時分秒的 

timestamp:時間戳 很好理解(1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數。)



其中有提到時間範圍的問題:

時間範圍

date -- > '1000-01-01' to '9999-12-31'.

datetime --> '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.

timestamp -- > '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC


常用日期函數以及轉換

1、獲取當前日期:
 CURRENT_DATE()或者CURDATE()

2、獲取當前時間:
CURRENT_TIME()或者CURTIME()

3、獲取當前日期和時間
NOW()或者CURRENT_TIMESTAMP()

4、linux/unix時間戳和mysql時間日期類型之間的轉換:
UNIX_TIMESTAMP(NOW())                 //將mysql的datetime轉換成linux/unix的時間戳;日期時間
UNIX_TIMESTAMP(DATE(NOW()))          //將mysql的date轉換成linux/unix的日期。
UNIX_TIMESTAMP(TIME(NOW()))          //將mysql的time轉換成linux/unix的時間。(用問題)
FROM_UNIXTIME(time_t)                //將unix的時間戳轉換成mysql的datetime;日期時間
DATE(FROM_UNIXTIME(time_t))          //日期
TIME(FROM_UNIXTIME(time_t))          //時間

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章