Friday, October 21, 2016

Tuesday, October 18, 2016

Perintah-perintah dasar membuat database Mysql di CMD

Assalamuallaikum kali ini saya akan memberikan perintah-perintah dasar dalam pembuatan database Mysql di CMD, dalam membangun sebuah website atau software desktop kita memerlukan sebuah database untuk menyimpan record-record atau data, kegunaan database sebagai tempat penyimpanan data. Diluar sana anyak software-software untuk pembuat database dari selain Mysql. Karena disini membahas Mysql maka saya akan memberikan perintah-perintah pembuatan database Mysql saja. Oke langsung saja di pahami.

Pertama dalam pembuatan database Mysql terbagi 2 yaitu DDL, dan DML.
Apa itu DDL?
DDL adalah singkatan dari Data Definition Language perintah-perintahnya seperti CREATE, ALTER, dan DROP. Perintahnya hanya mengubah fisik dari sebuah database seperti mengubah nama database, mengubah nama tabel.
Lalu Apa itu DML?
DML adalah singkatan dari Data Manipulation Language perintah-perintahnya berguna untuk pengubahan data, penghapusan data, dan memasukan data. contoh perintahnya INSERT, UPDATE, dan DELETE.

Nah untuk lebih jelas perintah-perintahnya lihat penjelasan dibawah.
Cara untuk mengakses Mysql di CMD
1.      Tampilan pertama ketika membuka Cmd
1.     

2  Lalu ketikan cd\ untuk keluar dari folder-folder tersebut dan masuk ke drive C: karena dala komputer penulis xampp terdapat didrive C, untuk lebih jelasnya lihat gambar dibawah
     


3.      Setelah itu kita masuk ke direktori xampp/mysql/bin, caranya ketikan cd xampp/mysql/bin


4.      Sesudah masuk kedalam direktori-direktori diatas untuk mengakses mysql dalam xampp kita harus mengetikan perintah mysql –u root –p
        


     Keterangan : “-u” adalah username, root adalah isi dari username tersebut. “–p” adalah password, jika mysql anda dipassword maka ketikan password tersebut di “Enter password:” lalu enter  
5.      Tampilan saat masuk mysql di cmd
           



Perintah-perintah DDL (Data Definition Language)
1. Membuat Database
   Penulisan perintah dalam SQL : create database namadatabase;
 Jika kita akan membuat sebuah database, nama database tidak boleh ada yang sama dengan nama database yang dibuat sebelumnya. Untuk melihat semua database yang ada dalam mysql dikomputer kita menggunakan perintah show databases;, sebelum membuat database kita lihat terlebih dahulu database yang ada dalam mysql dalam komputer. 
2. Menghapus Database
    Penulisan perintah dalam SQL : drop database namadatabase;
    mysql> drop database mahasiswa;
3. Membuat tabel
Untuk membuat sebuah tabel kita harus menggunakan terlebih dahulu database yang akan dibuatkan tabelnya dengan perintah use namadatabase;.
   mysql> use mahasiswa;
  Setelah kita menggunakan perintah tersebut lalu kita akan langsung membuat sebuah tabel bentuk
  umum perintah pembuatan tabel :
     Create table namatable
(
    Field1 tipedata1,
    Field2 tipedata2
);
Untuk membuat tabel penulis akan membuat sebuah tabel mahasiswa.
mysql> create table mahasiswa
    -> (
    ->  npm char(9)not null,
    ->  nama varchar(20)not null,
    ->  alamat varchar(30)null,
    ->  jns_kelamin char(1)not null,
    ->  gol_darah varchar(2)null,
    ->  primary key(npm));
Query OK, 0 rows affected (0.03 sec)
Keterangan : dalam tabel yang telah dibuat terdapat null dan not nullnull adalah perintah dimana field tersebut boleh untuk tidak diisi, dan not null adalah field tersebut harus diisi.
Untuk menampilkan tabel menggunakan perintah show tables;
mysql> show tables;
+---------------------+
| Tables_in_mahasiswa |
+---------------------+
| mahasiswa           |
+---------------------+
1 row in set (0.00 sec)
Dan untuk menampilkan struktur tabel menggunakan perintah DESC namatabel atau DESCRIBE namatabel;
4. Menghapus tabel
Penulisan perintah dalam SQL : drop table namatabel;
Contoh dalam mysql :
mysql> drop table mahasiswa;
Query OK, 0 rows affected (0.00 sec)
Dan tabel pun terhapus :
mysql> show tables;
Empty set (0.00 sec)
5. Membuat kolom auto penambahan Data Otomatis
Dalam perintah kali ini adalah kolom auto dengan perintah auto_incremenet yang dituliskan pada saat pembuatan tabel. Kolom auto ini harus bertipe data integer, tinint,.... kolom auto ini dibutuhkan pada saat seperti penomoran data atau nomor urut.
Bentuk perintahnya seperti berikut
      CREATE TABLE [IF NOT EXIST] namatabel (
      Kolom_kunci tipe(panjang) NOT NULL AUTO_INCREMENT,
      Kolom_b tipe(panjang) [NOT NULL | NULL], ......,
      PRIMARY KEY(kolom_kunci));
