MYSQL DDL DAN DML By Asep Taufik Muharram
MYSQL DDL DAN DML By Asep Taufik Muharram
Data Definition Language (DDL) Digunakan untuk melakukan pembuatan struktur database, mulai dari mendefinisikan database, tabel-tabel dan indeksnya, view dan perintah-perintah berkenaan dengan maintenance dari struktur database itu sendiri. 1. Membuat Database Syntax : Create Database namadatabase; Contoh : Create Database Akademik; 2. Membuat Tabel Syntax : CREATE TABLE <nama_tabel> ( <nama_kolom> <tipe_data>(<panjang_data>) [UNIQUE] [NOT NUL] [PRIMARY KEY] [DEFAULT<nilai_default>] [referential_constraint_defenition>] [CHECK<constraint_defenotion>], <nama_kolom> <tipe_data>(<panjang_data>) [UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT<nilai>] [referential_constraint_defenition>] [CHECK<constraint_defenition>], . . . ); keterangan Unique; Pada kolom tersebut tidak boleh ada data yang sama. Not Null; tidak boleh data pada kolom tersebut bernilai null Unique dan Not Null; kolom tersebut dapat dijadikan primary key. Default; nilai default yang secara otomatis akan mengisi kolom dengan data default tersebut setiap operasi insert dilakukan. Referential_Constraint_Definition; Bila kolom tersebut merupakan foreign key terhadap tabel lain. Dengan syntax : FOREIGN KEY <nama_kolom> REFERENCES <nama_tabel> 12/19/2021 http: //sites. google. com/site/samsulsite 2
Contoh : CREATE TABLE Pelajar ( No_Induk CHAR(8), Nama CHAR(20), Tgl_Lahir DATE, Kelas CHAR(2) ); 3. Menambah Field Baru Tabel Alter namatabel [ ADD (<nama_kolom> <tipe_data>(<panjang_data>), . . . ); ] [ Add (<nama_kolom><tipe_data>(<panjang_data>), . . . ); ] Keterangan Alter; konfirmasi nama tabel Add; Menambah kolom yang sudah ada sebelumnya. Contoh : ALTER TABLE Pelajar ADD column Jenis_Kelamin CHAR(10); 4. Mengubah Lebar Field Alter namatabel [ ADD (<nama_kolom> <tipe_data>(<panjang_data>), . . . ); ] [ MODIFY (<nama_kolom><tipe_data>(<panjang_data>), . . . ); ] Keterangan Alter; konfirmasi nama tabel Modify; Mengubah kolom yang sudah ada sebelumnya. Contoh : ALTER TABLE Pelajar Modify column Jenis_Kelamin CHAR(20); 3
5. Menghapus Field Syntax : Alter namatabel Drop nama Field/Column; Keterangan Alter; konfirmasi nama tabel Drop; Menghapus nama field Contoh : Alter Table Pelajar Drop Jenis_Kelamin; 6. Menghapus Tabel Drop Table namatabel; 7. Menghapus Database Drop Database namadatabase; 8. Membuat Index Syntax : CREATE INDEX <nama_index> ON <namatabel>(<nama_kolom>); Contoh : CREATE INDEX nm ON Pelajar(Nama); 9. Menghapus Index Syntax : Drop Index namaindex on namatable Contoh : Drop Index nm On Pelajar; 12/19/2021 http: //sites. google. com/site/samsulsite 4
Data manipulation Language (DML) Setelah struktur database dibuat dengan tabel-tabelnya maka berikutnya adalah pengisian, perbaikan, penghapusan, pengambilan dan pencarian kembali data. DML digunakan untuk memanipulasi data (tambah, ubah, hapus, cari) 1. Insert Syntax: INSERT INTO <nama_tabel> [(<nama_kolom 1, nama_kolom 2, . . . <nama_kolom. N>)] VALUES (<nilai_kolom 1>, <nilai_kolom 2>, . . . <nilai_kolom. N>); Contoh : INSERT INTO Pelajar VALUES (‘ 00311217’, ’Wempi Satria’, ’ 1982 -02 -12’, ’ 1’); INSERT INTO Pelajar VALUES (‘ 00311211’, ’Wempi, ’ 1982 -03 -03’, ’ 1’); INSERT INTO Pelajar VALUES (‘ 00311210’, ’Satria’, ’ 1982 -12 -12’, ’ 1’); 2. Update Syntax UPDATE <nama_tabel> SET <nama_kolom 1= ‘nilai_kolom 1’>, <nama_kolom 2= ‘nilai_kolom 2’>, . . . , <nama_kolom. N= ‘nilai_kolom. N’> [WHERE <kondisi>]; Contoh : UPDATE Pelajar SET No_Induk = ‘ 00311216’ , Nama = ‘Wati’ WHERE No_Induk =’ 00311210’ and Nama = ‘Satria’; 5
3. Menghapus data (Deletion) Syntax DELETE FROM <nama_tabel> WHERE <kondisi>; Contoh : DELETE FROM Pelajar WHERE No_Induk = ‘ 00311211’; 4. Seleksi data (Selection) Syntax SELECT [*] [<kolom 1>, <kolom 2>, . . . , <kolom. N>] [<alias. kolom 1>, <alias. kolom 2>, . . . , <alias. kolom. N>] FROM <nama_tabel> WHERE <kondisi> [AND <kondisi>] [AND MONTH_BETWEEN (<kondisi>); Contoh : SELECT * FROM Pelajar; 5. Membuat tabel maya (Creating views) Syntax CREATE VIEW <nama_view> AS SELECT <kolom 1, kolom 2, . . . , kolom. N> FROM <nama_tabel> WHERE <kondisi>; Contoh Create View lihat As select No_Induk, Nama From Pelajar; http: //sites. google. com/site/samsulsite 6
6. Menghapus tabel maya (Creating views) Syntax Drop <nama View>; Contoh Drop view lihat; 7. Kondisi Syntax Select * from namatabel where namafield like ‘datadicari%’; atau Select * from namatabel where namafield = ‘datadicari’; contoh select * from pelajar where Nama like ‘s%’; 12/19/2021 http: //sites. google. com/site/samsulsite 7
EKSPRESI FROM Untuk mendefenisikan tabel yang menjadi sumber data dari suatu perintah seleksi Contoh : SELECT * FROM Pelajar WHERE Untuk mendefenisikan kondisi pengambilan data dari suatu perintah seleksi Contoh : SELECT * FROM Pelajar WHERE No_Induk = ‘ 00311217’; GROUP BY Untuk Mengelompokkan data berdasarkan ekspresi group Syntax : SELECT <kolom 1, kolom 2, . . . , kolom. N> FROM <nama_tabel> WHERE <kondisi> GROUP BY <group_kolom>; Contoh : SELECT No_Induk, Nama FROM Pelajar GROUP BY No_Induk 12/19/2021 http: //sites. google. com/site/samsulsite 8
ORDER BY Untuk mengurutkan data hasil seleksi Syntax : SELECT <kolom 1, kolom 2, . . . , kolom. N> FROM <nama_tabel> WHERE <kondisi> ORDER BY <nama_kolom> [DESC/ASC]; Contoh : SELECT * FROM Pelajar ORDER BY No_Induk desc; HAVING Untuk mendefenisikan batasan seleksi berdasarkan GROUP BY Syntax : SELECT <kolom 1, kolom 2, . . . , kolom. N> FROM <nama_tabel> WHERE <kondisi> GROUP BY <group_kolom> HAVING <batasan_group>; Contoh : SELECT No_Induk, Nama FROM Pelajar GROUP BY No_Induk HAVING Nama=‘Wempi’: 12/19/2021 http: //sites. google. com/site/samsulsite 9
LATIHAN No Nama Alamat Kota Kode pos Email Hubungan Telp. 1 Bram Ciputat Tangerang 15412 Samsul_si@ yahoo. com Orang Tua 98585244 2 Nuriyah Reni Jaya Depok 16010 Nuri@yahoo. com Wife 085552135 3 Susi similikiti Weleh Sawangan Depok 16010 susi@yahoo. com Teman 54564646 4 Onno Binjai Medan 20127 nono@googl e. com Musuh 65454646 5 Happy Salma Ramadhan Pasar Minggu Jaksel 15326 Cyanknya_C amcul@yaho o. com Pacar 0812111100 6 Dian Sastro Ramadhan Lenteng Agung Jaksel 18524 Camcul_Pun ya@yahoo. c o. id Sepia 081599999 7 Sarah Azhari Depok 15776 Sarahku@c bn. net Office Girl 08882069 8 Rahma Azhari Kampung Utan Tangerang 15413 Rahma_ohh @yahoo. com Spirit Girl 0811513513 9 Dewi Persik Ciputat Tangerang 15415 Dewi_gerga ji@google. co m XXXX 081255353 10 Roy Suryo Polah Jombang Tangerang 15167 Roy@google. com Intruder 64645453 12/19/2021 http: //sites. google. com/site/samsulsite 10
- Slides: 10