7 materi kuliah bahasa sql

38
BAHASA SQL

Upload: simon-patabang

Post on 09-Aug-2015

64 views

Category:

Education


3 download

TRANSCRIPT

Page 1: 7 Materi Kuliah Bahasa SQL

BAHASA SQL

Page 2: 7 Materi Kuliah Bahasa SQL

Definisi

• SQL (Structured Query Language) adalah bahasa standart yg digunakan untuk memodifikasi dan mengakses data atau informasi dari tempat penyimpanan data yang disebut basis data.

• SQL adalah bahasa query yang digunakan untuk mengakses dan memodifikasi informasi dari dalam satu tabel data atau lebih dalam database.

Page 3: 7 Materi Kuliah Bahasa SQL

• Bahasa SQL pertama kali dikembangkan pada oleh IBM pada 1970-an. SQL telah menjadi bahasa standar Universal yang digunakan oleh sebagian besar sistem manajemen database relasional (RDBMS).

• Beberapa sistem RDBMS seperti Oracle, Microsoft SQL Server, Sybase dll telah mengembangkan sendiri, sehingga meningkatkan unjuk kerja sistem RDBMS dan membuatnya menjadi alat yang ampuh untuk mengolah data.

Page 4: 7 Materi Kuliah Bahasa SQL

Pendahuluan

• Database SQL dibangun dari sejumlah tabel.

Dalam suatu kasus, tabel akan digunakan

untuk menyimpan data. Misalnya : Table

untuk Pelanggan, untuk Vendor, Karyawan

dan sebagainya.

• Setiap tabel terdiri dari sejumlah kolom dan

baris. Kolom disebut sebagai field dan baris

disebut record dengan tipe data masing2.

• Jenis tipe data adalah karakter (char), string

(varchar), tanggal (date), angka (number), dll.

Page 5: 7 Materi Kuliah Bahasa SQL

Fungsi Bahasa SQL

Bahasa SQL, adalah bahasa yang digunakan

untuk berkomunikasi dengan database dengan

tujuan untuk mengelola data dalam tabel

database.

Beberapa Fungsi SQL adalah:

1. Membuat Database

2. Membuat tabel

3. Menyimpan data

4. Mengambil data

5. Memodifikasi data

6. Dan lain-lain

Page 6: 7 Materi Kuliah Bahasa SQL

Kelompok Bahasa SQL

Bahasa SQL dikelompokkan menjadi empat kategori menurut fungsinya:

1. Data Definition Language (DDL)

DDL digunakan untuk membuat, mengubah, dan menghapus struktur objek database. Perintah-perintah yang CREATE, ALTER, DROP, RENAME, dan TRUNCATE.

Page 7: 7 Materi Kuliah Bahasa SQL

2. Data Manipulation Language (DML)

DML digunakan untuk menyimpan, mengambil, mengubah, dan menghapus data. Perintah DML adalah SELECT, INSERT, UPDATE, Dan DELETE.

3. Transaksi Control Language (TCL)

TCL digunakan untuk mengelola perubahan yang mempengaruhi data. Perintah TCL adalah COMMIT, ROLLBACK, dan SAVEPOINT.

4. Data Control Language (DCL)

DCL digunakan untuk menyediakan keamanan untuk objek database. Perintah DCL adalah GRANT dan REVOKE.

Page 8: 7 Materi Kuliah Bahasa SQL

Membuat Database

Perintah CREATE DATABASE

Adalah perintah untuk membuat database. Setelah

membuat database, kemudian membuat tabel-tabel yg

terdapat dalam database.

Bentuk Perintah :

CREATE DATABASE database_name

Database_name - adalah nama database yang akan

dibuat

Catatan : Perintah SQL tidak case sensitive.

Page 9: 7 Materi Kuliah Bahasa SQL

Contoh :

• Buatlah sebuah database dengan nama “mydatabase”

• Query Sql:

CREATE DATABASE MyDatabase ;

