Structured Query Language atau SQL merupakan sebuah kalimat yang tidak asing lagi bagi kita anak IT. SQL merupakan poin penting dalam sebuah studi teknik komputer. Keberadaan SQL sebagai sebuah bahasa pemrograman memiliki sejarah dan perkembangan yang panjang.
Tentu saja perkembangan tersebut dipengaruhi oleh perkembangan dunia teknologi yang dari tahun ke tahun semakin membaik dan terus diperbaharui. Nama SQL sendiri diperluas sebagai bahasa Query yang terstruktur. Awalnya, SQL disebut SEQUEL (Structured English Query Language).
Pengertian SQl secara umum dalam dunia IT bisa diartikan sebagai bahasa yang digunakan dalam mengakses sebuah data. Khususnya untuk data yang memiliki basis relasional.
Tentu saja bahasa komputer dalam data basis relasional ini berdasarkan standar yang dikeluarkan oleh American National Standard Institute (ANSI).
Di dalam SQL sendiri kita harus mengenal tipe-tipe yang ada dalam SQL, berikut adalah tipe-tipe dalam SQL :
Dengan kita tau tipe-tipe yang ada di SQL kita dipermudah dalam mengelola data di SQL tersebut.
Tipe data numeric ada 2 yaitu bilangan integer, dan bilangan real.
Tipe Data | Ukuran Tempat | Rentang Nilai |
Byte | 1 byte | 0 s/d +225 |
Shortint | 1 byte | -28 s/d +127 |
Integer | 2 bytes | -32768 s/d 32767 |
Word | 2 bytes | 0 s/d 65535 |
Longint | 4 bytes | 2147483648 s/d 2147483647 |
Tipe Data | Ukurangan Tempat | Rentang Nilai |
Real | 6 bytes | 2.9 x 10-39 s/d 1.7×1038 |
Single | 4 bytes | 1.5 x 1045 s/d 3.4 x 1038 |
Double | 8 bytes | 5.0 x 10-324 s/d 1.7 x 10308 |
Extended | 10 bytes | 3.4 x 10-4932 s/d 1.1 x 104932 |
Comp | 8 bytes | -9.2 x 1018 s/d 9.2 x 1018 |
Format number di deklarasi : DECIMA (i,j) atau DEC (i,j) atau Numeric (i,j)].
Schema SQL dapat di identifikasi dengan nama schema, dan menyertakan pengenal otorisasi untuk menunjukkan pengguna atau akun yang memiliki schema tersebut, serta deskriptor untuk setiap elemen dalam schema.
Elemen Schema mencakup tabel, batasan, tampilan, domain, dan konstruksi lain (seperti pemberian otorisasi) yang menjelaskan tentang schema.
Berikut merupakan sintaks untuk CREATE SCHEMA adalah:
BUAT SCHEMA AUTHORIZATION schema_name
[create_table_statement] [create_view_statement] [pernyataan_hibahan];
Contoh :
CREATE SCHEMA AUTHORIZATION smithj
CREATE TABLE products ( product_id number(10) not null, product_name varchar2(50) not null, category varchar2(50), CONSTRAINT products_pk PRIMARY KEY (product_id) );
USER sendiri adalah yang menjalankan SQL tersebut. Untuk membuat sebuah User baru :
CREATE USER UserName IDENTIFIED BY UserPassword ;
ALTER USER UserName ACCOUNT LOCK ; ALTER USER UserName ACCOUNT UNLOCK ;
ALTER USER UserName IDENTIFIED BY NewUserPassword ;
Untuk privileges sendiri ada dua jenis untuk pengguna yaitu :
Sistem: Memungkinkan pengguna untuk melakukan tindakan tertentu dalam database.
Objek: Memungkinkan pengguna untuk mengakses dan memanipulasi objek tertentu.
Perintah atau instruksi tersebut umumnya ditentukan oleh user, adapun bahasa yang digunakan dibagi kedalam 2 (dua) macam, diantaranya sebagaimana yang ada di bawah ini :
Yang pertama adalah bahasa DDL atau kepanjangannya Data Definition Language, yaitu dipakai untuk menggambarkan desain dari basis data secara menyuruh. DDL (Data Definition Language) dapat dipakai untuk membuat tabel baru, memuat indeks, maupun mengubah tabel. Hasil dari kompilasi DDL akan disimpan di kamus data. Itulah definisi dari DDL. Untuk syntax DDL biasanya menggunakan :
Contoh :
CREATE TABLE [schema.] table (column datatype [DEAFULT expr][, ...]);
Menyertakan Constraint
Constraint – constraint menjalankan aturan – aturan (rules)pada tingkat tabel.
Constraint – constraint mencegah penghapusan suatu tabel jika ada Ketergantungan – ketergantungan (dependencies).
Berikut ini adalah tipe-tipe Constraint yang valid :
Contoh :
CREATE TABLE EMPLOYEE ( FNAME VARCHAR(9) NOT NULL, MINIT CHAR, LNAME VARCHAR(15) NOT NULL, SSN CHAR(9) NOT NULL, BDATE DATE, ADDRESS VARCHAR(30), SEX CHAR, SALARY DECIMAL(10,2), SUPERSSN CHAR(9), DNO INT NOT NULL DEFAULT 1, CONSTRAINT EMPPK PRIMARY KEY (SSN) )
Contoh :
Sintax Create Table
1. CREATE TABLE SUPPLIER
Create Table supp ( KD_SUPP CHAR(5) PRIMARY KEY, NM_SUPP VARCHAR(50) NOT NULL , ALMT_SUPP VARCHAR(100), TELP_SUPP VARCHAR(12), STATUS CHAR(1) CONSTRAINT SUPP_STS_CK CHECK (STATUS IN ('A','T')), KTP CHAR(12) UNIQUE );
2. CREATE TABLE BARANG
Create Table brg ( KD_BRG CHAR(5) PRIMARY KEY, NM_BRG VARCHAR(50) NOT NULL, JENIS VARCHAR(25), STOK NUMBER(5), KD_SUPP CHAR(5) CONSTRAINT BRG_KD_FK REFERENCES SUPPLIER(KD_SUPP) );
3. CREATE TABLE PASOKAN BARANG
Create Tabel Pbrg ( KD_SUPP CHAR(5) CONSTRAINT PBRG_SUPP_FK REFERENCES SUPPLIER(KD_SUPP), KD_BRG CHAR(5) CONSTRAINT PBRG_BRG_FK REFERENCES BARANG(KD_BRG), TGL_PASOK DATE DEFAULT SYSDATE, JML_PASOK NUMBER(5) NOT NULL, CONSTRAINT PBRG_PK PRIMARY KEY (KD_SUPP,KD_BRG) );
Dan yang kedua adalah DML atau kepanjangannya Data Manipulation Language, yaitu dipakai untuk memanipulasi daan pengambilan data pada suatu basis data, misalnya seperti penambahan data yang baru ke dalam suatu basis data, menghapus data pada suatu basis data dan mengubah data pada suatu basis data. Itulah definisi dar DML. Untuk syntax DML yaitu :
Untuk contoh sebagai berikut :
Insert adalah memasukkan data kedalam table yang sudah kita buat. Contoh :
INSERT into <table_name|column1, column2, column3,.., columnN> VALUES (val_col1,val_col2,val_col3,…,val_coln)
Keterangan :
Table_name adalah nama dari suatu tabel column adalah nama dari kolom dalam tabel yang ditambah values adalah nilai yang sesuai untuk kolom
Contoh :
INSERT INTO Barang (kd_brg,nm_brg,jenis,stok) VALUES ('B001','Pepsodent','Pasta Gigi',500); INSERT INTO Barang (kd_brg,jenis,stok,nm_brg) VALUES ('B002', 'Pasta Gigi',200,'Ciptadent'); INSERT INTO Barang (kd_brg,jenis,stok,nm_brg)VALUES ('B003','Shampo',100,'Dove'); INSERT INTO Barang (kd_brg, nm_brg) VALUES ('B004','Sunsilk');
Contoh :
INSERT INTO Barang1 SELECT * FROM Barang ; INSERT INTO Barang2 (kd_brg,nm_brg,jenis,stok) SELECT * FROM Barang ; INSERT INTO Barang2 SELECT kd_brg,stok,nm_brg,jenis FROM Barang ;
Update yaitu menrubah atau mengupdate data yang telah kita buat di suatu table. Syntax sebagai berikut :
UPDATE <table_name> SET <column_name> = <value> [WHERE] <condition>
Keterangan :
BARANG | ||
KOLOM | TIPEDATA | CONSTRAINT |
KD_BRG | CHAR(5) | PRIMARY KEY |
NM_BRG | VARCHAR(50) | NOT NULL |
JENIS | VARCHAR(25) | |
STOK | NUMBER(5) |
UPDATE Barang SET jenis = 'Pasta Gigi' ; UPDATE Barang SET stok = 200 WHERE kd_brg = 'B001' ; UPDATE Barang SET stok = 200,jenis = 'Shampo' WHERE kd_brg = 'B002' ;
Delete yaitu menghapus data sesuai table yang kita pilih. Berikut syntax dari delete :
DELETE [from] <table_name> [WHERE] <condition>
Keterangan :
BARANG | ||
KOLOM | TIPEDATA | CONSTRAINT |
KD_BRG | CHAR(5) | PRIMARY KEY |
NM_BRG | VARCHAR(50) | NOT NULL |
JENIS | VARCHAR(25) | |
STOK | NUMBER(5) |
DELETE [FROM] Barang ;
DELETE Barang WHERE kd_brg = 'B001' ;
DELETE Barang WHERE jenis = 'Pasta Gigi' AND stok = 200 ;
Pengenalan SQL dan cara memanipulasi data yang dapat memanfaatkan Query untuk kebutuhan bisnis lainnya