0% menganggap dokumen ini bermanfaat (0 suara)
49 tayangan58 halaman

Bahasa SQL

Dokumen tersebut membahas tentang bahasa SQL dan jenis-jenis perintah SQL beserta penjelasan mengenai tipe data yang digunakan dalam MySQL. Terdapat tiga jenis perintah utama SQL yaitu DDL untuk struktur data, DML untuk manipulasi data, dan DCL untuk kontrol akses. Tipe data yang digunakan meliputi numerik, string, date dan lainnya dengan penjelasan format dan karakteristik masing-masing tipe data.

Diunggah oleh

Zacky Haruna
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 PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
49 tayangan58 halaman

Bahasa SQL

Dokumen tersebut membahas tentang bahasa SQL dan jenis-jenis perintah SQL beserta penjelasan mengenai tipe data yang digunakan dalam MySQL. Terdapat tiga jenis perintah utama SQL yaitu DDL untuk struktur data, DML untuk manipulasi data, dan DCL untuk kontrol akses. Tipe data yang digunakan meliputi numerik, string, date dan lainnya dengan penjelasan format dan karakteristik masing-masing tipe data.

Diunggah oleh

Zacky Haruna
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 PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 58

BAHASA SQL

• Structured Query Language (SQL) merupakan bahasa database.


• Hampir semua aplikasi database relational, seperti MySQL, Oracle,
dan Microsoft SQL Server menggunakan SQL untuk menangani
perintah-perintah dalam operasional database.
• SQL (Structured Query Language) adalah bahasa pemrograman
khusus yang digunakan untuk memanajemen data dalam RDBMS.
SQL biasanya berupa perintah sederhana yang berisi instruksi-
instruksi untuk manipulasi data. Perintah SQL ini sering juga disingkat
dengan sebutan ‘query‘.
JENIS-JENIS PERINTAH SQL
• Perintah atau instruksi SQL dapat dikelompokkan berdasarkan jenis dan
fungsinya. Terdapat 3 jenis perintah dasar SQL : Data Definition Language, Data
Manipulation Language dan Data Control Language.
1. Data Definition Language (DDL) adalah jenis instruksi SQL yang berkaitan
dengan pembuatan struktur tabel maupun database. Termasuk diantaranya :
CREATE, DROP, ALTER, dan RENAME.

2. Data Manipulation Language (DML) adalah jenis instruksi SQL yang berkaitan
dengan data yang ada dalam tabel, tentang bagaimana menginput,
menghapus, memperbaharui serta membaca data yang tersimpan di dalam
database. Contoh perintah SQL untuk DML : SELECT, INSERT, DELETE, dan
UPDATE.

3. Data Control Language (DCL) adalah jenis instruksi SQL yang berkaitan dengan
manajemen hak akses dan pengguna (user) yang dapat mengakses database
maupun tabel. Termasuk diantaranya : GRANT dan REVOKE.
Selain ketiga jenis perintah SQL, terdapat juga 2
jenis SQL tambahan : Transaction Control
Language, dan Programmatic SQL.
• Transaction Control Language (TCL) adalah perintah SQL untuk proses
transaksi. Proses transaksi ini digunakan untuk perintah yang lebih dari 1,
namun harus berjalan semua, atau tidak sama sekali. Misalnya untuk
aplikasi critical seperti transfer uang dalam sistem database perbankan.
Setidaknya akan ada 2 perintah, yaitu mengurangi uang nasabah A, dan
menambah uang nasabah B. Namun jika terjadi kesalahan sistem, kedua
transaksi ini harus dibatalkan. Tidak bisa hanya satu perintah saja.
Termasuk ke dalam TCL adalah perintah : COMMIT, ROLLCABK, dan SET
TRANSACTION.
• Programmatic SQL berkaitan dengan sub program (stored procedure)
maupun penjelasan mengenai struktur database. Contoh perintah seperti :
DECLARE, EXPLAIN, PREPARE, dan DESCRIBE.
MENJALANKAN PERINTAH (QUERY) MYSQL

• Setiap perintah, atau sering juga disebut “query” di dalam MySQL harus
diakhiri dengan tanda titik koma “;” dan akan dieksekusi setelah
tombol Enter ditekan. Selama query MySQL belum diakhiri dengan “;”
maka itu dianggap masih dalam satu perintah.

• untuk setiap fungsi dipisahkan dengan tanda koma “,”.

• Ketika kita menjalankan sebuah perintah MySQL (query), query tersebut


akan dikirim dari MySQL Client ke MySQL Server untuk di proses, setelah
proses selesai, hasilnya akan dikirim kembali ke MySQL Client.
Contoh :

