jenis data, kolom, operator dan fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 byte...

23
Jenis Data, Kolom, Operator dan Fungsi

Upload: docong

Post on 01-Apr-2018

238 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Jenis Data, Kolom, Operator dan Fungsi

Page 2: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

JENIS DATA

Secara umum jenis data pada MySQL dibagi menjadi 4 jenis,yaitu:• Numeric Values, yaitu angka atau bilangan.• String/Character Values, yaitu teks atau karakter.• Date and Time Values, yaitu tanggal dan waktu.• NULL

Page 3: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Numeric Values

• Numeric Values, adalah angka atau bilangan seperti 10; 123; 100.50; -10; 1.2E+17; 2.7e-11; dan sebagainya.

• Jenis data bilangan dibagi lagi menjadi dua, yaitu Bilangan Bulat(integer) dan Bilangan Pecahan (Floating point). Kedua jenis bilanganini dapat bernilai positif (+) dan juga negatif (-).

• Jika bilangan tersebut menggunakan tanda (+) atau (-), maka disebutSIGNED. Sebaliknya, bila tanpa tanda apapun disebut UNSIGNED. Karena tanda (+) dapat diabaikan penulisannya, maka pada bilanganyang bernilai positif disebut juga unsigned.

Jenis Data Cont..

Page 4: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Character Values

• adalah semua karakter (atau teks) yang penulisannya diapit oleh tanda kutip, baik kutip tunggal maupun kutip ganda.

• Untuk angka yang ditulis dengan tanda kutip akan dianggap sebagai karakteratau string (bukan Numeric Values).

• Contoh penulisan teks yang benar adalah sebagai berikut:• "Jl. Surabaya No. 34"• 'Kota Malang'• "Saya suka masakan ini"• ‘123456'• "Saya akan berkunjung ke rumahmu pada hari Jum'at depan"

Jenis Data Cont..

Page 5: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Date and Time Values,

• format standar (default) penulisan tanggal adalah "Tahun-Bulan-Tanggal" (“YYYY-MM-DD”).

• Misalkan untuk 22 Januari 2002, dituliskan "2002-01-22". Untuk menampilankannya, kita bisa menggunakan fungsi DATE_FORMAT() yang dapatdisesuaikan dengan kebutuhan kita.

• Untuk penulisan waktu, formatnya adalah "Jam:Menit:Detik" (“HH:MM:SS”). Contoh, "13:55:07". Data tanggal dan waktu bisa digabung penulisan-nya, menjadi“2002-01-22 13:55:07”.

Jenis Data Cont..

Page 6: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

NULL

• NULL sebenarnya bukan data, tapi dia mewakili sesuatu yang "tidakpasti", 'tidak diketahui", atau “belum ada nilainya”.

• NULL tidak identik dengan angka NOL (0).

• Sebagai contoh, selama melakukan survei mengenai berapa jumlah pengguna sistem operasi Linux dan Windows di Indonesia, data pastinya bel-um dapat diketahui sebelum survei tersebut dilakukan secara tuntas.Oleh sebab itu, data tersebut bisa diwakili dengan NULL, alias belum dike-tahui atau kosong.

Jenis Data Cont..

Page 7: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Attribut Kolom/Field Pada MySQL

• Jenis kolom merupakan rincian dari tipe/jenis data yang diterapkanpada setiap kolom sebuah tabel.

• Sedangkan Atribut merupakan pelengkap dari karakteristik sebuahkolom/field.

• Pengisian attribut tambahan bersifat optional.

Page 8: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Auto Increment

• Digunakan untuk menaikan nilai sebuah kolom numerik secara otomatis dengan pertambahan nilai 1, dengan nilai awal yang digunakan pada kolom tersebut adalah 1.

• Hal yang perlu diperhatikan saat menggunakan atribut AUTO_INCREMENT, yaitu:1) Hanya bisa digunakan pada jenis kolom Integer.2) Dalam satu tabel hanya boleh ada satu kolom yang menggunakan atribut auto-in

crement.3) Kolom tersebut harus bersifat unik (unique) atau berstatus Primary Key.4) Kolom tersebut tidak boleh bersifat NULL (atribut lainnya harus NOT NULL)

Contoh:C:\Program Files\MySQL\MySQL Server 5.0\bin\>mysql -u root -h localhost -pEnter password: rootpasswordmysql>USE mydatabase;mysql>CREATE TABLE mytable1

->(nip INT UNSIGNED AUTO_INCREMENT PRIMARY KEY);

Atribut/Kolom Cont..

Page 9: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Signed dan Unsigned

• Signed digunakan apabila kolom numeric baik bilangan bulatmaupun pecahan tersebut dapat memiliki nilai negative, karena akan menggunakan tanda minus (-).