• Buatlah sebuah database dengan nama “Mahasiswa”

• Query Sql :

CREATE DATABASE Mahasiswa

Page 10: 7 Materi Kuliah Bahasa SQL

Perintah Use

USE digunakan untuk mengaktifkan database yang akan dipakai dalam sistem database.

Bentuk Perintah :

USE database_name; database_name – adalah nama database yg akan diaktifkan

Contoh:

Jika ingin menggunakan database “mydatabase”, maka perintahnya adalah :

USE MyDatabase ;

Page 11: 7 Materi Kuliah Bahasa SQL

Membuat Tabel

Perintah CREATE TABLE

Digunakan untuk membuat struktur tabel dalam basisdata.

Bentuk Perintah :

CREATE TABLE table_name (column_name1 datatype, column_name2 datatype, ... column_nameN datatype );

• table_name - adalah nama tabel.

• column_name1, column_name2 .... - adalah nama dari kolom

• datatype - adalah datatype untuk kolom seperti char, tanggal, nomor dll

Page 12: 7 Materi Kuliah Bahasa SQL

Contoh :

• Buatlah tabel dengan nama Student dengan atribut Id, first_name, last_name, age, subject, Game

• Query Sql :

CREATE TABLE Student ( id number(5), first_name char(20),

last_name char(20), age number(2),

subject char(15), game char(15) );

Page 13: 7 Materi Kuliah Bahasa SQL

Menginput data

Perintah : INSERT

Insert digunakan untuk menambahkan atau menginput baris data ke dalam tabel.

Bentuk Perintah :

col1, col2, ... Col n - nama-nama kolom dalam tabel di mana Anda ingin menyisipkan data.

INSERT INTO TABLE_NAME

[ (col1, col2, col3,...col N)]

VALUES (value1, value2, value3,...value N);

Page 14: 7 Materi Kuliah Bahasa SQL

• Jika menambahkan nilai untuk semua kolom

dari sebuah tabel, maka tidak perlu

menyebutkan nama kolomnya tetapi harus

memastikan urutan nilai-nilai dalam urutan

yang sama seperti urutan kolom dalam tabel.

• Bentuk Perintah :

INSERT INTO TABLE_NAME

VALUES (value1, value2,

value3,...valueN);

Page 15: 7 Materi Kuliah Bahasa SQL

Contoh Tabel Student

Id first_name last_name age subject Game

100 Rahul Sharma 10 Science Cricket

101 Anjali Bhagwat 12 Maths Football

102 Stephen Fleming 09 Science Cricket

103 Shekar Gowda 18 Maths Badminton

104 Priya Chandra 15 Economics Chess

Page 16: 7 Materi Kuliah Bahasa SQL

• Tambahkan data ke Tabel Student seperti pada tabel student.

• Query Sql:

INSERT INTO Student (id, first_name, last_name, age, subject, game) VALUES (100, ‘Rahul’,'Sharma', 10,‘science', ‘Cricket’);

atau

INSERT INTO Student VALUES (100, ‘Rahul’,'Sharma', 10,‘science', ‘Cricket’);

INSERT INTO Student VALUES (101,’Anjali’, ‘Bhagwat’, 12, ‘Maths’, ‘Football’);

dst

Page 17: 7 Materi Kuliah Bahasa SQL

Perintah SELECT • SELECT digunakan untuk query atau mengambil data

dari tabel dalam database.

• Sebuah query dapat mengambil informasi dari kolom tertentu atau dari semua kolom dalam tabel.

Bentuk Perintah :

• table-name adalah nama tabel dari mana informasi

tersebut diambil.

• column_list mencakup satu atau lebih kolom dari data yang diambil.

• Clause yg lain tidak wajib digunakan.

SELECT column_list FROM table-name

[WHERE Clause]

[GROUP BY clause]

[HAVING clause]

[ORDER BY clause];

Page 18: 7 Materi Kuliah Bahasa SQL

Contoh Tabel Student

Id first_name last_name age subject Game

100 Rahul Sharma 10 Science Cricket

101 Anjali Bhagwat 12 Maths Football

102 Stephen Fleming 09 Science Cricket

103 Shekar Gowda 18 Maths Badminton

104 Priya Chandra 15 Economics Chess

Buatlah query untuk menampilkan nama

pertama dari siswa.

SELECT first_name FROM student;

Page 19: 7 Materi Kuliah Bahasa SQL

• Buatlah query untuk menampilkan nama depan dan

nama belakang dari semua siswa.

SELECT first_name, last_name FROM student;

• Tampilkan nama pertama dan terakhir dari tabel

Student kemudian digabungkan menjadi satu nama,

SELECT first_name + ' ' + last_name FROM student;

Output:

first_name + ' ' + last_name

---------------------------------

Rahul Sharma

Anjali Bhagwat

Stephen Fleming

Shekar Gowda

Priya Chandra

Page 20: 7 Materi Kuliah Bahasa SQL

Gunakan tanda * untuk mewakiki semua

kolom dari sebuah tabel yg akan ditam-

pilkan

Contoh :

Select * From Student;

Page 21: 7 Materi Kuliah Bahasa SQL

Perintah Select Dgn klausa Where

Klausa Where digunakan untuk menyatakan syarat atau kondisi dari data yg akan diproses.

Operator Perbandingan :

Operator Perbandingan digunakan menyatakan syarat atau kondisi pada klausa Where untuk menyaring data yg akan dicari.

Page 22: 7 Materi Kuliah Bahasa SQL

Operator Perbandingan

Contoh :

Tampilkan data dari tabel Student dengan

syarat umur siswa kurang dari 15 tahun.

Select * From Student Where age<15;

Page 23: 7 Materi Kuliah Bahasa SQL

Perintah Delete

DELETE digunakan untuk menghapus

baris atau record dari tabel.

Bentuk Perintah :

• table_name - nama tabel yang harus

diperbarui

DELETE FROM table_name

[WHERE condition];

Page 24: 7 Materi Kuliah Bahasa SQL

Contoh :

• Untuk menghapus seorang Siswa dengan id 100 dari tabel Student, query sql adalah :

DELETE * FROM Student WHERE id = 100;

• Untuk menghapus semua baris dari tabel karyawan, sql query adalah :

DELETE * FROM Student;

Catatan :

Jika tidak menyertakan klausa WHERE, maka semua baris dalam tabel akan dihapus. Hati-hati saat menulis query DELETE tanpa klausa WHERE.

Page 25: 7 Materi Kuliah Bahasa SQL

Perintah Truncate

• Perintah SQL TRUNCATE digunakan untuk menghapus

semua baris dari tabel dan mengosongkan ruang yang

berisi tabel.

Bentuk Perintah :

TRUNCATE TABLE table_name;

Contoh :

• Untuk menghapus semua baris dari tabel student,

query sqlnya adalah :

TRUNCATE TABLE student;

Page 26: 7 Materi Kuliah Bahasa SQL

Perbedaan antara DELETE dan truncate

• DELETE :

Perintah Delete akan menghapus baris dari tabel berdasarkan kondisi pada klausa Where atau menghapus semua baris dari tabel jika tidak ada kondisi yang ditentukan. Tapi itu tidak mengosongkan ruang yang berisi Tabel.

• Truncate :

Perintah Truncate digunakan untuk menghapus semua baris dari tabel dan membebaskan ruang yang berisi tabel.

Page 27: 7 Materi Kuliah Bahasa SQL

Perintah Drop

• Perintah SQL DROP digunakan untuk menghapus semua baris dalam tabel dan struktur tabel akan dihapus dari database.

• Tabel dihapus secara permanen sehingga tidak bisa dipanggil kembali.

• Hati-hati saat menggunakan perintah DROP.

Bentuk Perintah :

DROP TABLE table_name;

Page 28: 7 Materi Kuliah Bahasa SQL

Contoh :

Untuk mengurangi karyawan tabel, query akan seperti

DROP TABLE employee;

Perbedaan antara DROP dan TRUNCATE Pernyataan:

Jika sebuah tabel di hapus dengan drop, maka semua hubungan dengan tabel lain tidak akan berlaku lagi.

Tapi, jika tabel dihapus dengan Truncate, maka struktur tabel tetap sama.

Page 29: 7 Materi Kuliah Bahasa SQL

Perintah Order By

• Klausa ORDER BY digunakan dalam pernyataan SELECT untuk mengurutkan hasil secara menaik atau menurun.

• Bentuk Perintah :

SELECT column-list FROM table_name [WHERE condition] [ORDER BY column-Name [DESC]];

• Secara default, data diurutkan secara menaik (ascending). Jika sebaliknya, maka harus menggunakan kata Desc

Page 30: 7 Materi Kuliah Bahasa SQL

id name dept age salary location

100 Ramesh Electrical 24 25000 Bangalore

101 Hrithik Electronics 28 35000 Bangalore

102 Harsha Aeronautics 28 35000 Mysore

103 Soumya Electronics 22 20000 Bangalore

104 Priya InfoTech 25 30000 Mangalore

Tabel Pegawai (employee)

Urutkanlah data tabel karyawan berdasarkan gaji.

SELECT name, salary FROM employee ORDER BY salary;

Page 31: 7 Materi Kuliah Bahasa SQL

Outputnya akan tampak sbb:

Page 32: 7 Materi Kuliah Bahasa SQL

• Klausa ORDER BY dapat menggunakan lebih dari

satu kolom sebagai syarat mengurutkan data.

• Kolom pada klausa ORDER BY harus menjadi

kolom yang dipilih dalam daftar kolom SELECT.

Contoh :

• Urutkanlah data tabel karyawan berdasarkan

nama dan gaji.

SELECT name, salary FROM employee ORDER BY name, salary;

Outputnya adalah sbb:

Page 33: 7 Materi Kuliah Bahasa SQL

• Nama kolom dalam klausa ORDER BY dapat

dituliskan dengan nomor urut posisi kolom

dalam daftar SELECT

SELECT name, salary FROM employee ORDER BY 1, 2;

Page 34: 7 Materi Kuliah Bahasa SQL

Mengutkan data secara Menurun (Descending)

• Secara default, ORDER BY mengutkan data dalam urutan menaik. Jika ingin mengurutkan data dalam urutan menurun, tambahkan data Desc

Contoh :

SELECT name, salary FROM employee ORDER BY name, salary DESC;

• Pertanyaan di atas hanya kolom 'gaji' dalam urutan Descending sedangkan kolom 'nama' dalam urutan ascending.

Page 35: 7 Materi Kuliah Bahasa SQL

• Jika ingin memilih kedua kolom nama dan gaji

dalam urutan Descending , maka querynya

adalah :

SELECT name, salary

FROM employee

ORDER BY name DESC, salary DESC;

Page 36: 7 Materi Kuliah Bahasa SQL

Order by dengan klausa Where

• Tampilkanlah nama karyawan, gaji saat ini, dan

kenaikan gaji 20% dengan syarat hanya para

karyawan yg persentase kenaikan gaji lebih besar

dari 30000 dan dalam urutan kenaikan harga

• SELECT name, salary, salary*1.2 AS new_salary

FROM employee

WHERE salary*1.2 > 30000

ORDER BY new_salary DESC;

Catatan : As digunakan untuk membuat variabel

sementara dalam memori dengan nama New Salary

untuk menyimpan data kenaikan gaji.

Page 37: 7 Materi Kuliah Bahasa SQL

Outputnya adalah :

Page 38: 7 Materi Kuliah Bahasa SQL

Bersambung