Unggulan
- Dapatkan link
- X
- Aplikasi Lainnya
Tentang Software Database MySQL dan Bahasa SQL (Structured Query Languange)
Software Database MySQL dan Bahasa SQL
(Structured Query Languange)
Apilkasi MySQL terdiri dari dua bagian, yaitu MySQL Server yang berjalan sebagai service atau daemon, beberapa perintah yang dijalankan dari command prompt atau shell yang digunakan untuk administrasi server, dan MySQL Client yang menyediakan antar muka untuk melakukan administrasi database di MySQL Server.
Untuk tutorial administrasi server, dengan menggunakan MySQLAdmin bawaan dari MySQL itu sendiri. MySQLAdmin dijalankan dari shell atau command prompt. Di Windows, untuk memanggil MySQLAdmin adalah sebagai berikut :
C:\apache2triad\mysql\bin>mysqladmin perintah
Daftar perintah mysqladmin sebagai berikut :
Ping memeriksa keberadaan mysqld
Processlist menampilkan seluruh proses aktif
Status menampilkan status dari server
Version menampilkan versi server mysql
dll.
Untuk tutorial administrasi database, dengan menggunakan MySQLClient. MySQLClient dijalankan dari shell atau command prompt. Di Windows, untuk memanggil MySQLClient adalah sebagai berikut :
C:\apache2triad\mysql\bin>mysql
Setelah itu, shell atau command prompt akan berganti menjadi shell MySQL sebagai berikut :
mysql>
*) dengan catatan bahwa user dan passwordnya belum ada perubahan.
Prompt Arti
mysql> Siap untuk perintah baru
-> Menunggu baris perintah berikutnya
‘> Menunggu baris perintah berikutnya, karena pernyataan yang diawali dengan tanda petik satu (‘) belum ditutup dengan tanda yang sama
“> Menunggu baris perintah berikutnya, karena pernyataan yang diawali dengan tanda petik dua (‘’) belum ditutup dengan tanda yang sama.
Perintah yang dituliskan tidak bersifat case sensitive, jadi baik huruf kapital maupun huruf kecil tidak dibedakan. Setiap perintah harus diakhiri dengan tanda titik koma ( ; ) sebelum dieksekusi. Kecuali perintah quit dan exit.
Operasi-operasi yang umum dilakukan di MySQLClient.
1. Memilih database
mysql> use namadatabase;
2. Melihat informasi mengenai tabel dan database
mysql> show databases;
à untuk melihat daftar database yang tersedia di server
*) database yang sudah ada sejak MySQL diinstal yaitu database ‘mysql’ dan ‘test’. Database ‘mysql’ berisi data-data tentang user, password, nama host, dsb. Dan database ‘test’ merupakan database untuk latihan.
mysql> show tables from mysql;
atau
mysql> show tables;
à untuk melihat tabel-tabel yang terdapat pada database bernama ‘mysql’. Dengan catatan, database ‘mysql’ telah dipilih.
mysql> show columns from db;
atau
mysql> desc db;
à untuk melihat kolom/field yang terdapat pada tabel ‘db’ yang terdapat pada database mysql. Namun, sebelumnya database mysql harus dipilih dulu.
*) desc = describe
dll.
- Membuat database baru
mysql> create database namadatabase;
- Menghapus database
mysql> drop database namadatabase;
- Membuat tabel baru
Sebelum membuat tabel, sebuah database harus dipilih dulu.
mysql> create table namatabel ( nama_field1 spek_field1, ..., nama_field_berikutnya spek_field_berikutnya );
spek_field : diisi tipedata, dan index field yang diperlukan.
- Memodifikasi tabel
mysql> alter table namatabel spesifikasi [, spesifikasi, ...];
Daftar spesifikasi yang disediakan adalah sebagai berikut:
· ADD [COLUMN] definisi_pembuatan [FIRST | AFTER nama_kolom ]
· ADD [COLUMN] (definisi_pembuatan, definisi_pembuatan,...)
· ADD INDEX [nama_indeks] (nama_kolom_indeks,...)
· ADD PRIMARY KEY (nama_kolom_indeks,...)
· ADD UNIQUE [nama_indeks] (nama_kolom_indeks,...)
· ADD FULLTEXT [nama_indeks] (nama_kolom_indeks,...)
· ADD [CONSTRAINT symbol] FOREIGN KEY nama_indeks (nama_kolom_indeks,...) [definisi_referensi]
· ALTER [COLUMN] namakolom {SET DEFAULT literal | DROP DEFAULT}
· CHANGE [COLUMN] namakolom_lama definisi_pembuatan
· MODIFY [COLUMN] definisi_pembuatan
· DROP [COLUMN] namakolom
· DROP PRIMARY KEY
· DROP INDEX nama_indeks
· RENAME [TO] namabaru
· ORDER BY kolom
· table_options
Contoh :
mysql> ALTER TABLE anggota ADD COLUMN telepon VARCHAR (12) not null;
à untuk menambah kolom bernama telepon dengan tipe data varchar.
mysql> ALTER TABLE peminjam MODIFY id_buku BIGINT(5);
à untuk merubah tipe data field ‘id_buku’ dengan BigInt dengan ukuran 5 pada tabel ‘peminjam’.
mysql> ALTER TABLE buku CHANGE index_buku id_judul VARCHAR(15);
à untuk merubah nama field ‘index_buku’ dengan ‘id_judul’ yang bertipe varchar dengan ukuran 15.
mysql> ALTER TABLE judul_buku ADD id_penerbit VARCHAR(5) AFTER judul;
à untuk menyisipkan field ‘id_penerbit’ ke dalam tabel ‘judul_buku’ diletakkan setelah field judul.
mysql> ALTER TABLE anggota DROP no_hp;
à untuk menghapus field ‘no_hp’ pada tabel ‘anggota’.
mysql> ALTER TABLE peminjam RENAME transaksi;
à untuk merubah nama tabel ‘peminjam’ menjadi ‘transaksi’.
- Menghapus tabel
mysql> drop table namatabel;
- Query data
Query data adalah pengambilan data dari satu tabel atau lebih.
mysql> select * from anggota;
à untuk menampilkan seluruh data dari tabel anggota.
mysql> select * from anggota where kota=’Surabaya’;
à untuk menampilkan semua kolom pada tabel anggota yang berada pada kota ‘Surabaya’
mysql> select noid, nama, kelamin, tempatlahir from karyawan2 where kelamin=”P”;
à untuk menampilkan isi dari field ‘noid’,’nama’,’kelamin’,’tempatlahir’ dari tabel ‘karyawan2’ yang berjenis kelamin “P”.
mysql> select noid, nama, kelamin, tempatlahir from karyawan2 where kelamin=”P” order by nama;
à untuk menampilkan isi dari field ‘noid’,’nama’,’kelamin’,’tempatlahir’ dari tabel ‘karyawan2’ yang berjenis kelamin “P” dengan urutan berdasarkan nama secara ASCENDING.
mysql> select noid, nama, kelamin, tempatlahir from karyawan2 where kelamin=”P” order by nama DESC;
à untuk menampilkan isi dari field ‘noid’,’nama’,’kelamin’,’tempatlahir’ dari tabel ‘karyawan2’ yang berjenis kelamin “P” dengan urutan berdasarkan nama secara DESCENDING.
mysql> select * from anggota order by nama;
à untuk menampilkan semua kolom pada tabel anggota dengan urut nama secara ASCENDING.
mysql> select * from anggota order by nama DESC;
à untuk menampilkan semua kolom pada tabel anggota dengan urut nama secara DESCENDING.
mysql> select noid, nama, kelamin, tempatlahir from karyawan2 order by nama;
à untuk menampilkan isi dari field ‘noid’,’nama’,’kelamin’,’tempatlahir’ dari tabel ‘karyawan2’ dengan urutan berdasarkan nama secara ASCENDING.
mysql> select noid, nama, kelamin, tempatlahir from karyawan2 order by nama DESC;
à untuk menampilkan isi dari field ‘noid’,’nama’,’kelamin’,’tempatlahir’ dari tabel ‘karyawan2’ dengan urutan berdasarkan nama secara DESCENDING.
mysql> select nama, kelamin, tgllahir
-> from karyawan3
-> order by tgllahir;
à untuk menampilkan isi dari field ‘nama’,’kelamin’,’tgllahir’ dari tabel ‘karyawan3’ dengan urutan berdasarkan ‘tgllahir’ secara ASCENDING.
mysql> select nama, kelamin, tgllahir
-> from karyawan3
-> order by tgllahir DESC;
à untuk menampilkan isi dari field ‘nama’,’kelamin’,’tgllahir’ dari tabel ‘karyawan3’ dengan urutan berdasarkan ‘tgllahir’ secara DESCENDING.
mysql> select nomor, nama from anggota;
à untuk menampilkan isi dari field nomor dan nama pada tabel anggota.
mysql> select count(*) from anggota;
à untuk menghitung jumlah record pada tabel anggota.
mysql> select kota from anggota;
à untuk menampilkan kota pada tabel anggota.
mysql> select distinc kota from anggota;
à untuk menampilkan kota dengan tidak menampilkan kota yang sama pada tabel anggota.
mysql> select nama,email from anggota where email like ‘%yahoo.com’;
à untuk menampilkan nama dan email yang mempunyai email di ‘yahoo.com’
VARIASI PERINTAH select DENGAN OPERATOR PEMBANDING DAN OPERATOR LOGIKA
|
Operator Pembanding |
Keterangan |
|
> |
Lebih besar |
|
< |
Lebih Kecil |
|
>= |
Lebih besar atau sama dengan |
|
<= |
Lebih kecil atau sama dengan |
|
= |
Sama dengan |
|
<> |
Tidak sama dengan |
|
Operator Logika |
Keterangan |
|
AND atau && |
Dan |
|
OR atau | | |
Atau |
|
NOT atau ! |
Lebih besar atau sama dengan |
|
<= |
Lebih kecil atau sama dengan |
|
<> |
Tidak sama dengan |
URUTAN OTORITAS DARI PARA OPERATOR
|
Paling Tinggi |
BINARY |
|
|
NOT ! |
|
- (unary minus) |
|
|
* / % |
|
|
+ - |
|
|
<< >> |
|
|
& |
|
|
| |
|
|
< <= = <=> != <> >= > IN IS LIKE REGEXP RLIKE |
|
|
BETWEEN |
|
|
AND && |
|
|
Paling Rendah |
OR | | |
mysql> select noid, nama, kelamin, tempatlahir
-> from karyawan2
-> where tempatlahir=’jakarta’;
à untuk menampilkan isi dari field ‘noid’,’nama’,’kelamin’,’tempatlahir’ dari tabel ‘karyawan2’ yang lahir di jakarta.
mysql> select noid, nama, kelamin, tempatlahir
-> from karyawan2
-> where tempatlahir=’jakarta’ AND kelamin=’P’
-> ;
à untuk menampilkan isi dari field ‘noid’,’nama’,’kelamin’,’tempatlahir’ dari tabel ‘karyawan2’ yang lahir di jakarta dan dengan jenis kelamin perempuan.
mysql> select noid, nama, kelamin, tempatlahir
-> from karyawan2
-> where tempatlahir=’jakarta’
-> OR tempatlahir=’yogyakarta’;
à untuk menampilkan isi dari field ‘noid’,’nama’,’kelamin’,’tempatlahir’ dari tabel ‘karyawan2’ yang lahir di jakarta dan yogyakarta.
mysql> select noid, nama, kelamin, tempatlahir
-> from karyawan2
-> where (tempatlahir=’jakarta’
-> OR tempatlahir=’yogyakarta’)
-> AND kelamin=’P’;
à untuk menampilkan isi dari field ‘noid’,’nama’,’kelamin’,’tempatlahir’ dari tabel ‘karyawan2’ yang lahir di jakarta dan yogyakarta serta berjenis kelamin perempuan.
mysql> select nama, kelamin, tgllahir
-> from karyawan3
-> where tgllahir > “1970-01-01”
-> order by tgllahir;
à untuk menampilkan isi dari field ‘nama’,‘kelamin’,‘tgllahir’ dari tabel ‘karyawan3’ yang tanggal lahirnya melebihi tanggal 1 Januari 1970 dan diurut berdasarkan tanggal lahir secara ASCENDING.
mysql> select nama, kelamin, tgllahir
-> from karyawan3
-> where tgllahir <= “1970-01-01”
-> order by tgllahir;
à untuk menampilkan isi dari field ‘nama’,‘kelamin’,‘tgllahir’ dari tabel ‘karyawan3’ yang tanggal lahirnya kurang dari atau sama dengan tanggal 1 Januari 1970 dan diurut berdasarkan tanggal lahir secara ASCENDING.
Jika ada record yang isi datanya NULL dan kita ingin menampilkan data tersebut.
mysql> select noid, nama, telprumah, ponsel
-> from karyawan3 ;
-> where telprumah= ‘NULL’
-> and ponsel= ‘NULL’
-> ;
à untuk menampilkan isi dari field ‘noid’,’nama’,’telprumah’,’ponsel’ dari tabel ‘karyawan3’ yang tidak mempunyai ‘telprumah’ dan tidak mempunyai ‘ponsel’.
mysql> select noid, nama, telprumah, ponsel
-> from karyawan3 ;
-> where telprumah= ‘NULL’
-> or ponsel= ‘NULL’
-> ;
à untuk menampilkan isi dari field ‘noid’,’nama’,’telprumah’,’ponsel’ dari tabel ‘karyawan3’ yang tidak mempunyai ‘telprumah’ atau tidak mempunyai ‘ponsel’.
mysql> select noid, nama, telprumah, ponsel
-> from karyawan3 ;
-> where telprumah != ‘NULL’
-> and ponsel != ‘NULL’
-> ;
à untuk menampilkan isi dari field ‘noid’,’nama’,’telprumah’,’ponsel’ dari tabel ‘karyawan3’ yang mempunyai ‘telprumah’ dan mempunyai ‘ponsel’.
mysql> select noid, nama, telprumah, ponsel
-> from karyawan3
-> where telprumah != ‘NULL’
-> and ponsel = ‘NULL’
-> ;
à untuk menampilkan isi dari field ‘noid’,’nama’,’telprumah’,’ponsel’ dari tabel ‘karyawan3’ yang hanya mempunyai ‘telprumah’ dan tidak mempunyai ‘ponsel’.
mysql> select noid, nama, telprumah, ponsel
-> from karyawan3 ;
-> where telprumah = ‘NULL’
-> and ponsel != ‘NULL’
-> ;
à untuk menampilkan isi dari field ‘noid’,’nama’,’telprumah’,’ponsel’ dari tabel ‘karyawan3’ yang hanya mempunyai ‘ponsel’ dan tidak mempunyai ‘telprumah’.
OPERATOR LIKE dan NOT LIKE
mysql> select noid, nama from karyawan3 where nama LIKE “a%”;
à untuk menampilkan isi dari field ‘noid’,’nama’ dari tabel ‘karyawan3’ yang namanya berawalan huruf “a”.
mysql> select noid, nama from karyawan3 where nama LIKE “%i”;
à untuk menampilkan isi dari field ‘noid’,’nama’ dari tabel ‘karyawan3’ yang namanya berakhiran huruf “i”.
mysql> select noid, nama from karyawan3 where nama LIKE “%wati”;
à untuk menampilkan isi dari field ‘noid’,’nama’ dari tabel ‘karyawan3’ yang namanya berakhiran “wati”.
Dalam contoh diatas tersebut, operator LIKE tidak membedakan huruf besar dengan huruf kecil. Semuanya dianggap sama. Lalu, agar operator LIKE bisa membedakan huruf besar dengan huruf kecil cukup dengan menambahkan kata BINARY saja setelah perintah LIKE (jadinya LIKE BINARY).
mysql> select noid, nama from karyawan3 where nama LIKE BINARY “%Di%”;
à untuk menampilkan isi dari field ‘noid’,’nama’ dari tabel ‘karyawan3’ yang bukan diawal atau diakhir kalimat, tapi berada diantara sebuah kata/kalimat. Contoh hasil yang akan tampil :
noid nama
1 Suwanto Dipura
23 Jumanto Dipuro
Untuk operator NOT LIKE prinsipnya sama saja dengan LIKE.
OPERATOR REGEXP ( REGular EXPressions )
Merupakan bentuk lain dari operator LIKE, dengan fungsi yang lebih disempurnakan. Operator REGEXP biasanya ditemani juga dengan simbol-simbol tertentu dalam melaksanakan tugasnya, seperti :
|
Simbol |
Keterangan |
|
. |
Satu tanda titik (.) untuk mewakili satu karakter |
|
[ ... ] |
Untuk mewakili beberapa karakter atau range yang ditentukan |
|
^ |
Untuk posisi awal dari sebuah kriteria yang ditentukan |
|
$ |
Untuk posisi akhir dari sebuah kriteria yang ditentukan |
mysql> select noid, nama from karyawan3 where nama REGEXP “^a”;
à untuk menampilkan isi dari field ‘noid’,’nama’ dari tabel ‘karyawan3’ yang namanya berawalan huruf “a”.
mysql> select noid, nama from karyawan3 where nama REGEXP “^[a-d]” order by nama;
à untuk menampilkan isi dari field ‘noid’,’nama’ dari tabel ‘karyawan3’ yang namanya berawalan huruf “a” sampai dengan huruf “d” dan diurut berdasarkan ‘nama’ secara ASCENDING.
mysql> select noid, nama from karyawan3 where nama REGEXP “i$”;
à untuk menampilkan isi dari field ‘noid’,’nama’ dari tabel ‘karyawan3’ yang namanya berakhiran huruf “i”.
mysql> select noid, nama from karyawan3 where nama REGEXP “wati$”;
à untuk menampilkan isi dari field ‘noid’,’nama’ dari tabel ‘karyawan3’ yang namanya berakhiran “wati”.
mysql> select noid, nama from karyawan3 where nama REGEXP “^. . . . . . . . . .$”;
à untuk menampilkan isi dari field ‘noid’,’nama’ dari tabel ‘karyawan3’ yang namanya dengan panjang 10 karakter. Perhatikan penulisan tanda titiknya ada 10 buah. Atau bisa juga ditulis dengan :
mysql> select noid, nama from karyawan3 where nama REGEXP “^.{10}$”;
- Menyisipkan data
Data yang disisipkan dapat berupa data yang diambil dari tabel lain, ataupun data yang berupa nilai-nilai tertentu yang disebutkan secara eksplisit.
Untuk data yang diambil dari tabel lain, sintaksnya adalah sebagai berikut:
INSERT [INTO] namatabel [(namafield,...)] perintah SELECT
Untuk data yang disebutkan secara eksplisit, sintaksnya adalah sebagai berikut:
INSERT [INTO] namatabel [(namafield,...)] VALUES ekspresi
Contoh:
Perintah ini digunakan untuk menyisipkan data ke tabel cobalagi yang berasal dari tabel coba.
mysql> insert into cobalagi select * from coba;
Perintah yang digunakan untuk menyisipkan data ke tabel coba dengan nilai masing-masing field telah ditentukan yaitu sebagai berikut:
· field1 = ‘xyz’
· field2 = ’01-01-01’
· field3 = 100
· field4 = 50.25
Cara 1 :
mysql> insert into coba
-> (field1,field2,field3,field4)
-> values(‘xyz’,’01-01-01’,100,50.25)
-> ;
Cara 2 :
mysql> insert into coba
-> SET field1=”xyz”,
-> field2=”01-01-01”,
-> field3=100,
-> field4=50.25,
->;
Cara 3 :
mysql> insert into coba
-> VALUES (“xyz”, ”01-01-01”,100,50.25)
-> ;
- Mengupdate data
Sintaksnya adalah sebagai berikut:
UPDATE namatabel SET kriteria WHERE kondisi;
Contoh:
mysql> update coba set field2 = ’01-02-03’ where field1 = ‘aaa’;
Perintah ini digunakan untuk memperbaharui nilai field2 menjadi ’01-02-03’ untuk record yang nilai field1-nya adalah ‘aaa’
- Menghapus data
Untuk menghapus record dari tabel digunakan perintah Delete. Sintaksnya adalah sebagai berikut:
DELETE FROM namatabel WHERE kondisi;
Contoh:
mysql> delete from coba where field1 = ‘xyz’;
Perintah ini digunakan untuk menghapus record dari tabel coba yang nilai field1-nya adalah ‘xyz’.
Tipe Data di MySQL
Tipe-tipe data ini diberikan dalam bentuk yang siap dituliskan pada sintaks-sintaks MySQL, misalnya Create Tabel. Beberapa tipe data dalam MySQL yang sering dipakai :
|
Tipe Data |
Keterangan |
|
INT (M) [UNSIGNED] |
Angka -2147483648 s/d 2147483647 |
|
FLOAT (M,D) |
Angka pecahan |
|
DATE |
Tanggal, format : YYYY-MM-DD |
|
DATETIME |
Tanggal dan Waktu, format : YYYY-MM-DD HH:MM:SS |
|
CHAR (M) |
String dengan panjang tetap, sesuai dengan yang ditentukan Panjangnya 1-255 karakter |
|
VARCHAR (M) |
String dengan panjang yang berubah-ubah sesuai dengan yang disimpan saat itu Panjangnya 1-255 karakter |
|
BLOB |
Teks dengan panjang maksimum 65535 karakter |
|
LONGBLOB |
Teks dengan panjang maksimum 4294967295 karakter |
Pada tipe-tipe data tersebut terdapat beberapa atribut yang memiliki arti sebagai berikut:
· M, menunjukkan lebar karakter maksimum. Nilai M maksimum adalah 255.
· D, menunjukkan jumlah angka di belakang koma. Nilai maksimum D adalah 30 tetapi dibatasi oleh nilai M, yaitu tidak boleh lebih besar daripada M-2.
· Atribut yang diberi tanda [ dan ] berarti pemakaiannya adalah optional.
· UNSIGNED adalah bilangan tanpa tanda di depannya (misalnya tanda negatif) atau selalu bernilai positif.
Lainnya,
· AUTO_INCREMENT berarti nilai selanjutnya merupakan nilai sebelumnya ditambah nilai satu.
Database
Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel yang secara logic merupakan struktur dua dimensi terdiri dari baris (row atau record) dan kolom (column dan field). Sedangkan dalam sebuah Database dapat terdiri dari beberapa tabel yang saling berhubungan dengan dengan menggunakan kunci-kunci yang ditentukan.
Database adalah sekumpulan data yang berisi sekumpulan file (file disini berarti ‘tabel’) yang berisi informasi yang disimpan dengan cara tertentu. Terminologi Database jenjang data diantaranya karakter, field/kolom/atribut, record/tuple, dll.
Sumber :
Tabloid PCPlus
- Dapatkan link
- X
- Aplikasi Lainnya
Postingan Populer
Gempa Megathrust? Berikut Penjelasannya
- Dapatkan link
- X
- Aplikasi Lainnya
Kunci Jawaban Soal Ujian UAS E-Learning Bahasa Indonesia UBSI dan Nusa Mandiri Update
- Dapatkan link
- X
- Aplikasi Lainnya
Komentar
Posting Komentar