Anda di halaman 1dari 7

LAPORAN

PRAKTIKUM

SEPTEMBER 26

Naufal Jundi Abyan 19537141019

1
MODUL 2 PRAKTIK BASIS DATA
Komponen SQL

A. Kompetensi
Mengenal dan memahami fungsi dari komponen-komponen SQL

B. Dasar Teori
SQL adlah suatu bahasa yang digunakan untuk mengakses data pad basis data relational.
Komponen SQL terdiri dari tiga bagian , yaitu DDL (Data Definition Language).
A. DDL
a. Creating Table
CREATE TABLE <nama_tabel>
(<nama_kolom_1> <tipe_data>(<panjang_data>)
[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT <nilai_default>]
[referential_constraint_definition] [INDEX],
<nama_kolom_2> <tipe_data> (<panjang_data>)
[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT <nilai_default>]
[referential_constraint_definition] [INDEX], …);

Contoh:
1. CREATE TABLE Suplier (KodeSpulier Integer Primary Key, NamaSuplier
Char(20) NOT NULL, Alamat Char(30) NOT NULL DEFAULT ‘Jl. Gejayan
No.1’ , Telpon Char(15));
2. CREATE TABLE Suplier (KodeSuplier Integer< NamaSuplier Char(20)
NOT NULL, Alamat Char(30) NOT NULL DEFAULT ‘JL.GEjayan No.1’ ,
Telpon Char(15) , Primary Key (KodeSuplier);
b. Creting Index
CREATE INDEX <nama_index> ON <nama_tabel>(<nama_kolom>);
contoh:
CREATE INDEX Suplier_my ON SUplier(NamaSuplier);
c. Altering
ALTER TABLE <nama_tabel>
[ADD <nama_kolom_1> <tipe_data> (<panjang_data>),
<nama_kolom_2> <tipe_data> (<panjang_data>), …..;]
[ADD CONSTRAINT <nama_constraint> UNIQUE (<nama_kolom>;]
[DROP <nama_kolom_1>,….;]
Merubah nama kolom
Alter Table <nama_tabel> CHANGE
<nama_kolom_lama> <nama_kolom_baru> <tipe_data>(<panjang_data>)
[FIRST | AFTER <nama_kolom>];
2
Menambah dan menghapus kolom
ALTER TABLE <nama_tabel>
ADD <anma_kolom_baru> <tipe_data>(<panjang_data>)
[FIRST | AFTER <nama_kolom>];

Merubah nama tabel


Alter Tabel <nama_tabel> RENAME TO <nama_tabel_baru>;

Menghapus Primary Key


ALTER TABLE <nama_tabel> DROP PRIMARY KEY

Menambah dan menghapus batasan (constraint)


ALTER TABLE <nama_tabel> ADD COINSTRAINT <nama_constraint>
UNIQUE <nama_kolom>;

Melihat nama constraint


1. Masuk/gunakan database information_schema
2. SELECT table_name,constraint_name
FROM TABLE_CONSTRAINTS where table_name=’suplier’;

d. Dropping
Drop TABLE <nama_table>;
B. DML
a. Inserting
INSERT INTO <nama_tabel> [(<nama_kolom_1> , <nama_kolom_2>,…)]
VALUES (<nilai_kolom_1> , <nilai_kolom_2>,….);
b. Updating
UPDATE <nama_tabel>
SET <nama_kolom_1 = nilai_kolom_1>
[WHERE <kondisi>]
c. Deletion
DELETE FROM <nama_tabel>
WHERE <kondisi>
d. Selection
SLECT <nama_kolom_1, nama_kolom_2,….
FROM <anam_tabel>
WHERE <kondisi>
e. Creating View
CREATE VIEW <name> AS<SELECT statement>;
C. DCL
Untuk Administrator Database. Printah-perintahnya antara lain :
- CREATE DATABASE
3
- CREAATE USER
- DROP USER
- GRANT PRIVILEGE
- REVOKE PRIVILEGE
D. Alat/Bahan
1. Komputer sistem operasi Windows
2. Perangkat lunak RDBMS MySQL Server

E. Langkah Kerja
1. Pastikan MySQL Server sudah teinstall
2. Klik Start -> Run dan ketik cmd lalu tekan OK untuk masuk ke MS DOS Prompt
3. Masuk ke direktori MySQL Server diindtall , misal C://mysql/bin

F. Bahan Diskusi
Dengan Menggunakan perintah SQL:
1. Tambah kolom baru pada tabel Suplier untuk data tgl_lahir , kota , dan email
Jawab
MariaDB [suplier]> ALTER TABLE Suplier ADD tgl_lahir Char(30);
Query OK, 0 rows affected (0.176 sec)
Records: 0 Duplicates: 0 Warnings: 0

MariaDB [suplier]> ALTER TABLE Suplier ADD kota Char(20);


Query OK, 0 rows affected (0.101 sec)
Records: 0 Duplicates: 0 Warnings: 0

MariaDB [suplier]> ALTER TABLE Suplier ADD email Char(30);


Query OK, 0 rows affected (0.111 sec)
Records: 0 Duplicates: 0 Warnings: 0

2. Hapus kolom tgl_lahir


Jawab
MariaDB [suplier]> ALTER TABLE Suplier Drop tgl_lahir;
Query OK, 0 rows affected (0.091 sec)
Records: 0 Duplicates: 0 Warnings: 0

3. Pastikan Primary Key pada tabel Supier adalah kolom kode Suplier dan untuk Nama Suplier
mempunyai batasan UNIQUE kemudian masukkan data supplier berikut ini :
Kode Suplier : 222
Nama Suplier : Sejahtera Terus
Alamat : Jl . Soekarno-Hatta No.31
Kota : Bandung
Telepon : 022-44573
Email :

4
Jawab
MariaDB [suplier]> INSERT INTO Suplier(KodeSuplier,NamaSuplier,Alamat,Kota,Telpon)
VALUES(222,'Sejahtera Terus','Jl. Soekarno-Hatta No.31','Bandung','022-445573');
Query OK, 1 row affected (0.085 sec)

4. Isi data email untuk data Suplier di atas.


Jawab
MariaDB [suplier]> UPDATE Suplier SET email='Sejahtera@yahoo.com' WHERE
NamaSuplier='Sejahtera Terus';
Query OK, 1 row affected (0.053 sec)
Rows matched: 1 Changed: 1 Warnings: 0

5. Tambah data Suplier dengan beberapa data Suplier (data bebas) , minimal 5 suplier

MariaDB [suplier]> INSERT INTO Suplier(KodeSuplier,NamaSuplier,Alamat,Kota,Telpon,Email)


VALUES(223,'Sejah1','Jl.Wonosari km 4','Bantul','0812328005522','sejah1@gmail.com');
Query OK, 1 row affected (0.083 sec)

MariaDB [suplier]> INSERT INTO Suplier(KodeSuplier,NamaSuplier,Alamat,Kota,Telpon,Email)


VALUES(224,'Sejah2','Jl.Wonosari km 5','Yogyakarta','0812328005523','sejah2@gmail.com');
Query OK, 1 row affected (0.060 sec)

MariaDB [suplier]> INSERT INTO Suplier(KodeSuplier,NamaSuplier,Alamat,Kota,Telpon,Email)


VALUES(225,'Sejah3','Jl.Wonosari km 6','Bantul','0812328005524','sejah3@gmail.com');
Query OK, 1 row affected (0.059 sec)

MariaDB [suplier]> INSERT INTO Suplier(KodeSuplier,NamaSuplier,Alamat,Kota,Telpon,Email)


VALUES(226,'Sejah4','Jl.Wonosari km 7','Yogyakarta','0812328005525','sejah4@gmail.com');
Query OK, 1 row affected (0.058 sec)

MariaDB [suplier]> INSERT INTO Suplier(KodeSuplier,NamaSuplier,Alamat,Kota,Telpon,Email)


VALUES(227,'Sejah5','Jl.Wonosari km 8','Bantul','0812328005526','sejah5@gmail.com');
Query OK, 1 row affected (0.054 sec)

6. Hapus data Suplier “Sejahtera Terus”.


MariaDB [suplier]> DELETE FROM Suplier WHERE NamaSuplier='Sejahtera Terus';
Query OK, 1 row affected (0.086 sec)

7. Tampilkan semua data Suplier


MariaDB [suplier]> SELECT * FROM Suplier;

5
+-------------+-------------+------------------+---------------+------------+------------------+
| KodeSuplier | NamaSuplier | Alamat | Telpon | kota | email |
+-------------+-------------+------------------+---------------+------------+------------------+
| 223 | Sejah1 | Jl.Wonosari km 4 | 0812328005522 | Bantul | sejah1@gmail.com |
| 224 | Sejah2 | Jl.Wonosari km 5 | 0812328005523 | Yogyakarta | sejah2@gmail.com |
| 225 | Sejah3 | Jl.Wonosari km 6 | 0812328005524 | Bantul | sejah3@gmail.com |
| 226 | Sejah4 | Jl.Wonosari km 7 | 0812328005525 | Yogyakarta | sejah4@gmail.com |
| 227 | Sejah5 | Jl.Wonosari km 8 | 0812328005526 | Bantul | sejah5@gmail.com |
+-------------+-------------+------------------+---------------+------------+------------------+
5 rows in set (0.000 sec)
8. Tampilkan semua data Suplier yang beralamat di kota Bandung.(saya ganti dengan Yogyakarta)
MariaDB [suplier]> SELECT * FROM Suplier WHERE Kota ='Yogyakarta';
+-------------+-------------+------------------+---------------+------------+------------------+
| KodeSuplier | NamaSuplier | Alamat | Telpon | kota | email |
+-------------+-------------+------------------+---------------+------------+------------------+
| 224 | Sejah2 | Jl.Wonosari km 5 | 0812328005523 | Yogyakarta | sejah2@gmail.com |
| 226 | Sejah4 | Jl.Wonosari km 7 | 0812328005525 | Yogyakarta | sejah4@gmail.com |
+-------------+-------------+------------------+---------------+------------+------------------+
2 rows in set (0.000 sec)

9. Periksalah data email pada tabel SUplier. Bisakah Suplier mempunyai data email yang sama dengan
Suplier lain?
MariaDB [suplier]> INSERT INTO Suplier(KodeSuplier,NamaSuplier,Alamat,Kota,Telpon,Email)
VALUES(228,'Sejah6','Jl.Wonosari km 9','Bantul','0812328005527','sejah5@gmail.com');
Query OK, 1 row affected (0.076 sec)

MariaDB [suplier]> SELECT * FROM Suplier;


+-------------+-------------+------------------+---------------+------------+------------------+
| KodeSuplier | NamaSuplier | Alamat | Telpon | kota | email |
+-------------+-------------+------------------+---------------+------------+------------------+
| 223 | Sejah1 | Jl.Wonosari km 4 | 0812328005522 | Bantul | sejah1@gmail.com |
| 224 | Sejah2 | Jl.Wonosari km 5 | 0812328005523 | Yogyakarta | sejah2@gmail.com |
| 225 | Sejah3 | Jl.Wonosari km 6 | 0812328005524 | Bantul | sejah3@gmail.com |
| 226 | Sejah4 | Jl.Wonosari km 7 | 0812328005525 | Yogyakarta | sejah4@gmail.com |
| 227 | Sejah5 | Jl.Wonosari km 8 | 0812328005526 | Bantul | sejah5@gmail.com |
| 228 | Sejah6 | Jl.Wonosari km 9 | 0812328005527 | Bantul | sejah5@gmail.com |
+-------------+-------------+------------------+---------------+------------+------------------+
6 rows in set (0.000 sec)

Maka pada saat ini , Suplier bisa punya email yang sama dengan supplier lain
10. Jika data supplier ternyata dapat mempunyai data email yang sama, bagaimana jika data email
untuk seriap Suplier tidak boleh sama?
MariaDB [suplier]> UPDATE Suplier SET Email='sejah6@gmail.com' WHERE

6
NamaSuplier='Sejah6';
Query OK, 1 row affected (0.083 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [suplier]> ALTER TABLE Suplier ADD CONSTRAINT almtemail UNIQUE (email);
Query OK, 0 rows affected (0.367 sec)
Records: 0 Duplicates: 0 Warnings: 0

Anda mungkin juga menyukai