Tipe-tipe data MySQL
MySQL dapat mengetahui
beberapa tipe data antara lain :
- Data Numerik
MySQL
dapat menerima masukan berupa angka-angka yang dibagi atasa integer (angka
tanpa pecahan) dan floating-point (angka dengan pecahan).
MySQL
juga mengerti notasi scientific yaitu integer atau floating-point yang diikuti
tanda ‘e’ atau ‘E’, tanda ‘+’ atau ‘-‘. Misalnya angka 1.34E+12 atau 3.23e-5.
- Data Karakter/String
Merupakan
deretan huruf yang membentuk kata yang diapit oleh tanda petik (‘’) atau tanda
petik ganda (“”).
- Data Waktu
Merupakan
data yang berisi tanggal (date) dan jam (time) misalnya “2001-10-15” untuk
tanggal dengan format YYYY-MM-DD dan “12:45:15” untuk jam dengan format hh:mm:ss.
- Data kosong (NULL)
NULL
berarti kosong atau tidak diisi data atau bisa juga berarti data yang tidak
jelas, data yang hilang ataupun yang lainnya.
1
Tipe-tipe kolom MySQL
Setiap
table yang dibuat dalam database selalu terdiri atas kolom-kolom. Katika anda
membuatnya dengan perintah CREATE
TABLE, anda harus menentukan tipe masing-masing kolom.
Tiap tipe kolom memiliki karakteristik berikut :
- Jenis harga apa yang dapat
diisikan
- Berapa banyak ruang yang
dapat menampung harga tersebut
- Bagaimana harga dari tipe
tersebut dibandingkan dan disaring
- Apakah tipe tersebut boleh mengisi
dengan NULL atau tidak
- Apakah tipe tersebut boleh
diindeks atau tidak
Secara
garis besar kolom MySQL terbagi menjadi tiga tipe yaitu :
- Tipe kolom Numerik
- Tipe kolom Karakter/String
- Tipe kolom Waktu
Selanjutnya akan
dijelaskan dengan singkat anggota-anggotanya.
2 Tipe Numerik
Tipe ini
untuk harga integer dan floating-point. Untuk integer kolom haruslah PRIMARY
KEY atau indeks yang unik jika ia diberi atribut AUTO_INCREMENT (dapat otomatis
mengurutkan angka). Jika diberikan atribut UNSIGNED berarti angka tidak boleh
negatif. Sedangkan atribut ZEROFILL menandakan bahwa angka diawali dengan angka
nol.
- TINYINT
Berarti
integer dengan range yang sangat kecil yaitu –27 sampai 27-1
atau 0 sampai 28-1 jika UNSIGNED. Atribut yang dibolehkan adalah
AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau
0 jika NOT NULL dengan peyimpanan 1 byte.
- SMALLINT
Berarti integer dengan range yang kecil yaitu –215
sampai 215-1 atau 0 sampai 216-1 jika UNSIGNED. Atribut
yang dibolehkan adalah AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default
adalah NULL jika bisa atau 0 jika NOT NULL dengan peyimpanan 2 byte.
- MEDIUMINT
Berarti
integer dengan range yang sangat kecil yaitu –223 sampai 223-1
atau 0 sampai 224-1 jika UNSIGNED. Atribut yang dibolehkan adalah
AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau
0 jika NOT NULL dengan peyimpanan 3 byte.
- INT
Berarti
integer dengan range yang normal yaitu –231 sampai 231-1
atau 0 sampai 232-1 jika UNSIGNED. Atribut yang dibolehkan adalah
AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau
0 jika NOT NULL dengan peyimpanan 4 byte.
- BIGINT
Berarti
integer dengan range yang sangat kecil yaitu –263 sampai 263-1
atau 0 sampai 264-1 jika UNSIGNED. Atribut yang dibolehkan adalah
AUTO_INCREMENT,UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika bisa atau
0 jika NOT NULL dengan peyimpanan 8 byte.
- FLOAT
Berarti floating-point dengan range kecil yaitu antara +1.175494351E-38
sampai +3.402823466E+38 serta dengan single presisi. Atribut yang
dibolehkan adalah ZEROFILL. Harga default NULL jika bisa atau 0 jika NOT NULL.
Tempat penyimpanan 4 byte.
- DOUBLE
Berarti floating-point dengan range besar yaitu antara +2.22507385072014E-308
sampai +1.7976931348623157E308 serta dengan double presisi. Atribut
yang dibolehkan adalah ZEROFILL. Harga default NULL jika bisa atau 0 jika NOT
NULL. Tempat penyimpanan 8 byte.
- DECIMAL(M,D) atau
NUMERIC(M,D)
Berarti
floating-point yang tersimpan sebagai string (1 byte untuk setiap digit, tanda
desimal, atau tanda ’-‘). Range harga sama seperti DOUBLE. Atribut yang
dibolehkan adalah ZEROFILL. Tempat penyimpanan sebesar M byte. Jika D diisi 0
berarti tidak punya nilai desimal.
3
Tipe String
§ CHAR(M)
Karakter
dengan panjang 0 sampai M byte. Atribut yang dibolehkan adalah BINARY. Harga
default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat pemyimpanan M
byte.
§ VARCHAR
Variabel
karakter dengan panjang 0 sampai M byte. Atribut yang dibolehkan adalah BINARY.
Harga default adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat pemyimpanan
M+1 byte.
§ TINYTEXT
Teks
berukuran kecil dengan panjang 0 sampai 28-1 byte. Harga default
adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak
panjang harga plus 1 byte.
§ TEXT
Teks yang
normal dengan panjang 0 sampai 216-1 byte. Harga default adalah NULL
jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak panjang harga
plus 2 byte.
§ MEDIUMTEXT
Teks
berukuran sedang dengan panjang 0 sampai 224-1 byte. Harga default
adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak
panjang harga plus 3 byte.
§ LONGTEXT
Teks
berukuran besar dengan panjang 0 sampai 232-1 byte. Harga default
adalah NULL jika bisa atau “ “ jika NOT NULL. Tempat penyimpanan sebanyak
panjang harga plus 4 byte.
§ ENUM(“harga1”,”harga2”,…)
Berarti
kolom hanya boleh diisi dengan salah satu dari harga yang ada. Harga default
adalah NULL jika bisa atau harga1 jika NOT NULL. Tempat penyimpanan adalah 1
byte untuk enumerasi dengan anggota 1 sampai 255 dan 2 byte untuk enumerasi
dengan anggota 256 sampai 65535.
§ SET(“harga1”,”harga2”,…)
Berarti
kolom boleh dikosongi atau diisi dengan beberapa harga dari daftar harga yang
ada. Harga default adalah NULL jika bisa atau ” “ jika NOT NULL. Tempat
penyimpanan adalah 1 byte untuk set
dengan anggota 1 sampai 8, 2 byte untuk set dengan anggota 9 sampai 16,
3 byte untuk set dengan anggota 17 sampai 24, 4 byte untuk set dengan anggota
25 sampai 32, atau 8 byte untuk set dengan anggota 33 sampai 64.
4
Tipe Waktu
§
DATE
Untuk
kolom tanggal dengan format YYYY-MM-DD dan range antara “1000-01-01”
sampai “9999-12-31”. Harga default adalah NULL jika bisa atau “0000-00-00” jika
NOT NULL. Tempat penyimpanan 3 byte.
§ TIME
Untuk
kolom jam dengan format hh:mm:ss atau -hh:mm:ss untuk harga
negatif. Range harga antara “-838:59:59” sampai “838:59:59”. Harga default
adalah NULL jika bisa atau “00:00:00” jika NOT NULL. Tempat penyimpanan 3 byte.
§ DATETIME
Gabungan
antar hari dan jam dengan format YYYY-MM-DD hh:mm:ss dan range antar “1000-01-01 00:00:00” sampai “9999-12-31 23:59:59”. Harga default adalah NULL jika
bisa atau “0000-00-00 00:00:00” jika NOT
NULL. Tempat penyimpanan 8 byte.
§ TIMESTAMP
Hampir
sama dengan DATETIME tapi dengan format YYYYMMDDhhmmss dan range antara
19700101000000 sampai suatu saat di tahun 2037. Harga default adalah hari dan
jam saat itu. Tempat penyimpanan 4 byte.
§ YEAR
Untuk
kolom tahun denga format YYYY dan range antara 1900 sampai 2155. Harga
default adalah NULL jika bisa atau 0000 jika NOT NULL. Tempat penyimpanan 3
byte.
No comments:
Post a Comment