Ada tiga tipe data yang digunakan MySQL:
1. Numeric (Integer/Numbers/Money) / Bilangan
2. String (Text)
3. Date (Dates and Time)
Bilangan / Numeric
UNSIGNED adalah bilangan tanpa tanda - didepannya
| TINYINT | 1 byte bilangan bulat / integer dengan range -128 ~ 127 range UNSIGNED adalah 0 ~ 255 |
| SMALLINT | 2 byte bilangan bulat / integer dengan range -32768 ~ 32767 range UNSIGNED adalah 0 ~ 65535 |
| MEDIUMINT | 3 byte bilangan bulat / integer dengan range -8388608 ~ 8388607 range UNSIGNED adalah 0 ~ 16777215 |
| INT INTEGER | 4 byte bilangan bulat / integer dengan range -2147683648 ~ 2147683647 range UNSIGNED adalah 0 ~ 4294967295 |
| BIGINT | 8 byte bilangan bulat / integer dengan range -9223372036854775808 to 9223372036854775807 range UNSIGNED adalah 0 ~ 184467440737079551615 |
| FLOAT | 4 byte bilangan pecahan / floating point presisi tunggal tidak dapat bersifat UNSIGNED |
| REAL DOUBLE DOUBLE PRECISION | 8 byte bilangan pecahan / floating point presisi ganda tidak dapat bersifat UNSIGNED |
| NUMERIC(M,D) DECIMAL(M,D) | M byte bilangan pecahan / floating point yang disimpan sebagai string tidak dapat bersifat UNSIGNED |
Karakter / String
| CHAR(x) | string dengan lebar tetap range dari x adalah 1 ~ 255 |
| VARCHAR(x) | string dengan lebar bervariasi range dari x adalah 1 ~ 255 |
| TINYTEXT | 255 karakter / 255 byte case insensitive |
| TEXT | 65535 karakter / 64K byte case insensitive |
| MEDIUMTEXT | 1677215 karakter / 16M byte case insensitive |
| LONGTEXT | 4294967295 karakter / 4G byte case insensitive |
| TINYBLOB | karakter / 255 byte case sensitive |
| BLOB | karakter / 64K byte case sensitive |
| MEDIUMBLOB | 1677215 karakter / 16M byte case sensitive |
| LONGBLOB | 4294967295 karakter / 4G byte case sensitive |
| ENUM('nilai1','nilai2',...) | sebuah enumerasi, yang hanya memiliki sebuah nilai dari daftar nilai, maximum 65535 nilai |
| SET('nilai1','nilai2',...) | sebuat set, yang memiliki 0 atau lebih nilai yang harus dipilih dari daftar nilai, maximum memiliki 64 anggota |
Tanggal dan Jam / Dates and Time
| DATE | tanggal dengan range '1000-01-01' sampai dengan '9999-12-31' DATE dalam format "YYYY-MM-DD" |
| TIME | jam dengan range '-838:59:59' sampai '838:59:59' TIME format adalah "HH:MM:SS" |
| DATETIME | kombinasi tanggal dan jam dengan range '1000-01-01 00:00:00' sampai dengan '9999-12-31 23:59:59' DATETIME format adalah "YYYY-MM-DD HH:MM:SS" |
| TIMESTAMP | kombinasi tanggal dan jam dengan range '1970-01-01 00:00:00' sampai dengan tahun 2037 TIMESTAMP format adalah "YYYY-MM-DD HH:MM:SS" |
| YEAR | 4 digit dengan range 1901 dan 2155 YEAR format adalah "YYYY" |