6. Menghapus Primary Key pada tabel
Penulisan perintah dalam SQL : alter table namatable drop primary key;
Sebelumnya ada primary seperti perintah dibawah ada tanda merah itu adalah primary key.
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm         | char(9)     | NO   | PRI | NULL    |       |
| nama        | varchar(20) | NO   |     | NULL    |       |
| alamat      | varchar(30) | YES  |     | NULL    |       |
| jns_kelamin | char(1)     | NO   |     | NULL    |       |
| gol_darah   | varchar(2)  | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
Dan setelah kita menggunakan perintah dibawah ini maka primary akan hilang :
mysql> alter table mahasiswa drop primary key;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
Maka primary key pada field npm sudah dihapus.
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm         | char(9)     | NO   |     | NULL    |       |
| nama        | varchar(20) | NO   |     | NULL    |       |
| alamat      | varchar(30) | YES  |     | NULL    |       |
| jns_kelamin | char(1)     | NO   |     | NULL    |       |
| gol_darah   | varchar(2)  | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
      5 rows in set (0.00 sec)
7. Menambah kolom/field pada tabel
Penulisan perintah dalam SQL : alter table namatable add fieldbaru tipedata;
mysql> alter table mahasiswa add tgl_lahir date;
Query OK, 0 rows affected (0.02 sec)
Maka field tgl_lahir akan ditambahkan kedalam tabel mahasiswa, untuk melihat struktur tabel menggunakan perintah desc namatabel;
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm         | char(9)     | NO   |     | NULL    |       |
| nama        | varchar(20) | NO   |     | NULL    |       |
| alamat      | varchar(30) | YES  |     | NULL    |       |
| jns_kelamin | char(1)     | NO   |     | NULL    |       |
| gol_darah   | varchar(2)  | YES  |     | NULL    |       |
| tgl_lahir   | date        | YES  |     | NULL    |       |
      +-------------+-------------+------+-----+---------+-------+
8. Menambah kolom kunci/primary key pada tabel
Jika ketika Anda membuat tabel lalu lupa untuk menambahkan primary dalam sebuah field maka disini ada solusinya yaitu dengan perintah alter.
Penulisan perintah : alter table namatabel add primary key(kolom-yang-akan- di-jadikan-primary-key);
Untuk lebih jelasnya kita lihat implementasinya pada mysql :
mysql> desc dosen;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| nip   | char(9)  | NO   |     | NULL    |       |
| nama  | char(20) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Keterangan : tabel dosen diatas pada field nip tidak terdapat primary key, dan setelah menggunakan perintah dibawah, maka field nip mempunyai primary key.
mysql> alter table dosen add primary key(nip);
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
Kita lihat lagi dengan menggunakan perintah desc.
mysql> desc dosen;    
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| nip   | char(9)  | NO   | PRI | NULL    |       |
| nama  | char(20) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
     2 rows in set (0.00 sec)
