jenis data, kolom, operator dan fungsi · 2014. 12. 15. · tabel : tipe data blob dan text jenis...

23
Jenis Data, Kolom, Operator dan Fungsi

Upload: others

Post on 01-Feb-2021

16 views

Category:

Documents


0 download

TRANSCRIPT

  • Jenis Data, Kolom, Operator dan Fungsi

  • 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 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..

  • 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..

  • 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..

  • 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..

  • 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.

  • 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..

  • 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..

  • 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..

  • 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..

  • 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

  • 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 karakterM 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

  • 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. 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

  • 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

  • Jenis Operator pada MySQL

    Operator Fungsi ContohNOT 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

  • Operator Fungsi Contoh

    = Sama denganNama=”anwar”

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

  • 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

  • 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

  • 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>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 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