0% menganggap dokumen ini bermanfaat (0 suara)
41 tayangan11 halaman

DDL, DML, Simple SQL

Bab ini membahas tentang SQL yang mencakup tujuan belajar SQL, DDL untuk membuat dan mengubah tabel, DML untuk menambahkan, mengubah dan menghapus data, serta penggunaan view dan fungsi dasar SQL lainnya.

Diunggah oleh

Raka Irvaldo
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
41 tayangan11 halaman

DDL, DML, Simple SQL

Bab ini membahas tentang SQL yang mencakup tujuan belajar SQL, DDL untuk membuat dan mengubah tabel, DML untuk menambahkan, mengubah dan menghapus data, serta penggunaan view dan fungsi dasar SQL lainnya.

Diunggah oleh

Raka Irvaldo
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 11

BAB II - SQL

TUJUAN BELAJAR :

 Memahami dan menerapkan sintaks DDL beserta constraint


 Memahami operasi SELECT
 Memahami sintaks DML
 Memahami operasi JOIN
 Memahami berbagai fungsi yang tersedia didalam SQL
 Menggunakan fungsi kolom untuk menampilkan data
 Memahami operasi Union, Intersection dan Difference
 Memahami Sub Query

2.1 DDL

2.1.1 TIPE DATA


Tipe-tipe data yang digunakan dalam SQL tidak memiliki perbedaan jauh dengan bahasa
pemprograman pada umumnya. Dalam SQL kita akan menemukan tipe data seperti
integer (bigint, int, smallint), float, decimal/numeric, double, real, char, varchar, date,
time, timestamp, blob, dll.
Mengenai tipe data waktu pembagiannya seperti ini :
a. Date ( YYYY-MM-DD)
b. Time (HH:MM:SS)
c. Timestamp (YYYY- MM- DD-HH:MM:SS:ssssss)

2.1.2 MEMBUAT TABEL


Untuk membuat tabel, syntax yang digunakan adalah CREATE TABLE. Berikut ini
adalah Contoh pembuatan tabel :

2.2.1 Tabel Sederhana


CREATE TABLE MYTABLE (col integer)
MYTABLE adalah nama dari tabel, col adalah nama dari atribut/field, integer
adalah tipe data dari atribut.

2.2.2 Tabel dengan Default Value


CREATE TABLE USERS (

NAME CHAR(20),

AGE INTEGER,

PROFESSION VARCHAR(30) with default 'Student')

CREATE TABLE DEPT (

DEPTNO SMALLINT NOT NULL

GENERATED ALWAYS AS IDENTITY (START WITH 500, INCREMENT


BY 1),

DEPTNAME VARCHAR(36) NOT NULL,

MGRNO CHAR(6),

ADMRDEPT SMALLINT NOT NULL,

LOCATION CHAR(30))

Pada tabel dengan default value yang pertama, field PROFESSION memiliki nilai
yang sudah kita tetapkan, yaitu student. Jika tabel ini tidak kita isi, maka student
secara otomatis menjadi nilai dari field profesi.
Pada tabel yang kedua, field DEPTNO memiliki nilai awal 500, ketika
pertambahan baris maka terjadi penambahan nilai +1. Tabel baris kedua menjadi
501, baris ketiga menjadi 502, dst.

1.1.1 Tabel dengan NOT NULL Value


Pada tabel DEPT di atas, pada NOT NULL. NOT NULL menginisialisasi field
bahwa field tersebut tidak boleh kosong/tidak terisi.
1.1.2 Tabel dengan Constraint
Contraint berfungsi untuk mendefinisikan aturan-aturan dalam tabel. Inilah tipe-
tipe contraint :

a. UNIQUE
Fungsinya adalah menjaga tabel dari terjadinya duplikasi nilai. Namun NULL
diperbolehkan menjadi nilai data dari suatu field UNIQUE tabel.
Contoh tabel dengan UNIQUE :
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
UNIQUE (P_Id)
)

CREATE TABLE Persons


(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255)
)

CREATE TABLE Persons


(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)

b. PRIMARY KEY
Fungsinya adalah mirip dengan UNIQUE, Namun PRIMARY KEY tidak
memperbolehkan adanya nilai NULL.

CREATE TABLE M_KERJA (


K_KERJA VARCHAR(3) NOT NULL,
SINGKAT VARCHAR(15) NULL,
CONTENT VARCHAR(45) NULL,
PRIMARY KEY(K_KERJA)
)