• Selain menggunakan “;”, query MySQL juga akan mengeksekusi perintah juga
diakhiri dengan tanda “\g”.
Penulisan perintah (query) MySQL juga tidak
harus dalam satu baris. Misalnya, kita bisa
menjalankan query berikut:
ika kita telah membuat query MySQL, namun
memutuskan untuk membatalkannya, dapat
dilakukan dengan kode “\c”. Contoh querynya:
Aturan Penulisan huruf BESAR dan kecil
dalam MySQL
• Konsep penggunaan huruf besar dan
huruf kecil dalam MySQL akan berbeda
tergantung saat penggunaannya.
• MySQL tidak membedakan penulisan
huruf besar maupun kecil (case
insensitive) dalam penulisan fungsi dan
identifier.
• Sebagai contoh, ketiga query ini akan
menghasilkan output yang sama (kecuali
header dari tabel):
• Untuk penulisan nama database dan nama tabel,
MySQL akan mengikuti sistem operasi dimana MySQL
Server berjalan.
• Untuk Sistem Operasi Windows, nama database mahasiswa dianggap
sama dengan MaHaSIsWA, namun dalam MySQL Server yang berjalan
pada Linux, kedua database tersebut dianggap berbeda (case
sensitive).
• Karena hal ini, ada baiknya kita membiasakan menggunakan
kesepakatan dalam penamaan. Disarankan untuk menggunakan
selalu huruf kecil dalam penulisan database, tabel dan variabel dalam
MySQL, sehingga perbedaan huruf tidak akan menjadi masalah pada
kemudian hari jika MySQL Server pindah sistem operasi.
TIPE DATA DALAM MYSQL
TIPE DATA NUMERIK
(Integer, Fixed Point, dan Floating Point)
• Tipe Data Integer MySQL: Tinyint , Smallint, Mediumint, Integer (Int),
dan Bigint
Format query untuk tipe data integer adalah:

• INT[(M)] [UNSIGNED] [ZEROFILL]

• Setiap tipe data integer dapat di definisikan sebagai UNSIGNED,


dimana kita mengorbankan nilai negatif, untuk mendapatkan
jangkauan nilai positif yang lebih tinggi.
• ZEROFILL ini berhubungan dengan nilai M, yang akan mengisi angka 0
pada bagian kiri nilai yang diinput alih-alih spasi.
Contoh query pembuatan tabel dengan
deklarasi integer :
Tipe Fixed Point MySQL: DECIMAL
• Tipe data fixed point adalah tipe data angka pecahan (desimal), dimana
jumlah angka pecahan (angka di belakang koma) sudah di tentukan dari
awal. Format penulisan query fixed point adalah:

• DECIMAL [(M[,D])] [UNSIGNED] [ZEROFILL]

• DECIMAL merupakan kata kunci untuk mendefiniskan suatu kolom sebagai


fixed point.

• Besar dari tipe data fixed point ini tergantung dari opsional query [M,D]
dimana M adalah total jumlah digit keseluruhan, dan D adalah jumlah digit
dibekang koma (pecahan). Contohnya DEC [6,2] akan mendefiniskan suatu
kolom agar memuat 6 digit angka, dengan 4 angka di depan koma, dan 2
digit angka di belakang koma.

• Maksimal nilai untuk M adalah 65, dan maksimal nilai D adalah 30. Dengan
syarat, nilai D tidak boleh lebih besar dari nilai M. Jika kita tidak
menyertakan M dan D dalam mendefinisikan suatu kolom DECIMAL, maka
secara sistem M akan di set 10. Dan D default 0. Tipe data DECIMAL ini
cocok digunakan untuk kolom yang difungsikan untuk menampung nilai
uang.
Tipe Floating Point : FLOAT dan DOUBLE

• Jika pada tipe fixed point kita mendefiniskan suatu kolom dengan
nilai pecahan yang tetap, untuk tipe floating point, nilai pecahan yang
dapat diinput bisa berbeda-beda.
• Untuk tipe floating point, MySQL menyediakan 2 jenis tipe data,
yaitu FLOAT dan DOUBLE.
• Perbedaan keduanya terletak pada presisi (ketelitian)
pembulatan. FLOAT menggunakan single-precision,
sedangkan DOUBLE menggunakan double-precision.
• Untuk tipe data FLOAT dan DOUBLE, format querynya adalah:
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]

