SQL (Structure Query Language)

Slides:



Advertisements
Presentasi serupa
SQL – DML.
Advertisements

SQL.
MATA KULIAH : “LOGIKA DAN ALGORITMA”
KUMPULAN PERINTAH SQL PENDY.
Pertemuan 2 : Dasar-dasar SQL SBD C – Senin, Frank & Rudy
SISTEM BASIS DATA INTRO-5. •Setelah mengikuti perkuliahan ini diharapkan mahasiswa dapat mengerti : 1.Aplikasi perintah SQL ke MySql Server 2.Mengerti.
UNIVERSITAS BINA DARMA 2013 DATA MANIPULATION LANGUAGE (DML)
PERINTAH SQL.
Dasar-dasar SQL soesanto.
MYSQL.
1 Penulisan Statements SELECT SQL Dasar. 1-2 Tujuan Setelah mengikuti sesi ini, diharapkan mampu : Mendaftar kemampuan statement SELECT SQL Mengeksekusi.
DDL & Aturan Referential
PEMROGRAMAN BASIS DATA
Strctured Query Language
Me-Retrieve Data Menggunakan Pernyataan SQL SELECT
DATA MANIPULATION LANGUAGE (DML)
Pemrograman Visual II Database Management System (DBMS) Oleh: Erna Sri Hartatik, S.Kom
Pemrograman Web/MI/D3 sks
TRIGGER.
Microsoft SQL Server DDL dan DML dasar
Data Definition Language dan Data Manipulation Language
Antonius Wahyu Sudrajat, S. Kom., M.T.I. Perintah SQL: Data Definition.
Data Types Data Definition Language Referential Constraint SQL Query
SQL (Structure Query Language)
SQL-Aggregate dengan Fungsi GROUP, HAVING dan subQuery
BAHASA QUERY TERAPAN OLEH : HARSITI, ST.
Sistem Basis Data Pertemuan 11 Presented by :
MANAJEMEN BASIS DATA Pertemuan 8 SUBQUERY.
STRUCTURED QUERY LANGUAGE (SQL)
PRAKTIKUM BASIS DATA (4) TEKNIK INFORMATIKA UNIVERSITAS MERCU BUANA
SQL (Structure Query Language)
Basis Data Terapan Antonius Wahyu Sudrajat, S. Kom., M.T.I Perintah Drop Sintak Menghapus Tabel Drop Aturan: Harus dimulai dari table yang paling children.
SQL (Structure Query Language) Pertemuan 3 – RESTRICTING AND SORTING DATA sy urf gm ail. co m.
SQL (Structure Query Language)
SQL (Structure Query Language)
SQL (Structure Query Language) Pertemuan 5 – Reporting Aggregate Data Using the Group Function sy urf gm ail. co m.
SQL-Pembatas dan Pengurutan Data
Dasar query basis data dengan SQLite
Pengelolaan Database Kependudukan
Mengekspor, Menyalin, dan Mengimpor Data
SQL (Structure Query Language)
SQL (Structure Query Language)
FUNGSI-FUNGSI AKSES MySql
SQL (Structure Query Language)
SQL.
Konsep Teknologi Informasi B
SQL (Structure Query Language)
Menggunakan Subquery untuk Memecahkan Query Query
Using Subqueries to Solve Queries
SUB QUERY LANJUTAN Oleh : SYAIFUL HUDA, S.Kom Powerpoint Templates.
SQL DML Pertemuan 6 dan 7.
Data Manipulation Languange (DML) Perintah INSERT dan DELETE
Konsep Teknologi Informasi B
SQL OVERVIEW.
Dml(Data manipulation language)
Sistem Manajemen Basis Data
SQL (2) (Structure Query Language)
BASIS DATA KD 3.6 Query Berjenjang.
Structured Query Language
Menampilkan Data dari Beberapa Table
Structured Query Language (SQL)
Structured Query Language
Data Manipulation Language (DML)
Aplikasi Database Dosen : Sarwo, Skom,.Mkom Url :
Structured Query Language (SQL)
Referensi Bahasa MySQL
Membuat Query ACCESS Query adalah fasilitas untuk mengakses data dengan cara  yang memungkin bagi kita untuk menampilkan data-data dari database dalam.
DATA MANIPULATION LANGUAGE
BAHASA BASIS DATA Data Manipulation Languange
Pengantar Teknologi SIM 2 (pertemuan 7)
Transcript presentasi:

SQL (Structure Query Language) syurfah@gmail.com SQL (Structure Query Language) Materi 10 – Data Manipulation Language

INSERT UPDATE DELETE Today! : Tujuan Pembelajaran Menentukan subquery-subquery Menjelaskan tipe- tipe dari persoalan- persoalan yang bisa dipecahkan subquery Daftar tipe-tipe dari subquery Menulis subquery- subquery single-row dan multiple-row

Petunjuk mengerjakan Soal Latihan Buat user baru dengan nama kelompok masing2 (bebas). User baru yang telah dibuat, memiliki tabel sama seperti tabel yang dimiliki oleh HR. Beri hak akses setara DBA Syntax copy tabel : Create table copy_emp AS (select * from empoyees);

INSERT Satu Baris Data Nillai Khusus, NULL & Date Menyalin Data

Dasar Teori Insert Pernyataan INSERT digunakan untuk menambahkan baris baru ke dalam tabel. Pernyataan tsb, membutuhkan 3 nilai : Nama tabel Nama-nama kolom dalam tabel untuk diisi Nilai-nilai yang sesuai untuk setiap kolom

Menyalin Data dengan Subquery INSERT INSERT Klausa “Values” NULL Date Menyalin Data dengan Subquery

INSERT – Klausa values INSERT INTO nama_tabel(field ke-1, ….. field ke-n) VALUES(nilai_field_ke-1, …. nilai_field_ke-n); INSERT INTO departments (department_id, department_name, manager_id, location_id) VALUES (70, ‘Public Relations’, 100, 1700); Untuk kolom yang bertipe karakter (string) dan tanggal, perlu diberi tanda petik tunggal (‘ ‘). Nilai atau data yang akan dimasukkan, ditulis dengan urutan yang sama dengan urutan nama kolom yang dicantumkan. inner query menentukan penghasilan dari pegawai bernama Abel. Outer query mengambil hasil dari inner query dan menggunakan hasil ini untuk menampilkan semua pegawai yang berpenghasilan lebih dari jumlah tersebut.

INSERT – Klausa values Cara lain dalam penggunaan perintah Insert adalah memasukkan nilai atau data dalam tabel secara implisit tanpa menuliskan nama kolomnya. Cara ini mengharuskan untuk menuliskan setiap nilai sesuai dengan urutan kolom yang dibuat (urutan kolom dapat dilihat menggunakan perintah DESCRIBE). INSERT INTO departments VALUES (70, ‘Public Relations’, 100, 1700);

NILAI NULL Penggunaan perintah Insert secara implisit akan memasukkan nilai Null ke dalam kolom yang telah didefinisikan null secara otomatis. Jika menggunakan perintah insert dengan menampilkan nama kolom yang akan diisi, tuliskan kata NULL dalam klausa values. Untuk menentukan string yg kosong atau tanggal yg hilang, gunakan tanda kuti tunggal (single quotation) – tanpa ada spasi diantaranya.

Tabel copy_f_staffs Perhatikan : Panjang (Length) data untuk character dan tanggal (dates), Jumlah digit (Precision) Jumlah digit ke kanan desimal (Scale) The OVERTIME_RATE column allows numbers with a Precision of 5 and a Scale of 2. The maximum value allowed in this column is 999.99.

NILAI NULL ~ ERROR Kolom SALARY didefinisikan sbg kolom NOT NULL.

NILAI KHUSUS Nilai khusus seperti SYSDATE dan USER dapat dimasukkan menggunakan klausa Values pada perintah Insert. SYSDATE masuk pada kolom dengan tipe data DATE dan TIME. Format default : DD-MON-RR . Time : 00:00:00 USER memasukkan nama username session saat ini.