c. REFERENTIAL
Fungsinya adalah untuk menjaga hubungan antar tabel.
format tabel Referential Integrity
CREATE TABLE DEPENDANT_TABLE
(ID INTEGER REFERENCES BASE_TABLE
(UNIQUE_OR_PRIMARY_KEY),
NAME VARCHAR(9)
);

CREATE TABLE DEPENDANT_TABLE


(ID INTEGER,
NAME VARCHAR(9),
CONSTRAINT constraint_name FOREIGN KEY (ID)
REFERENCES BASE_TABLE(UNIQUE_OR_PRIMARY_KEY)
);

Contoh
CREATE TABLE MAHASISWA (
NIM char (15) PRIMARY KEY NOT NULL,
NAMA char(30)
);

CREATE TABLE KHS (


NIM char (15) REFERENCES MAHASISWA (NIM),
:
:
);

d. CHECK
Fungsinya adalah menjaga agar data yang dimasukkan dalam field/kolom
sesuai dengan aturan yang dibuat.
Contoh Tabel dengan PRIMARY KEY dan CHECK
CREATE TABLE EMPLOYEE
(ID INTEGER NOT NULL PRIMARY KEY,
NAME VARCHAR(9),
DEPT SMALLINT CHECK (DEPT BETWEEN 10 AND 100),
JOB CHAR(5) CHECK (JOB IN 'Sales','Mgr','Clerk'),
HIREDATE DATE,
SALARY DECIMAL(7,2),
CONSTRAINT YEARSAL CHECK ( YEAR(HIREDATE) > 1986
OR SALARY > 40500 )
)

2.1.3 MELIHAT TABEL


Tabel yang sudah kita buat sebelumnya bisa kita lihat dengan menggunakan perintah
SELECT
Contoh melihat keseluruhan isi tabel EMPLOYEE
SELECT * from EMPLOYEE
Jika hanya mau melihat sebagian field dari tabel EMPLOYEE
SELECT NAME, JOB from EMPLOYEE
2.1.4 MEMBUAT VIEW
VIEW adalah virtual tabel yang diturunkan dari satu atau lebih tabel atau juga dari view
lainnya. Mengapa disebut virtual? Karena view tidak memiliki data sebenarnya, dia
hanya mengacu pada hasil dari sebuah SELECT STATEMENT.
Contoh pembuatan view yang diambil dari tabel EMPLOYEE
CREATE VIEW MYVIEW AS
SELECT LASTNAME, HIREDATE FROM EMPLOYEE

Untuk melihat view, kita bisa menggunakan cara yang sama seperti melihat tabel.

2.1.5 MEMODIFIKASI OBJEK DATABASE


Database yang kita buat bisa kita modifikasi. Fungsi utama yang digunakan untuk
memodifikasi adalah ALTER. Modifikasi object database meliputi :
1.1.3 Menambah field/kolom baru
Format penambahan field baru adalah
ALTER TABLE nama_tabel

ADD COLUMN nama_kolom tipe_data (batasan);

Contoh penambahan field baru pada tabel EMPLOYEE

ALTER TABLE Employees

ADD COLUMN EMPAddress Char(40);

1.1.4 Merubah Nama field/kolom


Format perubahan nama field adalah
ALTER TABLE nama_tabel

RENAME COLUMN nama_kolom_lama TO nama_kolom_baru;

Contoh perubahan field pada tabel EMPLOYEE


ALTER TABLE Employees
RENAME COLUMN EMPAddress TO Alamat;

1.1.5 Merubah tipe data dari field


Format Perubahan tipe data dari field adalah
ALTER TABLE nama_tabel

ALTER COLUMN nama_kolom SET DATA TYPE new_data_type

Contoh perubahan tipe data pada tabel EMPLOYEE


ALTER TABLE EMPLOYEE

ALTER COLUMN ALAMAT SET DATA TYPE char (15)

1.1.6 Menambah Constraint


Format penambahan constraint
ALTER TABLE nama_tabel

ALTER COLUMN nama_kolom SET constraint

Contoh penambahan constraint


ALTER TABLE EMPLOYEE

ALTER COLUMN ALAMAT SET NOT NULL

1.1.7 Menghapus kolom


Format penghapusan kolom
ALTER TABLE nama_tabel

DROP COLUMN nama_kolom

Contoh penambahan constraint


ALTER TABLE EMPLOYEE

DROP COLUMN ALAMAT

1.1.8 Merubah Nama Objek Database


Format Perubahan nama suatu tabel :
RENAME nama_tabel to nama_tabel_baru ;
Contoh perubahan nama objek EMPLOYEE:
RENAME EMPLOYEE to PEGAWAI;

