Saturday, 23 February 2013

Tipe-tipe data MySQL


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