25 Kasım 2021 Perşembe

Sütun Tipleri

1. INT Tipler
INT Sütun Tipleri yazısına taşıdım

2. Fixed-Point Types (Exact Value)
DECIMAL 
NUMERIC 

Diğer veri tabanlarında DECIMAL ve NUMERIC arasında fark olabiliyor. Mesela DECIMAL(5,2) tanımlansa bile 5'ten daha fazla precision'a (yani toplam rakam sayısı) izin veriyor. MySQL buna da izin vermiyor. Açıklaması şöyle
The SQL standard requires that the precision of NUMERIC(M,D) be exactly M digits. For DECIMAL(M,D), the standard requires a precision of at least M digits but permits more. In MySQL, DECIMAL(M,D) and NUMERIC(M,D) are the same, and both have a precision of exactly M digits.
3. Boolean Tipi
Boolean Sütun Tipleri yazısına taşıdım

4. Date and Time Tipleri
DATE YYYY-MM-DD format
TIME hh:mm:ss' format (or 'hhh:mm:ss' format for large hours values
YEAR YYYY

DATETIME YYYY-MM-DD hh:mm:ss[.fraction]
Açıklaması şöyle
The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD hh:mm:ss' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.
Sütun Tipleri - TIMESTAMP yazısına taşıdım

5. Non-Binary String Tipleri
Non-Binary String Tipleri yazısına taşıdım

6. Binary String Tipleri
BINARY         A fixed-length binary string
VARBINARY         A variable-length binary string
BLOB ve türevlerini BLOB yazısına taşıdım

BINARY
byte[] gibi bir şey bu sütuna yazılabilir.
Örnek
Şöyle yaparız
CREATE TABLE set1m (
  id BINARY(16) NOT NULL PRIMARY KEY
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
Örnek
Hibernate ile SQL üretiyorsak sütün tipini kontrol etmek için şöyle yaparız
// Text
@Lob(type = LobType.CLOB, fetch = FetchType.LAZY)  
@Column
public String getDtaContent() {  
  return dtaContent;  
}  

// MediumText
@Lob(type = LobType.CLOB, fetch = FetchType.LAZY)  
@Column(length = 16777215)  
public String getDtaContent() {  
  return dtaContent;  
}  

// LongText
@Lob(type = LobType.CLOB, fetch = FetchType.LAZY)  
@Column(length = 16777216)  
public String getDtaContent() {  
  return dtaContent;  
}  

7. Diğer Tipler
ENUM         An enumeration; each column value may be assigned one enumeration member
SET                 A set; each column value may be assigned zero or more SET members

8. Java Karşılıkları
MySQL Type Java Type
CHAR, VARCHAR, LONGVARCHAR String
TEXT String
TINYINT byte
SMALLINT short
INT (INTEGER) int
BIGINT long
NUMERIC, DECIMAL java.math.BigDecimal
REAL float
FLOAT, DOUBLE double
BIT boolean
BINARY, VARBINARY, LONGVARBINARY    byte[]
BLOB, MEDIUMBLOB, LARGEBLOB    byte[]
DATE java.sql.Date
TIME java.sql.Time
DATETIME, TIMESTAMP java.sql.Timestamp



Hiç yorum yok:

Yorum Gönder

Soft Delete

Giriş Açıklaması  şöyle When using the soft delete mechanism on the database, you might run into a situation where a record with a unique co...