• Unsigned digunakan apabila kolom numeric tersebut tidak memiliki nilai negatif (hanya positif saja). Oleh karena itu disebuttidak bertanda atau unsigned.

Atribut/Kolom Cont..

Page 10: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

NULL / NOT NULL dan Default

• Secara default setiap kolom selalu bersifat NULL, bila kita ti-dak memberikan atau menyatakan nilai awalnya. Sebaliknya, bila kita menyatakan sebagai NOT NULL, maka sebaiknyakolom tersebut harus memiliki sebuah nilai default.

• Digunakan untuk mendeklarasikan nilai standar yangberlaku pada suatu kolom, bila tidak ada isian data yang kitamasukkan.

Atribut/Kolom Cont..

Page 11: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Zerofill

• Digunakan untuk memberikan angka nol (0) di depan nilai numeric padasuatu kolom numeric.Contoh :

mysql>CREATE TABLE myzerotable (columnzero INT(5) ZEROFILL);mysql>INSERT INTO myzerotable VALUES (1), (20), (300), (4000), (50000), 600000);mysql>SELECT FROM myzerotable;

Atribut/Kolom Cont..

Page 12: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Tabel : Tipe Data NumerikJenis Kolom Bentuk Penulisan Jangkauan Nilai Ukuran

TINYINT TINYINT [(M)][UNSIGNED][ZEROFILL]

Bilangan bulat dengan kisaran nilai:SIGNED: -128 s/d 127 UNSIGNED: 0 s/d 255

1 Byte

SMALLINT SMALLINT [(M)][UNSIGNED][ZEROFILL]

Bilangan bulat dengan kisaran nilai: SIGNED: -32768 s/d 32767 UNSIGNED: 0 s/d 65535

2 Byte

MEDIUMINT MEDIUMINT [(M)][UNSIGNED][ZEROFILL]

Bilangan bulat dengan kisaran nilai: SIGNED: -8388608 s/d 8388607 UNSIGNED: 0 s/d 1677215

3 Byte

INT INT [(M)][UNSIGNED][ZEROFILL]

Bilangan bulat dengan kisaran nilaiSIGNED:-2147683648 s/d 2147683647 UNSIGNED: 0 s/d 4294967295

4 Byte

BIGINT BIGINT [(M)][UNSIGNED][ZEROFILL]

Bilangan bulat dengan kisarannilai:SIGNED: -9223372036854775808 s/d9223372036854775807UNSIGNED:0 s/d 18446744073709551615

8 Byte

FLOAT FLOAT [(M,D)][UNSIGNED][ZEROFILL]atauFLOAT(4)

Bilangan pecahan presisi tunggal (single precision) dengan kisarannilai:Nilai minimum (tanpa nilai no])

1.175494351E-38Nilai maksimum (tanpa nilai no])6.402823466E+38

4 Byte

DOUBLE DOUBLE [(M,D)][UNSIGNED][ZEROFILL]atauFLOAT(8)

Bilangan pecahan presisi ganda(double precision) dengan kisaran nilai:Nilai minimun (tanpa nilai nol)2.2250738580720E-308Nilai maksimum (tanpa nilai nol)±1.7976931348623157E+308

8 Byte

DECIMAL DECIMAL [(M,D)] Bilangan desimal, dengan nilai M Byte tergantung pada besaran M dan D.

M Byte

Page 13: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Tabel : Tipe Data String/Character

Jenis Kolom Bentuk Penulisan Keterangan Ukuran

CHAR CHAR(M) Data string dengan lebar data yang tetap(M).Maksimum lebar data 255 karakter

M Byte

VARCHAR VARCHAR(M)Data string dengan lebar data yang bervariasi(M).Maksimum lebar data 255 karakter

M Byte

Tabel : Tipe Data BLOB dan Text

Jenis Kolom Keterangan Ukuran

TINYBLOB Data binary dengan lebar data maksimum 255 karakter M+1 Byte

BLOB Data binary dengan lebar data maksimum 65.535 karakter M+2 Byte

MEDIUMBLOB Data binary dengan lebar data maksimum 16.777.215 karakter M+3 Byte

LONGBLOB Data binary dengan lebar data maksimum 4.294.967.295 karakter M+4 Byte

TINYTEXT Data text dengan lebar data maksimum 255 karakter M+1 Byte

TEXT Data text dengan lebar data maksimum 65.535 karakter M+2 Byte

MEDIUMTEXT Data text dengan lebar data maksimum 16.777.215 karakter M+3 Byte

LONGTEXT Data text dengan lebar data maksimum 4.294.967.295 karakter M+4 Byte

Page 14: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Contoh pendeklarasian tipe data ENUM ;