• Sama seperti pada tipe data DECIMAL, nilai opsional query [M, D] dimana M adalah total jumlah
digit keseluruhan, dan D adalah jumlah digit dibekang koma (pecahan). Maksimal nilai M dan D
akan berbeda pada tiap komputer, tergantung kemampuan prosesor mengolah tipe data floating
point. FLOAT biasanya akan akurat untuk penyimpanan sekitar 7 angka desimal, sedangkan
DOUBLE mencapai 15 angka desimal.

• Opsional query UNSIGNED jika di nyatakan, akan menghilangkan kemampuan tipe data untuk
meyimpan angka negatif (tidak menambah jangkauan sebagaimana tipe data integer)

• Opsional query ZEROFILL sama seperti integer, akan mengisi angka 0 pada bagian kiri angka.
tipe data string: CHAR, VARCHAR, BINARY,
VARBINARY, TEXT dan BLOB.
• Perbedaan dari tipe data ini adalah dari ukuran, cara penyimpanan,
dan dukungan case-sensitif (perbedaan huruf besar dan kecil).
TIPT CHAR dan VARCHAR
• Format query tipe data CHAR dan VARCHAR:

CHAR [(M)]
VARCHAR [(M)]
• Dimana M adalah jumlah karakter yang akan dialokasikan oleh MySQL. Misalkan nilai M=5, maka MySQL menyediakan 5 karakter
untuk kolom tersebut. Nilai maksimal M adalah 255 karakter untuk CHAR, dan 65,535 karakter untuk VARCHAR. Jika nilai M tidak di
nyatakan, nilai defaultnya M=1.

• Perbedaan antara CHAR dan VARCHAR adalah dari cara MySQL mengalokasikan ukuran penyimpanan data yang diinput kedalam
kolom tersebut. Contohnya, jika kita mendefiniskan sebuah tabel dengan kolom bertipe CHAR(5), walaupun huruf atau karakter
yang kita inputkan hanya 1 karakter, MySQL tetap menyimpan kolom tersebut untuk 5 karakter. Namun jika kita definiskan sebagai
VARCHAR(5), dan kita menginput data dengan jumlah karakter 2, maka ukuran penyimpanan hanya akan menggunakan 2 karakter,
sehingga VARCHAR lebih fleksibel dan efisien.

• Tetapi untuk fleksibilitas ini, tipe VARCHAR memerlukan proses tambahan untuk menyimpan ukuran dari masing-masing data.
Sehingga VARCHAR akan sedikit lebih lambat bila dibandingkan CHAR. Walaupun demikian, proses ini hampir tidak terdeteksi,
anda bebas menggunakan CHAR atau VARCHAR untuk tipe data string.
• kebutuhan akan tipe data antara CHAR dan VARCHAR bergantung kepada seperti apa
data yang akan kita input. Tipe data CHAR cocok digunakan untuk kolom yang
memiliki jumlah karakter tetap, misalnya untuk nomor KTP, ID pelanggan dan NIM
mahasiswa. Sedangkan tipe data VARCHAR akan lebih cocok digunakan untuk kolom
yang berisi data yang berbeda-beda ukuran, seperti nama, alamat dan kota.
• Baik CHAR maupun VARCHAR data yang diinput akan disimpan secara case insensitif,
dimana huruf besar dan kecil tidak dibedakan.
• Untuk tipe data CHAR, jika kita menginputkan data dengan spasi dibelakangnya,
misalnya ‘aku ’ (terdapat 3 spasi setelah ‘aku’), maka sewaktu menampilkan data,
spasi tersebut akan otomastis dihapus oleh MySQL, menjadi‘aku’. Pertimbangkan
menggunakan VARCHAR jika hal ini anda butuhkan, dimana VARCHAR akan tetap
menampilkan ‘aku ’.
Tipe Data BINARY dan VARBINARY dalam MySQL

• Pada dasarnya tipe data BINARY dan VARBINARY sama dengan CHAR dan VARCHAR, perbedaannya hanya pada struktur
peyimpanan dalam MySQL, dimana tipe data binary akan disimpan secara biner (bit per bit), bukan secara karakter seperti CHAR.
Sederhananya, hal ini akan berefek pada case-sensitif data (perbedaan penggunaan huruf besar dan huruf kecil).

• Pada tipe data CHAR, jika kita menyimpan data ‘A’, maka secara internal MySQL akan menyimpannya sebagai karakter ‘A’, dimana
‘A’ akan sama dengan ‘a’. Namun untuk tipe data BINARY, ‘A’ akan disimpan sebagai bit dari ‘A’, yaitu 65, dan akan berbeda dengan
‘a’, dimana nilai binernya adalah 97.

• Format query tipe data BINARY dan VARBINARY:

