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.
Jenis | Saiz | Julat (ditandatangani) | Julat (tidak ditandatangani) | Tujuan |
---|---|---|---|---|
TINYINT | 1 bait | (-128, 127) | (0, 255) | Nilai integer kecil |
KECIL | 2 Bait | (-32 768, 32 767) | (0, 65 535 ) | Nilai integer yang besar |
MEDIUMINT | 3 bait | (-8 388 608, 8 388 607) | 0, 16 777 215) | Nilai integer besar |
INT atau INTEGER | 4 bait | (-2 147 483 648 , 2 147 483 647) | (0, 4 294 967 295) | Nilai integer besar |
BESAR | ><🎜(-9,223,372,036,854,775,808, 9 223 372 036 854 775 807) | (0, 18 446 744 073) >< 744 073 🎜 Nilai integer | Apung | |
(-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 | Nilai titik terapung | |
GANDA | 8 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+2 | Bergantung kepada nilai M dan D | Bergantung kepada nilai M dan D | Nilai 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.
Taip | Saiz
| julat | format < /th> | Tujuan | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TARIKH | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | Tarikh value | ||||||||||||||||||||||||||||||
TIME | 3 | '- 838 :59:59'/'838:59:59' | HH:MM:SS td > | Nilai masa atau tempoh | ||||||||||||||||||||||||||||||
TAHUN | 1< /td > | 1901/2155 | YYYY | Nilai tahun | ||||||||||||||||||||||||||||||
DATETIME | 8 | 1000-01-01 00:00:00/9999 -12 -31 23:59:59 | YYYY-MM-DD HH:MM:SS td> | Nilai tarikh dan masa bercampur | ||||||||||||||||||||||||||||||
TIMESTAMP | 4< /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<🎜> td> | YYYYMMDD HHMMSS | Nilai 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.
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255字节 | 定长字符串 |
VARCHAR | 0-65535 字节 | 变长字符串 |
TINYBLOB | 0-255字节 | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0-255字节 | 短文本字符串 |
BLOB | 0-65 535字节 | 二进制形式的长文本数据 |
TEXT | 0-65 535字节 | 长文本数据 |
MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
LONGTEXT | 0-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