•Jenis_Kelamin ENUM(“L”, “P”)•Status_Pernikahan ENUM(“Menikah”, ”Lajang”, ”Janda”, ”Duda”)•Status_Karyawan ENUM(“Karyawan Tetap”, “Karyawan Honorer”)•Ukuran_Baju ENUM(“S”, ”M”, ”L”, ”XL”)

mysql>CREATE TABLE mytable1->(nip INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,->nama VARCHAR(35) NOT NULL,->tmp_lahir VARCHAR(35) NOT NULL,->tgl_lahir DATE NULL DEFAULT “0000-00-00”,->kelamin ENUM(‘L’,’P’),->alamat VARCHAR(35) NOT NULL);

Page 15: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

• ENUM (enumeration) dan SET (himpunan) adalah jenis string khusus. Kolomnyaharus diisi dengan pilihan yang sudah ditentukan pada saat deklarasi ENUM dan SET

• Perbedaan diantara kedua tipe data tersebut adalah, pada ENUM hanya bisa dipilihsalah satu dari pilihan yang ada. Sedangkan pada SET, dapat dipilih satu atau lebihdari pilihan yang ada.

ENUM dan SET

Jenis Kolom Bentuk Dasar KeteranganENUM ENUM(nilai1, nilai2, …..,

nilaiN)Hanya dapat menampung 1 data saja daripilihan data yang ada atau NULL, denganjumlah pilihan maksimum 65.535 pilihandata.

SET SET(nilai1, nilai2, ….., nilaiN) Dapat menampung lebih dari 1 data saja daripilihan data yang ada atau NULL, denganjumlah pilihan maksimum 64 pilihan data.

Tabel : Tipe Data ENUM dan SET

Page 16: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Date dan TimeJenis Kolom Bentuk Penulisan Keterangan Ukuran

DATE - Digunakan untuk tanggal dengan format"YYYY-MM-DD". Batasan nilai dari“1000-01-01” s/d "9999-12-31”

3 Byte

DATETIME - Digunakan untuk tanggal dan waktu dengan format penulisan “YYYY-MM-DD HH:MM:SS". Batasan nilai dari “1000-01-01 00:00:00” s/d “9999-12-31 23:59:59”.

8 Byte

TIME - Digunakan untuk waktu dengan format penulisan “HH:MM:SS”.

3 Byte

TIMESTAMP TIMESTAMP[(M)] Digunakan untuk penulisan waktu dan tanggal, dengan format penulisan “YYYYMMDDhhmmss”.

4 Byte

YEAR YEAR[(2)|(4)] Digunakan untuk penulisantahun, denganformat penulisan “YYYY”. Jangkauan mulai dari tahun 1901 s/d 2155 untuk 4 digit. Dan dari 1970 sampai dengan 2069 untuk format 2 digit (ditulis 70 s/d 69).

1 Byte

Page 17: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Jenis Operator pada MySQL

Operator Fungsi Contoh

NOT atau ! Sebagai NEGASI (bukan) dari suatu nilai NOT Perempuan atau !Perempuan

OR atau ||ATAU, akan bernilai benar bila salah satuatau kedua ekspresi adalah benar.

Buah=”Jambu” OR Buah=”Mangga”AtauBuah=”Jambu” || Buah=”Mangga”

AND atau &&DAN, akan bernilai benar hanya bilaekspresi adalah benar.

Buah=”Jambu” AND Hewan=”Monyet”AtauBuah=”Jambu” && Hewan=”Monyet”

Operator Logika

Operator Fungsi

+ Melakukan penjumlahan pada operasi matematika- Melakukan pengurangan pada operasi matematika* Melakukan perkalian pada operasi matematika/ Melakukan pembagian pada operasi matematika% Melakukan proses modulus (mencari sisa bagi) pada operasi matematika

Operator Aritmatika

Page 18: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Operator Fungsi Contoh

= Sama denganNama=”anwar”

Harga=45610> Lebih dari TinggiBadan>150< Kurang dari TinggiBadan<150

>= Lebih dari atau sama dengan TinggiBadan>=150<= Kurang dari atau sama dengan TinggiBadan<=150

!= atau <> Tidak sama dengan

Nama!=”anwar”

Harga<>100

3!=2

IS NOT NULL Apakah nilai tidak NULL Nama IS NOT NULLIS NULL Apakah nilai NULL Nama IS NULL

BETWEEN … AND Apakah suatu nilai berada diantara nilai Harga BETWEEN 150 AND 500

IN Apakah suatu nilai berada diantara nilai pilihan yang ada Nama IN (“Anwar”, “Amir”)

NOT IN Apakah suatu nilai tidak berada diantara nilai pilihan yang ada