2.1.6 PENGHAPUSAN OBJEK DATABASE


Format Penghapusan suatu tabel :
DROP TABLE nama_tabel;
Contoh :
DROP TABLE PEGAWAI;
Berhati – hati ketika Melakukan penghapusan objek/tabel. Karena ketika anda
menghapus suatu objek berarti :

a.Semua data dan struktur dari table akan dihapus


b. Semua transaksi pending akan di-commit
c.Semua indeks akan dihapus
d. Perintah drop ini tidak bisa di-rollback

2.2 SIMPLE SQL


Struktur sederhana sebuah query SQL adalah sebagai berikut.
SELECT nama_kolom
FROM nama_tabel

Perintah SELECT digunakan untuk melihat isi suatu tabel tertentu.


Contoh melihat keseluruhan isi tabel DEPARTMENT
SELECT * FROM DEPARTMENT

Gambar 2.1 Contoh menampilkan keseluruhan isi table


Jika hanya mau melihat sebagian field dari tabel DEPARTMENT SELECT DEPTNO,
DEPTNAME, ADMRDEPT FROM DEPARTMENT

Gambar 2.2 Contoh menampilkan sebagian kolom suatu tab

2.3 DATA MANIPULATION LANGUAGE


Data Manipulation Language (DML) adalah suatu statement yang dijalankan pada saat kita

memerlukan :

• Penambahan baris baru pada table


• Mengupdate baris yang ada pada table
• Menghapus baris yang ada pada table
Statement DML identic dengan operasi INSERT, UPDATEdan DELETE.

Istilah transaksi mengandung pengertian kumpulan Statement DML yang membentuk suatu
fungsi tertentu.

2.3.1 MENAMBAHKAN BARIS BARU KE DALAM TABEL


INSERT INTO :perintah ini digunakan untuk memasukkan data ke database.

Menambahkan baris baru kedalam table menggunakan perintah INSERT INTO.

INSERT INTO table [(column [, column …] ) ]


VALUES (value [, value…] );

INSERT INTO STAFF (id, name, job, dept, salary)


values (111, ‘Deny’, ‘Mgr’, 20, 10000)
2.3.2 MENAMBAHKAN BARIS DENGAN NILAI NULL
Kolom yang tidak disebutkan dalam perintah INSERT INTO secara otomatis akan diisi
dengan nilai NULL.

INSERT INTO STAFF (id, name, job, ___ ___)


VALUES (190, ‘Will’, ‘Acc’);

Atau secara eksplisit memasukkan nilai NULL ke suatu kolom :

INSERT INTO STAFF


VALUES (200, ‘Smith’, ‘Sec’, NULL, NULL);

2.3.3 SINTAK STATEMENT UPDATE


Untuk memodifikasi baris data yang ada pada table digunakan perintah UPDATE.

Sintak dari perintah UPDATE :

UPDATE table

SET column = value [, column = value, …]

[WHERE condition];

2.3.4 MENGUPDATE BARIS DALAM TABEL


Berikut contoh perintah UPDATE untuk mengubah satu baris saja :

UPDATE STAFF
SET salary = 50000.00
WHERE id = 10

Jika klausa WHERE dihilangkan, maka perintah UPDATE akan mengubah nilai kolom dari
semua data atau record yang ada pada tabel :

UPDATE staff
SET id = 200
2.3.5 STATEMENT DELETE
Baris data yang ada pada table dapat dihapus dengan menggunakan perintah DELETE.

Sintakpenulisannya :

2.3.6 MENGHAPUS BARIS DARI TABEL


Jika klausa WHERE disertakan pada perintah DELETE maka baris data tertentu yang akan
dihapus hanya yang memenuhi criteria pada WHERE :

DELETE FROM STAFF


WHERE id = 200;

1 row deleted
Tapi jika klausa WHERE dihilangkan, maka semua baris data dalam table akan dihapus :

DELETE FROM copy_staff

Semua baris data di copy_staff akan terhapus.

2.3.7 MENGGUNAKAN SUBQUERY DALAM STATEMENT INSERT


Subquery dapat digunakan dalam statement INSERT :

INSERT INTO copy_staff


(SELECT id, name, job, dept, salary
FROM staff
WHERE id = 201)

VALUES (201, ‘Kimura’, ‘Acc’, 20, 20000);

2.3.8 TRANSAKSI DATABASE


Transaksi database berisi salah satu dari hal berikut :

 Statement DML untuk melakukan manipulasi terhadap data yang telah ada.
 Statement DDL untuk membuat, menghapus atau mengubah sebuah object database.

Anda mungkin juga menyukai