BINARY [(M)]
VAR BINARY [(M)]
• Dimana sama seperti tipe data CHAR dan VARCHAR, M adalah jumlah karakter yang akan dialokasikan oleh MySQL. Misalkan
nilai M adalah 5, maka MySQL menyediakan 5 karakter untuk kolom tersebut. Nilai M maksimal 255 karakter untuk BINARY,
dan 65,535 karakter untuk VARBINARY. Jika nilai M tidak di ny
• BINARY akan disimpan dalam ukuran yang tetap, sedangkan VARBINARY akan berubah sesuai ukuran data (sama dengan
perbedaan antara CHAR dan VARCHAR)atakan, nilai defaultnya adalah 1.
Tipe Data TEXT MySQL

• Untuk data string yang lebih besar, MySQL menyediakan tipe data TEXT,
yang terdiri dari : TINYTEXT, TEXT, MEDIUMTEXT, dan LONGTEXT.

• Setiap tipe data text disimpan berdasarkan berapa data yang diinput, sama
seperti VARCHAR, dimana jika kita mendefinisikan suatu kolom
sebagai LONGTEXT, dan hanya berisi 100 karakter, ukuran penyimpanan
yang digunakan sekitar 100 byte, bukan 4GB.
Tipe Data BLOB MySQL
• Tipe data BLOB adalah tipe data versi binary dari TEXT, dimana karakter akan
disimpan dalam bit. Dan untuk karakter huruf, huruf besar dan kecil akan
dibedakan (‘A’ tidak sama dengan ‘a’). Sama seperty TEXT, BLOB juga memiliki
beberapa tipe : TINY BLOB, BLOB, MEDIUM BLOB, dan LONGBLOB.
• Ukuran serta jangkauan dari BLOG sama seperti TEXT
• Karena sifatnya yang tersimpan secara binary,tipe data BLOB dapat digunakan
untuk menyimpan data multimedia, seperti gambar dan musik kedalam tabel
MySQL.
TIPE DATA DATE
• tipe data date (tanggal), tipe data ini digunakan untuk menyimpan data
yang berkaitan dengan tanggal dan waktu.
• Tipe data date, terdiri dari: DATE, TIME, DATETIME, TIMESTAMP, dan YEAR.
• Perbedaan dari tipe-tipe tersebut terletak pada format penyimpanan data.
• CCYY : input untuk tahun, dimana YY berupa tahun 2 digit, seperti 98, 78,
dan 00, sedangkan untuk CCYY adalah tahun dengan 4 digit, seperti 2001,
1987, 2012. Untuk tahun dengan 2 digit, MySQL mengkonversinya dengan
aturan 70-99 menjadi 1970-1999 dan 00-69 menjadi 2000-2069.
• MM: bulan dalam format dua digit, seperti 05,07,dan 12.
• DD: tanggal dalam format dua digit, seperti 14, 06 dan 30.
• hh: jam dalam format 2 digit, seperti 06,09, dan 12.
• mm: menit, dalam format 2 digit, seperti 15, 45, dan 59.
• ss: detik, dalam format 2 digit, seperti 10, 40, dan 57.
• Jika MySQL tidak dapat membaca format, atau data tidak tersedia, maka
data akan diisi sesuai dengan nilai pada Zero Value
Tipe Data ENUM dan SET dalam MySQL

• Tipe data ENUM merupakan tipe data yang khusus untuk kolom
dimana nilai datanya sudah kita tentukan sebelumnya.
• Pilihan ini dapat berisi 1 sampai dengan 65,535 pilihan string. Dimana
kolom yang didefinisikan sebagai ENUM hanya dapat
memilih satu diantara pilihan string yang tersedia.
• Contoh penggunaan ENUM misalnya untuk kolom yang berisi daftar
Jurusan yang harus dipilih mahasiswa. Pilihan ini harus sudah tersedia
sebelumnya, dan kita dapat menggunakan tipe data enum untuk
memastikan bahwa jurusan yang dipilih adalah jurusan yang telah
ditentukan sebelumnya dan hanya 1 jurusan.
Tipe data SET dalam MySQL
• Berbeda dengan tipe data ENUM dimana pilihan yang tersedia untuk
kolom hanya dapat 1 data, untuk kolom SET kita dapat memilih satu
atau lebih nilai yang tersedia dari 1 sampai 64 pilihan string yang
tersedia.
• Contoh penggunaan tipe data SET adalah untuk data tentang hobby
seseorang, karena bisa aja seseorang memiliki hobi yang lebih dari 1,
namun kita ingin memilih dari kumpulan list yang telah kita buat
sebelumnya.
Atribut Tipe Data dalam MySQL
• Untuk pembuatan sebuah tabel dalam MySQL, selain mendefinisikan
tipe data, kita juga dapat mendefinisikan atribut dari tipe data
tersebut