NILAI KHUSUS ~ ARITMATIKA Fungsi dan ekspresi hitung juga bisa digunakan dalam klausa VALUES. Contoh dibawah, perhatikan sysdate dan penghitungannya.

NILAI KHUSUS ~ DATE TO_CHAR berfungsi untuk mengkonversi tanggal untuk character. Reminds you :

NILAI KHUSUS ~ DATE (contd) Demikian pula, jika INSERT dengan non default format utk tanggal, gunakan TO_DATE. Menyisipkan waktu (jam)

Menyalin Data dengan Subquery Bagaimana ketika harus memasukkan 100 baris data.. Apakah hrs mengeksekusi 100 perintah? Dengan menggunakan SUBQUERY, dapat menyalin 100 atau bahkan 1000 baris. (Subquery dalam INSERT) Tidak perlu klausa VALUES saat menggunakan subquery untuk menyalin baris.

(contd) Menyalin Data dengan Subquery Contoh : Tabel baru SALES_REPS diisi dengan data salinan dari tabel EMPLOYEES. Klausa WHERE, memilih karyawan yang memiliki job_id ‘%REP%’

(contd) Menyalin Data dengan Subquery Jumlah kolom dan tipe data dalam klausa INSERT, harus sesuai dengan jumlah kolom dan tipe data dalam subquery. Subquery tidak menggunakan tanda kurung di klausa WHERE dan SELECT. Untku menyalin semua data (baris dan kolom). Menggunakan syntax :

UPDATE Single Row Subquery Multiple Row Subquery Klausa HAVING

Teori UPDATE "There is nothing permanent except change.“ Updating, Inserting, Deleting, dan Managing Data adalah Pekerjaan (DBA) Database Administrator. Anda menjadi DBA dari skema Anda sendiri dan belajar mengelola database Anda. Wouldn't it be a wonderful world if, once you got something done, it never needed to be changed or redone? Your bed would stay made, your clothes would stay clean, and you'd always be getting passing grades. Unfortunately in databases, as in life, "There is nothing permanent except change."

Teori UPDATE (contd) Perintah Update digunakan untuk mengubah data tertentu berdasarkan kondisi yang diberikan pada klausa WHERE. Perintah Update membutuhkan empat nilai: Nama tabel Nama kolom yang nilainya akan diubah Nilai baru untuk setiap kolom yang diubah Kondisi yang mengidentifikasikan baris mana yang akan di modifikasi. Wouldn't it be a wonderful world if, once you got something done, it never needed to be changed or redone? Your bed would stay made, your clothes would stay clean, and you'd always be getting passing grades. Unfortunately in databases, as in life, "There is nothing permanent except change."

Teori UPDATE (contd) Sintaks perintah UPDATE : UPDATE nama_tabel SET nama_field = data_baru WHERE kondisi_update; UPDATE employees SET department_id = 70 WHERE employee_id = 113; 1 row updated

UPDATE ~ Klausa where Jika klausa WHERE dihilangkan, maka semua baris pada tabel tersebut diubah. Mengubah beberapa kolom dan/beberapa baris dalam satu perintah UPDATE. UPDATE employees SET department_id = 70 22 rows updated

UPDATE ~ Subquery Menggunakan single-row subquery untuk memberikan nilai baru pada kolom yang diperbarui. Merubah gaji pegawai (id = 12) supaya memiliki gaji yang sama dengan pegawai lain (id = 9). UPDATE copy_f_staffs SET salary = (SELECT salary FROM copy_f_staffs WHERE id = 9) WHERE id = 12;

UPDATE ~ Berdasarkan tabel lain Subquery dapat mengambil informasi dari satu tabel yang kemudian digunakan untuk memperbarui tabel lain. Merubah gaji pegawai (id = 12) supaya memiliki gaji yang sama dengan pegawai lain (id = 9). UPDATE copy_f_staffs SET salary = (SELECT salary FROM f_staffs WHERE id = 9) WHERE id = 9;

