jenis data, kolom , operator dan fungsi
Post on 24-Feb-2016
87 Views
Preview:
DESCRIPTION
TRANSCRIPT
Jenis Data, Kolom, Operator dan Fungsi
Oleh : OMAN SOMANTRI, S.Kom
D3 TEKNIK KOMPUTERPOLITEKNIK HARAPAN BERSAMA TEGAl
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
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 bilangan ini dapat bernilai positif (+) dan juga negatif ( ). ‑
• Jika bilangan tersebut menggunakan tanda (+) atau ( ), maka ‑disebut SIGNED. Sebaliknya, bila tanpa tanda apapun disebut UNSIGNED. Karena tanda (+) dapat diabaikan penulisannya, maka pada bilangan yang bernilai positif disebut juga unsigned.
Jenis Data Cont..
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 karakter atau 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..
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 dapat disesuaikan dengan kebutuhan kita.
• Untuk penulisan waktu, formatnya adalah "Jam:Menit:Detik" (“HH:MM:SS”). Contoh, "13:55:07". Data tanggal dan waktu bisa digabung penulisannya, menjadi “2002 01 22 13:55:07”.‑ ‑
Jenis Data Cont..
NULL
• NULL sebenarnya bukan data, tapi dia mewakili sesuatu yang "tidak pasti", '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 belum dapat diketahui sebelum survei tersebut dilakukan secara tuntas. Oleh sebab itu, data tersebut bisa diwakili dengan NULL, alias belum diketahui atau kosong.
Jenis Data Cont..
Attribut Kolom/Field Pada MySQL
• Jenis kolom merupakan rincian dari tipe/jenis data yang diterapkan pada setiap kolom sebuah tabel.
• Sedangkan Atribut merupakan pelengkap dari karakteristik sebuah kolom/field.
• Pengisian attribut tambahan bersifat optional.
Auto Increment• Digunakan untuk menaikan nilai sebuah kolom numerik secara otomatis
dengan pertambahan nilai 1, dengan nilai awal yang digunakan pada kolorn 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 increment.‑3) Kolorn tersebut harus bersifat unik (unique) atau berstatus Primary Key.4) Kolorn 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..
Signed dan Unsigned
• Signed digunakan apabila kolom numeric baik bilangan bulat maupun 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 disebut tidak bertanda atau unsigned.
Atribut/Kolom Cont..
NULL / NOT NULL dan Default
• Secara default setiap kolom selalu bersifat NULL, bila kita tidak memberikan atau menyatakan nilai awalnya. Sebaliknya, bila kita menyatakan sebagai NOT NULL, maka sebaiknya kolom tersebut harus memiliki sebuah nilai default.
• Digunakan untuk mendeklarasikan nilai standar yang berlaku pada suatu kolom, bila tidak ada isian data yang kita masukkan.
Atribut/Kolom Cont..
Zerofill
• Digunakan untuk memberikan angka nol (0) di depan nilai numeric pada suatu 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..
Tabel : Tipe Data NumerikJenis
KolomBentuk
PenulisanJangkauan Nilai Ukura
nTINYINT 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 nilai SIGNED:‑2147683648 s/d 2147683647 UNSIGNED: 0 s/d 4294967295
4 Byte
BIGINT BIGINT [(M)][UNSIGNED][ZEROFILL]
Bilangan bulat dengan kisaran nilai:
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 kisaran nilai: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
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 TextJenis 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
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);
• ENUM (enumeration) dan SET (himpunan) adalah jenis string khusus. Kolomnya harus diisi dengan pilihan yang sudah ditentukan pada saat deklarasi ENUM dan SET.
• Perbedaan diantara kedua tipe data tersebut adalah, pada ENUM hanya bisa dipilih salah satu dari pilihan yang ada. Sedangkan pada SET, dapat dipilih satu atau lebih dari pilihan yang ada.
ENUM dan SET
Jenis Kolom Bentuk Dasar KeteranganENUM ENUM(nilai1, nilai2, …..,
nilaiN)Hanya dapat menampung 1 data saja dari pilihan data yang ada atau NULL, dengan jumlah pilihan maksimum 65.535 pilihan data.
SET SET(nilai1, nilai2, ….., nilaiN)
Dapat menampung lebih dari 1 data saja dari pilihan data yang ada atau NULL, dengan jumlah pilihan maksimum 64 pilihan data.
Tabel : Tipe Data ENUM dan SET
Date dan TimeJenis Kolom Bentuk
PenulisanKeterangan 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
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 satu atau kedua ekspresi adalah benar.
Buah=”Jambu” OR Buah=”Mangga”AtauBuah=”Jambu” || Buah=”Mangga”
AND atau &&
DAN, akan bernilai benar hanya bila ekspresi 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
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<>1003!=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
Latihan Parktek
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
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 alamat
D1001 Roy Markun L 1969‑01‑23
Jl. Mayjend. Sungkono 93
D1002 Ginanjar L 1971‑03‑21
Jl. Ahmad Yani 100
D1003 Gina Sonia P 1962‑09‑12
Jl. Citarum 53
D1004 Ian Antono L 1970‑10‑11
Jl. Raden Saleh II/42
D1005 Indri Jelita P Bengkulu 1973‑07‑19
Jl. Ahmad Yani 21
D1006 Desi Ratnasari
P 1970‑11‑09
Jl. Mayjend. Panjaitan 45
D2001 Moh. Umar P 1973-12-25
Jl. Citandui 52
D2002 Aisyah Kamila
L 1968-10-03
Jl. Panglima Sudirman 15
D2003 Ike Nurjannah
P 1971-10-10
Jl. Sidodadi 76
Mengisi Record
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;mysql>RENAME TABLE copy_mahasiswa TO
mahasiswa_copy, ->matakuliah_dosen TO matakuliah_copy;
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
mysql> ALTER TABLE dosen_copy ADD COLUMN kota VARCHAR(45) AFTER -> alamat, ADD COLUMN telpon VARCHAR(13) AFTER kota;
Menambah Field
Merubah Urutan Field
mysql> 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
top related