Jenis MySQL data
MySQL tipe data definisi dalam bidang optimasi database Anda sangat penting.
MySQL mendukung banyak jenis dapat dibagi menjadi tiga kategori: numerik, tanggal / waktu dan tali (karakter) jenis.
nilai Type
MySQL mendukung semua standar SQL tipe data numerik.
jenis ini termasuk yang ketat jenis numerik data (INTEGER, SMALLINT, DECIMAL dan NUMERIC), serta perkiraan jenis data numerik (FLOAT, REAL dan DOUBLE PRECISION).
Kata kunci INT adalah sinonim untuk INTEGER, dan kata kunci Desember adalah sinonim untuk DECIMAL.
BIT tipe data toko bit-bidang nilai-nilai dan mendukung MyISAM, MEMORY, InnoDB dan BDB tabel.
Sebagai standar SQL, MySQL juga mendukung tipe integer TINYINT, MEDIUMINT dan BIGINT. Tabel berikut menunjukkan penyimpanan dan range untuk setiap tipe integer diperlukan.
jenis | ukuran | Range (Signed) | Range (unsigned) | penggunaan |
---|---|---|---|---|
TINYINT | 1 byte | (-128.127) | (0255) | nilai integer kecil |
SMALLINT | 2 bytes | (768,32 -32 767) | (535 0,65) | nilai integer |
MEDIUMINT | 3 byte | (-8388 608,8 388 607) | (0,16 777.215) | nilai integer |
INT atau INTEGER | 4 bytes | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | nilai integer |
BIGINT | 8 bytes | (-9.233.372.036.854.775 808,9 223.372.036.854.775 807) | (0,18 446.744.073.709.551 615) | nilai integer maksimum |
FLOAT | 4 bytes | (-3,402 823 466 E + 38,1.175 494 351 E-38), 0, (1,175 494 351 E-38,3.402 823 466 351 E + 38) | 0, (1,175 494 351 E-38,3.402 823 466 E + 38) | Presisi tunggal nilai floating-point |
DOUBLE | 8 bytes | (1,797 693 134 862 315 7 E + 308,2.225 073 858 507 201 4 E-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 507 201 4 E-308,1.797 693 134 862 315 7 E + 308) | Ganda-presisi floating-point |
DECIMAL | Dari DECIMAL (M, D), jika M> D, M + 2 adalah sebaliknya D + 2 | Hal ini tergantung pada nilai-nilai M dan D | Hal ini tergantung pada nilai-nilai M dan D | nilai desimal |
Tanggal dan Waktu Jenis
Hal ini menunjukkan tanggal dan waktu untuk jenis nilai waktu dari DATETIME, DATE, TIMESTAMP, TIME, dan TAHUN.
Setiap jenis memiliki rentang waktu nilai-nilai yang valid dan nilai "nol", menggunakan nilai "nol" ketika nilai MySQL melanggar hukum yang ditentukan tidak dapat diwakili.
Jenis TIMESTAMP memiliki proprietary fitur update otomatis, yang akan dijelaskan kemudian.
jenis | ukuran (Byte) | cakupan | format | penggunaan |
---|---|---|---|---|
DATE | 3 | 1000/01/01 / 9999-12-31 | YYYY-MM-DD | nilai tanggal |
WAKTU | 3 | '-838: 59: 59' / '838: 59: 59' | HH: MM: SS | nilai waktu atau durasi |
TAHUN | 1 | 1901/2155 | YYYY | Nilai tahun |
DATETIME | 8 | 1000-01-0100: 00: 00 / 9999-12-31 23:59:59 | YYYY-MM-DD HH: MM: SS | Pencampuran tanggal dan waktu nilai-nilai |
TIMESTAMP | 4 | Beberapa waktu 00/2037 Tahun: 1970/01/01 00:00 | YYYYMMDD HHMMSS | Pencampuran tanggal dan nilai waktu, timestamp |
tipe string
Hal ini mengacu pada tipe string CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, dan SET. Bagian ini menjelaskan bagaimana jenis ini bekerja dan bagaimana menggunakan jenis dalam query.
jenis | ukuran | penggunaan |
---|---|---|
CHAR | 0-255 bytes | Fixed-string panjang |
VARCHAR | 0-65535 bytes | string variabel-panjang |
TINYBLOB | 0-255 bytes | Tidak lebih dari 255 karakter dalam string biner |
TINYTEXT | 0-255 bytes | string teks singkat |
BLOB | 0-65535 bytes | data teks yang panjang dalam bentuk biner |
TEXT | 0-65535 bytes | Data teks panjang |
MEDIUMBLOB | 0-16777215 bytes | bentuk biner dari data teks panjang menengah |
MEDIUMTEXT | 0-16777215 bytes | data teks menengah panjang |
LONGBLOB | 0-4294967295 bytes | data teks besar dalam bentuk biner |
LONGTEXT | 0-4294967295 bytes | data teks besar |
CHAR serupa dan jenis VARCHAR, tetapi mereka menyimpan dan mengambil cara yang berbeda. Panjang maksimum mereka dan apakah spasi dipertahankan, itu juga berbeda. Penyimpanan atau proses pengambilan tanpa konversi kasus.
Binary dan VARBINARY Jenis mirip dengan CHAR dan VARCHAR, kecuali bahwa mereka mengandung string biner daripada string non-biner. Artinya, mereka mengandung string byte bukan string karakter. Ini berarti bahwa mereka tidak memiliki set karakter, dan menyortir dan perbandingan didasarkan pada nilai-nilai numerik dari byte.
Blob adalah objek besar biner yang dapat menyimpan sejumlah variabel data. Ada empat jenis blob: TINYBLOB, blob, MEDIUMBLOB dan LONGBLOB. Mereka berbeda hanya mengakomodasi nilai panjang maksimum.
Ada empat jenis TEXT: TINYTEXT, TEXT, MEDIUMTEXT dan LONGTEXT. Ini sesuai dengan empat jenis tipe blob, memiliki maksimum panjang dan persyaratan penyimpanan yang sama.