DELETE

Teori DELETE Perintah Delete digunakan untuk menghapus baris berdasarkan kondisi tertentu. Perintah Delete memerlukan dua nilai: Nama tabel Kondisi yang mengidentifikasi baris yang akan dihapus Syntax delete : DELETE FROM nama_tabel [ WHERE kondisi_hapus ]; DELETE FROM departments WHERE department_name = ‘Finance’;

DELETE ~ Subquery Untuk menghapus data atau baris berdasarkan tabel lain, digunakan subquery dalam perintah delete. Contoh : Menghapus baris dari tabel Employees untuk semua pegawai yang bekerja pada departemen Shipping. DELETE FROM employees WHERE department_id = (SELECT department_id FROM departments WHERE department_name = ‘Shipping’);

~ Exercise ~ Menghapus baris dari semua pegawai yang bekerja untuk manajer yang mengelola lebih dari 2 departemen. Mana query yang akan error? Jelaskan UPDATE employees SET department_id = 15 WHERE employee_id = 100; DELETE FROM departments WHERE department_id = 10; UPDATE employees SET department_id = 10 WHERE department_id = 20;

MERGE

Teori MERGE Untuk menangani operasi manipulas data yang berukuran sangat besar, Oracle menyediakan perintah Merge. Merge menyelesaikan dua tugas yaitu : INSERT UPDATE Jika ada value yang hilang, baris baru akan di-insert-kan Jika value ada tapi perlu dirubah, MERGE akan memperbaruinya. Satu kesalahan umum pada subquery terjadi ketika lebih dari satu baris dikembalikan untuk suatu single-row subquery. Pada pernyataan SQL dalam slide, subquery berisi suatu klausa GROUP BY, yang berakibat subquery itu akan mengembalikan banyak baris, satu dari setiap kelompok yang ditemukannya. Dalam kasus ini, hasil dari subquery adalah 4400, 6000, 2500, 4200, 7000, 17000, dan 8300. Outer query mengambil hasil-hasil itu dan menggunakannya pada klausa WHERE. Klausa WHERE berisi suatu operator samadengan ( = ), suatu operator pembanding single-row yang dikira hanya satu nilai. Operator = tidak menerima lebih dari satu nilai dari subquery dan oleh karena itu menghasilkan kesalahan. Untuk memperbaiki kesalahan ini, rubah operator = menjadi IN.

Teori MERGE MERGE INTO destination-table USING source-table ON matching-condition WHEN MATCHED THEN UPDATE SET …… WHEN NOT MATCHED THEN INSERT VALUES (……); Nilai yang dibaca dari source-table dan dibandingkan dengan nilai pada destination-table menggunakan kondisi yang cocok. Jika nilai yang cocok ada pada destination-table, nilai dari source- table digunakan untuk memperbarui kolom yang cocok dengan destination-table. Jika tidak ada baris yang cocok, nilai dari source-table digunakan untuk memasukkan data baru pada destination-table.

Teori MERGE Contoh penggunaan MERGE : Menggunakan tabel Employees (dengan alias e) sebagai source- table untuk memasukkan dan memperbarui baris data pada tabel Copy_Emp (dengan alias c). MERGE INTO copy_emp c USING employees e ON (c.employee_id = e.employee_id) WHEN MATCHED THEN UPDATE SET c.last_name = e.last_name, c.department_id = e.department_id WHEN NOT MATCHED THEN INSERT VALUES (e.employee_id, e.last_name, e.department_id);

Teori MERGE Pegawai dengan employee_id 100 dan 103 memilliki nilai yang cocok dengan tabel Copy_emp, sehingga nilai yang cocok tersebut diperbarui. Pegawai dengan employee_id 142 tidak memiliki nilai yang cocok dengan tabel Copy_emp, sehingga nilai tersebut dimasukkan pada tabel Copy_emp.

Next : Pengumpulan Tugas