• Atribut tipe data adalah aturan yang kita terapkan untuk sebuah
kolom.

• MySQL memiliki banyak atribut tipe data, diantaranya atribut tipe


data yang paling umum digunakan,
yakni: AUTO_INCREMENT, BINARY, DEFAULT, NOT
NULL, NULL, SIGNED, UNSIGNED, dan ZEROFILL.
Atribut AUTO_INCREMENT

• Atribut AUTO_INCREMENT digunakan untuk tipe data numerik


(biasanya tipe data INT), dimana jika kita menetapkan sebuah kolom
dengan atribut AUTO_INCREMENT, maka setiap kali kita
menginputkan data, nilai pada kolom ini akan bertambah 1. Nilai pada
kolom tersebut juga akan bertambah jika kita input
dengan NULL atau nilai 0.
• Pada sebuah tabel, hanya 1 kolom yang dapat dikenai
atribut AUTO_INCREMENT. Setiap kolom AUTO_INCREMENT juga
akan dikenakan atribut NOT NULL secara otomatis.
Kolom AUTO_INCREMENT juga harus digunakan
sebagai KEY (biasanya PRIMARY KEY)
• Atribut BINARY
Atribut BINARY digunakan untuk tipe data huruf, seperti CHAR dan VARCHAR. Tipe
data CHAR, VARCHAR dan TEXT tidak membedakan antara huruf besar dan kecil (case-
insensitive), namun jika diberikan atribut BINARY, maka kolom tersebut akan membedakan
antara huruf besar dan kecil (case-sensitive)

• Atribut DEFAULT
Atribut DEFAULT dapat digunakan pada hampir semua tipe data. Fungsinya
untuk menyediakan nilai bawaan untuk kolom seandainya tidak ada data yang diinput
kepada kolom tersebut.

• Atribut NOT NULL


Atribut NOT NULL dapat digunakan pada hampir semua tipe data, Fungsinya untuk
memastikan bahwa nilai pada kolom tersebut tidak boleh kosong. Jika kita menginput data,
namun tidak memberikan nilai untuk kolom tersebut, akan menghasilkan error pada
MySQL.

• Atribut NULL
Atribut NULL berkebalikan dengan NOT NULL, dimana jika sebuah kolom didefinisikan
dengan NULL, maka kolom tersebut tidak harus berisi nilai.
• Atribut SIGNED
Atribut SIGNED digunakan untuk tipe data numerik. Berlawanan dengan atribut UNSIGNED,
dimana atribut ini berfungsi agar kolom dapat menampung nilai negatif. Atribut SIGNED biasanya
dicantumkan hanya untuk menegaskan bahwa kolom tersebut mendukung nilai negatif, karena
MySQL sendiri telah menyediakan nilai negatif secara default untuk seluruh tipe numerik.

• Atribut UNSIGNED
Atribut UNSIGNED digunakan untuk tipe data numerik, namun berbeda sifatnya untuk tipe
data INT,DECIMAL dan FLOAT. Untuk tipe data INT,
atribut UNSIGNED berfungsi mengorbankan nilai negatif, untuk mendapatkan jangkauan nilai
positif yang lebih tinggi. Namun untuk tipe data DECIMAL dan FLOAT, atribut UNSIGNED hanya
akan menhilangkan nilai negatif, tanpa menambah jangkauan data.

• Atribut ZEROFILL
Atribut ZEROFILL digunakan untuk tipe data numerik, dimana berfungsi untuk tampilan format data
yang akan mengisi nilai 0 di sebelah kanan dari data. Jika kita menggunakan atribut ZEROFILL untuk
suatu kolom, secara otomatis kolom tersebut juga dikenakan attribut UNSIGNED.
Lets Do It
Masuk ke dalam Mysql
Menampilkan database
Membuat Database

Menghapus Database
Menggunakan query “drop database Akademik;”
Membuat table dalam database
• Memilih database yang akan digunakan
Membuat table, menampilkan table, dan
detail tabel
• Buat tiga table berikut :
• Mengisi data pada tabel
Menjadikan salah satu field sebagai Foreign Key pada table lain.
Jika table sudah dibuat sebelumnya maka menggunakan perintah alter
table, jika belum ada maka create table dan definisikan FK-nya
• Contoh membuat FK di awal pembuatan table :
• Contoh Jika sebelumnya sudah dibuat tebal beserta fieldnya namun
belum ada FK-nya
See u next

Anda mungkin juga menyukai