Nama NOT IN (“Anwar”, “Amir”

LIKE Apakah suatu nilai memiliki kriteria nilai yang ada Nama LIKE “An%”

NOT LIKE Apakah suatu nilai tidak memiliki kriteria nilai yang ada Nama NOT LIKE “An%”

REGEXP Nilai menjadi benar bila kedua nilai tersebut sama a REGEXP b

NOT REGEXP Nilai menjadi benar bila kedua nilai tersebut tidak sama a NOT REGEXP b

<=> Nilai menjadi benar bila kedua nilai tersebut sama a <=> b

Operator Pembanding

Page 19: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

Latihan Praktek

mysql>CREATE DATABASE ujimhsdb;mysql>USE ujimhsdb;

mysql>CREATE TABLE dosen->(kode_dosen VARCHAR(5) NOT NULL PRIMARY KEY,->nama_dosen VARCHAR(35) NOT NULL,->kelamin ENUM(‘L’,’P’),->tmp_lahir VARCHAR(35) NOT NULL,->tgl_lahir DATE NULL DEFAULT “0000-00-00”,->alamat VARCHAR(50) NOT NULL);

Membuat Database

Membuat Tabel

Page 20: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

mysql>INSERT INTO dosen->VALUES (‘D1001’,’Roy Markun’,’L’,’Bogor’,’1969-01-23’,’Jl. Mayjend. Sungkono 93’);

ataumysql>INSERT INTO dosen (kode_dosen, nama_dosen, kelamin, tgl_lahir, alamat)

->VALUES (‘D1001’,’Roy Markun’,’L’,’Bogor’,’1969-01-23’,’Jl. Mayjend. Sungkono 93’);ataumysql>INSERT INTO dosen SET

->kode_dosen=‘D1001’,->nama_dosen=’Roy Markun’,->kelamin=’L’,->tmp_lahir=’Bogor’,->tgl_lahir=’1969-01-23’,->alamat=’Jl. Mayjend. Sungkono 93’;

kode_dosen nama_dosen kelamin tmp_lahir tgl_lahir alamatD1001 Roy Markun L 1969-01-23 Jl. Mayjend. Sungkono 93D1002 Ginanjar L 1971-03-21 Jl. Ahmad Yani 100D1003 Gina Sonia P 1962-09-12 Jl. Citarum 53D1004 Ian Antono L 1970-10-11 Jl. Raden Saleh II/42D1005 Indri Jelita P Bengkulu 1973-07-19 Jl. Ahmad Yani 21D1006 Desi Ratnasari P 1970-11-09 Jl. Mayjend. Panjaitan 45D2001 Moh. Umar P 1973-12-25 Jl. Citandui 52D2002 Aisyah Kamila L 1968-10-03 Jl. Panglima Sudirman 15D2003 Ika Nurul P 1971-10-10 Jl. Sidodadi 76

Mengisi Record

Page 21: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

mysql>CREATE TABLE copy_dosen SELECT * FROM dosen;

mysql>DROP TABLE copy_dosen;

Membuat Tabel

Mengganti Nama Tabel

Menghapus Tabel

mysql>ALTER TABLE copy_dosen RENAME dosen_copy;mysql>RENAME TABLE dosen_copy TO copy_dosen;

Page 22: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

mysql>CREATE TABLE copy_dosen SELECT * FROM dosen;

Menduplikasi Tabel

mysql>CREATE TABLE dosen_copy SELECT * FROM dosen;mysql> ALTER TABLE dosen_copy CHANGE COLUMN nama_dosen nama_dsn

-> VARCHAR(45);mysql> ALTER TABLE dosen_copy MODIFY COLUMN nama_dsn CHAR(45);mysql> ALTER TABLE dosen_copy CHANGE COLUMN nama_dsn nama_dosen

-> VARCHAR(45);

Mengganti Nama dan Tipe Data Field

Page 23: Jenis Data, Kolom, Operator dan Fungsi ·  · 2014-11-27... 0 s/d 18446744073709551615 8 Byte FLOAT FLOAT [(M,D)] [UNSIGNED ... (8) Bilangan pecahan presisi ganda (double ... ±1.7976931348623157E+308

mysql> ALTER TABLE dosen_copy ADD COLUMN kota VARCHAR(45) AFTER-> alamat, ADD COLUMN telpon VARCHAR(13) AFTER kota;

Menambah Field

Merubah Urutan Fieldmysql> ALTER TABLE dosen_copy MODIFY nama_dosen VARCHAR(45) FIRST;mysql> ALTER TABLE dosen_copy MODIFY kelamin ENUM(‘L’, ’P’) AFTER tgl_lahir;mysql> ALTER TABLE dosen_copy MODIFY kode_dosen VARCHAR(5) FIRST;

mysql> ALTER TABLE dosen_copy DROP COLUMN kota, DROP COLUMN telpon;

Menghapus Field