jenis data MySQL


Jenis data MySQL

Jenis medan data yang ditakrifkan dalam MySQL adalah sangat penting untuk pengoptimuman pangkalan data anda.

MySQL menyokong berbilang jenis, yang boleh dibahagikan secara kasar kepada tiga kategori: jenis berangka, tarikh/masa dan rentetan (karakter).

Untuk butiran mengenai jenis data khusus mysql, sila lihat tutorial video: Panduan Pembangunan Autoritatif MySQL (Tutorial)

Jenis Numerik

MySQL menyokong semua jenis data angka SQL standard.

Jenis ini termasuk jenis data berangka yang ketat (INTEGER, SMALLINT, PERPULUHAN dan ANGKA), dan anggaran jenis data berangka (FLOAT, REAL dan DOUBLE PRESISION).

Kata kunci INT ialah sinonim untuk INTEGER dan kata kunci DEC ialah sinonim untuk DECIMAL.

Jenis data BIT menyimpan nilai medan bit dan menyokong jadual MyISAM, MEMORY, InnoDB dan BDB.

Sebagai lanjutan daripada standard SQL, MySQL juga menyokong jenis integer TINYINT, MEDIUMINT dan BIGINT. Jadual berikut menunjukkan storan dan julat yang diperlukan untuk setiap jenis integer.

><🎜 (-9,223,372,036,854,775,808, 9 223 372 036 854 775 807)(0, 18 446 744 073) >< 744 073 🎜 Nilai integerApung4 Bait(-3.402 823 466 E+38, -1.175 494 351 E-38), 0, (1.175 494 351 E-38 823 466 351 E+38)0, (1.175 494 351 E-38, 3.402 823 466 E+38)Ketepatan tunggal
JenisSaizJulat (ditandatangani) Julat (tidak ditandatangani) Tujuan
TINYINT1 bait(-128, 127)(0, 255) Nilai integer kecil
KECIL2 Bait(-32 768, 32 767)(0, 65 535 ) Nilai integer yang besar
MEDIUMINT3 bait(-8 388 608, 8 388 607) 0, 16 777 215)Nilai integer besar
INT atau INTEGER4 bait (-2 147 483 648 , 2 147 483 647)(0, 4 294 967 295)Nilai integer besar
BESAR
Nilai titik terapung
GANDA8 Bait(-1.797 693 134 862 315 7 E+308, -2.225 208 073 4.225 073 4 -308), 0, (2.225 073 858 507 201 4 E-308, 1.797 693 134 862 315 7 E+308) 0, (2.225 073 858 5 34 862 315 7 E+308)Ketepatan berganda
Nilai titik terapung
PERPULUHAN untuk PERPULUHAN(M,D), jika M> ;D, ialah M+2 sebaliknya D+2Bergantung kepada nilai M dan DBergantung kepada nilai M dan DNilai perpuluhan

Jenis tarikh dan masa

Jenis tarikh dan masa yang mewakili nilai masa ialah DATETIME, DATE, TIMESTAMP, TIME dan YEAR.

Setiap jenis masa mempunyai julat nilai yang sah dan nilai "sifar" Nilai "sifar" digunakan apabila menentukan nilai haram yang tidak dapat diwakili oleh MySQL.

Jenis TIMESTAMP mempunyai ciri kemas kini automatik proprietari, yang akan diterangkan kemudian.

TaipSaiz
类型大小
(字节)
范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP4

1970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07

YYYYMMDD HHMMSS混合日期和时间值,时间戳
(bait)
julatformat < /th>Tujuan
TARIKH3 1000-01-01/9999-12-31YYYY-MM-DD Tarikh value
TIME3'- 838 :59:59'/'838:59:59'HH:MM:SSNilai masa atau tempoh
TAHUN1< /td >1901/2155YYYYNilai tahun
DATETIME81000-01-01 00:00:00/9999 -12 -31 23:59:59YYYY-MM-DD HH:MM:SS Nilai tarikh dan masa bercampur
TIMESTAMP4< /td ><🎜>1970-01-01 00:00:00/2038<🎜><🎜>Tamatkan Masa ialah <🎜>2147483647<🎜> saat, waktu Beijing <🎜>2038-1-19 11:14:07<🎜>, GMT 03:14:07 pagi pada 19 Januari 2038<🎜>YYYYMMDD HHMMSSNilai tarikh dan masa bercampur, cap masa


Jenis rentetan

Jenis rentetan merujuk kepada CHAR, VARCHAR, BINARI, VARbinARI, BLOB, TEKS, ENUM dan SET. Bahagian ini menerangkan cara jenis ini berfungsi dan cara menggunakannya dalam pertanyaan.



类型大小用途
CHAR0-255字节定长字符串
VARCHAR0-65535 字节变长字符串
TINYBLOB0-255字节不超过 255 个字符的二进制字符串
TINYTEXT0-255字节短文本字符串
BLOB0-65 535字节二进制形式的长文本数据
TEXT0-65 535字节长文本数据
MEDIUMBLOB0-16 777 215字节二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215字节中等长度文本数据
LONGBLOB0-4 294 967 295字节二进制形式的极大文本数据
LONGTEXT0-4 294 967 295字节极大文本数据


Jenis CHAR dan VARCHAR adalah serupa, tetapi ia disimpan dan diambil secara berbeza. Ia juga berbeza dari segi panjang maksimumnya dan sama ada ruang mengekor dikekalkan. Tiada penukaran kes dilakukan semasa penyimpanan atau pengambilan semula.

BINARY dan VARBINARY adalah serupa dengan CHAR dan VARCHAR, kecuali ia mengandungi rentetan binari dan bukannya rentetan bukan binari. Iaitu, ia mengandungi rentetan bait dan bukannya rentetan aksara. Ini bermakna mereka tidak mempunyai set aksara dan pengisihan serta perbandingan adalah berdasarkan nilai berangka bait nilai lajur.

BLOB ialah objek besar binari yang boleh menyimpan jumlah data yang berubah-ubah. Terdapat 4 jenis BLOB: TINYBLOB, BLOB, MEDIUMBLOB dan LONGBLOB. Mereka berbeza dalam julat storan yang boleh mereka tampung.

Terdapat 4 jenis TEKS: TINYTEXT, TEXT, MEDIUMTEXT dan LONGTEXT. Empat jenis BLOB yang sepadan mempunyai panjang storan maksimum yang berbeza, yang boleh dipilih mengikut situasi sebenar.

Lagi cadangan tutorial: Tutorial video MySQL