9. Mengubah tipe data atau lebar kolom pada tabel
Penulisan perintah dalam SQL : alter table namatabel modify column field tipe;
Sebelum diubah lihat terlebih dahulu struktur awal tabel dengan perintah desc
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm         | char(9)     | NO   |     | NULL    |       |
| nama        | varchar(20) | NO   |     | NULL    |       |
| alamat      | varchar(30) | YES  |     | NULL    |       |
| jns_kelamin | char(1)     | NO   |     | NULL    |       |
| gol_darah   | varchar(2)  | YES  |     | NULL    |       |
| tgl_lahir   | date        | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
Dalam struktur diatas sebelumnya nama mempunyai lebar kolomnya adalah 20 dan kita akan merubahnya menjadi 25
mysql> alter table mahasiswa modify column nama varchar(25);
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
Setelah menggunakan perintah diatas kita cek kembali struktur tabelnya
mysql> desc mahasiswa;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| npm         | char(9)     | NO   |     | NULL    |       |
| nama        | varchar(25) | YES  |     | NULL    |       |
| alamat      | varchar(30) | YES  |     | NULL    |       |
| jns_kelamin | char(1)     | NO   |     | NULL    |       |
| gol_darah   | varchar(2)  | YES  |     | NULL    |       |
| tgl_lahir   | date        | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
Dan setelah menggunakan perintah alter table namatabel modify column field tipe; maka lebar kolom pada field nama menjadi 25.
10. Mengubah nama kolom
Penulisan perintah di mysql : alter table namatable change column namalamakolom namakolombaru tipedatanya;
Untuk lebih jelasnya lihat perintah dibawah :
Pada awal struktur field nama seperti ini
| nama        | varchar(25) | YES  |     | NULL    |       |
Dan setelah menggunakan perintah ubah nama kolom
            mysql> alter table mahasiswa modify column nama varchar(25);
menjadi seperti dibawah ini
            | nama_lengkap | varchar(20) | YES  |     | NULL    |       |
11. Mengubah nama tabel
Perintah berikutnya yaitu untuk mengubah nama tabel, jika sudah membuat tabel dan nama tabel tidak sesuai maka ada solusinya untuk mengubah nama tabel dengan nama tabel yang Anda inginkan dengan perintah pada mysql seperti ini :
Alter table namalamatabel rename to namatabelbaru;
Misalkan sebelumnya nama tabel nya adalah mahasiswa menjadi siswa lihat perintah dibawah :
mysql> show tables;
+---------------------+
| Tables_in_mahasiswa |
+---------------------+
| dosen               |
| mahasiswa           |
| mengajar            |
+---------------------+
3 rows in set (0.00 sec)
Lalu gunakan perintah dibawah
mysql> alter table mahasiswa rename to siswa;
Query OK, 0 rows affected (0.00 sec)
Maka akan berubah menjadi tabel siswa
mysql> show tables;
+---------------------+
| Tables_in_mahasiswa |   
+---------------------+   
| dosen               |
| mengajar            |
| siswa               |
+---------------------+
     3 rows in set (0.00 sec)
12. Menghapus kolom pada tabel
Penulisan perintah di mysql : alter table namatable drop column namakolom;
Perintah ini adalah untuk menghapus sebuah kolom dalam sebuah tabel, lihat cara dibawah ini :
Struktur tabel sebelumnya ada kolom tgl_lahir
mysql> desc mahasiswa;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| npm          | char(9)     | NO   |     | NULL    |       |
| nama_lengkap | varchar(20) | YES  |     | NULL    |       |
| alamat       | varchar(30) | YES  |     | NULL    |       |
| jns_kelamin  | char(1)     | NO   |     | NULL    |       |
| gol_darah    | varchar(2)  | YES  |     | NULL    |       |
| tgl_lahir    | date        | YES  |     | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)
Dan untuk menghilangkan kolom tgl_lahir kita menggunakan perintah dibawah
mysql> alter table mahasiswa drop tgl_lahir;
       Maka kolom tgl_lahir akan terhapus.
13. Mendefinisikan foreign key pada tabel (Kunci tamu)
Penulisan perintah di mysql : alter table namatabel add constraint namaconstraint foreign key(namakolom) references namatabelinduk(namakolominduk) on update cascade on delete no action;
Untuk implementasinya dimysql lihat perintah dibawah
mysql> alter table mengajar add constraint namaconstrai
ences dosen(nip) on update cascade on delete no action;
dan hasilnya adakah ketika menggunakan perintah desc di tabel mengajar maka pada field nip terdapa mul yang berarti foreign key.
      mysql> desc mengajar;
+--------+----------+------+-----+---------+-------+
| Field  | Type     | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| kode   | char(9)  | NO   | PRI | NULL    |       |
| matkul | char(20) | YES  |     | NULL    |       |
| nip    | char(9)  | YES  | MUL | NULL    |       |
     +--------+----------+------+-----+---------+-------+
14. Menghapus foreign key
Penulisan perintah di mysql : alter table namatabel drop foreign key namaconstraint;.
Dan perintah ini berfungsi untuk menghapus foreign key dalam suatu field, lihat perintah pada mysql  dibawah untuk lebih jelasnya :
mysql> alter table mengajar drop foreign key fk;
              Query OK, 0 rows affected (0.05 sec)



Read more