Pengertian SQL Beserta Contoh Kodenya


Pengertian SQL

Structured Query Language atau biasa disebut SQL adalah suatu bahasa khusus yang digunakan untuk mengakses data-data yang ada di dalam sebuah database relasional.
SQL adalah bahasa komputer yang menggunakan standar ANSI (American Nasional Standard Institute) yang dipakai dalam manajemen database relasional.
Dengan SQL atau bisa juga disebut query kita dapat memanipulasi atau mengedit database sesuai yang kita kehendaki. seperti menjalankan query untuk mengambil data, menambah data, memperbarui data dan menghapus data.
Sampai sekarang hampir keseluruhan server database maupun software – software database lainnya mengenal serta mampu mengartikan bahasa SQL. oleh karenanya belajar bahasa SQL sangat penting bagi yang bergelut dibidang IT maupun yang selalu bersinggungan dengan database relasional.

Sejarah MySQL

MySQL adalah pengembangan lanjutan dari proyek UNIREG yang dikerjakan oleh Michael Monty Widenius dan TcX (perusahaan perangkat lunak asal Swedia).
mysql adalah pendiri
Michael Monty Widenius
(source: www.wikipedia.org)
Sayangnya, UNIREG belum terlalu kompatibel dengan database dinamis yang dipakai di website. TcX kemudian mencari alternatif lain dan menemukan perangkat lunak yang dikembangkan oleh David Hughes, yaitu miniSQL atau mSQL. Namun, ditemukan masalah lagi karena mSQL tidak mendukung indexing sehingga belum sesuai dengan kebutuhan TcX.
Pada akhirnya muncul kerjasama antara pengembang UNIREG (Michael Monty Widenius), mSQL (David Hughes), dan TcX. Kerjasama ini bertujuan untuk mengembangkan sistem database yang baru, dan pada 1995 dirilislah MySQL seperti yang dikenal saat ini. Saat ini pengembangan MySQL berada di bawah Oracle.

Kelebihan dan Kekurangan MySQL

Setelah mempelajari pengertian MySQL dan sejarahnya, ada baiknya jika Anda juga mengetahui kelebihan dan kekurangannya juga.
Meskipun menjadi database yang cukup populer, MySQL tentu mempunyai beberapa kelebihan dan kekurangan dibandingkan dengan database server lainnya. Salah satu kekurangan MySQL adalah performanya turun di saat beberapa database manajemen sistem mampu bekerja baik pada pengelolaan database yang besar.
Adapun kelebihan dan kekurangan MySQL lain, di antaranya:

Kelebihan MySQL

MySQL mempunyai beberapa kelebihan yang bisa Anda manfaatkan untuk mengembangkan perangkat lunak yang andal seperti:

1. Mendukung Integrasi Dengan Bahasa Pemrograman Lain.

Website atau perangkat lunak terkadang dikembangkan dengan menggunakan berbagai macam bahasa pemrograman, jadi Anda tidak perlu khawatir jika menggunakan MySQL. Maka dari itu, MySQL bisa membantu Anda untuk mengembangkan perangkat lunak yang lebih efektif dan tentu saja lebih mudah dengan integrasi antara bahasa pemrograman.

2. Tidak Membutuhkan RAM Besar.

MySQL dapat dipasang pada server dengan spesifikasi  kecil. Jadi tidak perlu khawatir jika Anda hanya mempunyai server dengan kapasitas 1 GB karena Anda masih bisa menggunakan MySQL sebagai database Anda.

3. Mendukung Multi User.

MySQL dapat dipakai oleh beberapa user dalam waktu  bersamaan tanpa membuatnya crash atau berhenti bekerja. Ini dapat Anda manfaatkan ketika mengerjakan proyek yang sifatnya tim  sehingga seluruh tim dapat bekerja dalam waktu bersamaan tanpa harus menunggu user lain selesai.

4. Bersifat Open Source

MySQL adalah sistem manajemen database gratis. Meskipun gratis, bukan berarti database ini mempunyai kinerja buruk. Apalagi lisensi gratis yang dipakai adalah GPL di bawah pengelolaan Oracle sehingga kualitasnya termasuk baik. Selain itu, Anda juga tidak perlu khawatir jika terjadi masalah karena banyak komunitas dan dokumentasi yang membahas soal MySQL.

5. Struktur Tabel yang Fleksibel.

MySQL mempunyai struktur tabel yang mudah dipakai dan fleksibel. Contohnya saat MySQL memproses ALTER TABLE dan lain sebagainya. Jika dibandingkan dengan database lain seperti Oracle dan PostgreSQL, MySQL tergolong lebih mudah.

6. Tipe Data yang Bervariasi.

Kelebihan lain dari MySQL adalah mendukung berbagai macam data yang bisa Anda gunakan di MySQL. Contohnya float, integer, date, char, text, timestamp, double, dan lain sebagainya. Jadi manajemen database sistem ini sangat membantu Anda untuk mengembangkan perangkat lunak yang berguna untuk pengelolaan database di server.

7. Keamanan yang Terjamin.

Open source bukan berarti MySQL menyediakan keamanan yang buruk. Malah sebaliknya, MySQL mempunyai fitur keamanan yang cukup apik. Ada beberapa lapisan keamanan yang diterapkan oleh MySQL, seperti level nama host, dan subnetmask. Selain itu MySQL juga dapat mengatur hak akses user dengan enkripsi password tingkat tinggi.

Kekurangan MySQL

Sayangnya, meskipun memiliki segudang kelebihan, masih ada beberapa kelemahan yang dimiliki oleh MySQL sehingga Anda perlu mempertimbangkannya juga sebelum memakainya.

1. Kurang Cocok untuk Aplikasi Game dan Mobile

Anda yang ingin mengembangkan aplikasi game atau perangkat mobile ada baiknya jika mempertimbangkan lagi jika ingin menggunakan MySQL. Kebanyakan pengembang game maupun aplikasi mobile tidak menggunakannya karena memang database manajemen sistem ini masih kurang bagus dipakai untuk sistem aplikasi tersebut.

2. Sulit Mengelola Database yang Besar

Jika Anda ingin mengembangkan aplikasi atau sistem di perusahaan dengan database yang cukup besar, ada baiknya jika menggunakan database manajemen sistem selain MySQL. MySQL dikembangkan supaya ramah dengan perangkat yang mempunyai spesifikasi rendah, itulah mengapa MySQL tidak memiliki fitur yang lengkap seperti aplikasi lainnya

3. Technical Support yang Kurang Bagus

Sifatnya yang open source terkadang membuat aplikasi tidak menyediakan technical support yang memadai. Technical support MySQL diklaim kurang bagus. Hal ini membuat pengguna kesulitan. Apalagi jika pengguna mengalami masalah yang berhubungan dengan pengoperasian perangkat lunak tersebut dan membutuhkan bantuan technical support.
Anda sudah belajar pengertian, sejarah, kekurangan, dan kelebihan mysql. Anda bisa melanjutkan membaca untuk belajar MySQL dari dasar.

5 Query SQL Dasar yang harus kamu ketahui ketika belajar Database

Kali ini saya akan menjelaskan 5 Query SQL dasar yang seharusnya diketahui oleh pemula sebelum belajar SQL lebih dalam lagi. Query berikut ini sendiri query dasar yang cukup sering digunakan utamanya untuk membuat operasi CRUD pada aplikasi atau web. Dikarenakan di tutorial kali ini ada istilah database yang belum tentu teman-teman tau, ada baiknya teman-teman membaca tutorial sebelumnya mengenai Istilah dasar pada database dan barangkali disini ada yang belum tau bagaimana cara menggunakan SQL dan melakukan operasi CREATE bisa membaca Cara belajar mengunakan MySQL dan membuat Database beserta tabelnya.
Sebelumnya, silahkan masukan perintah Query dibawah ini ke terminal/cmd untuk bahan praktek.
CREATE DATABASE IF NOT EXISTS belajar;
USE belajar;

DROP TABLE IF EXISTS customers;

CREATE TABLE IF NOT EXISTS customers(
    id int PRIMARY KEY AUTO_INCREMENT,
    nama VARCHAR(255) NOT NULL,
    alamat VARCHAR(255) NOT NULL,
    kota VARCHAR(255) NOT NULL,
    negara VARCHAR(255) NOT NULL
);


INSERT INTO customers(nama, alamat, kota, negara) 
VALUES ('Bagus Mantonafi', 'Jalan Pulau Saelus', 'Denpasar', 'Indonesia'),
('Hendry', 'Jalan Watturenggong', 'Denpasar', 'Indonesia'),
('John Doe', 'St. sixth nine', 'New York', 'USA');

1. SELECT

Untuk Menampilkan Data

SELECT berfungsi untuk menampilkan data pada table secara kesuluruhan.

Syntax Dasar :

/** Syntax dasar SELECT **/
SELECT * FROM nama_tabel

/** ATAU **/

/** Syntax dasar SELECT **/
SELECT nama_field, nama_field, nama_field FROM nama_tabel

Contoh Penggunaan :

SELECT * FROM customers;
/** penggunaan tanda * (bintang) artinya digunakan memilih semua field **/

SELECT nama, kota FROM customers;
/** nama dan kota merupakan sebuah nama_field **/

2. WHERE

Untuk memfilter data/record

where memiliki fungsi untuk memfilter data/record. pengunaan select dapat menampilkan keseluruhan data, sedangkan dengan menambah perintah where setelah select maka data yang ditampilkan dapat difilter/disaring. Dengan menggunakan where teman-teman juga dapat menggunakan beberapa operator layaknya di bahasa pemograman seperti :
  • Operator Sama Dengan =
  • Operator Tidak Sama Dengan <>
  • Operator Lebih Besar Dari >
  • Operator Lebih Kecil Dari <
  • Operator Lebih Besar Sama Dengan >=
  • Operator Lebih Kecil Sama Dengan <=
  • Bedasarkan jangkauan nilai BETWEEN
  • Dan untuk memfilter bedasarkan pola huruf yang sama LIKE
    • PENTING :
Saya menyarankan untuk teman-teman agar tidak menghafalkan operator diatas secara paksa. lebih baik dipraktekan, secara tidak langsung nantinya teman-teman bisa hafal dengan sendirinya

Syntax Dasar :

SELECT * FROM nama_tabel WHERE nama_field = 'nilai'

Contoh Penggunaan :

Menampilkan customers yang memiliki id 1
SELECT * FROM customers WHERE id = '1';
/** query diatas untuk menampilkan customers yang memiliki id 1 **/
Menampilkan customers yang tidak memiliki nama ‘bagus mantonafi’
SELECT * FROM customers WHERE nama <> 'Bagus Mantonafi';
/** query diatas untuk menampilkan customers yang memiliki nama selain 'bagus mantonafi' **/
Menampilkan customers yang bertempat tinggal di kota denpasar
SELECT * FROM customers WHERE kota = 'Denpasar';
/** query diatas untuk menampilkan customers yang bertempat tinggal di kota denpasar **/
Menampilkan customer yang tinggal di negara indonesia
SELECT * FROM customers WHERE negara = 'Indonesia';
/** query diatas untuk menampilkan customer yang tinggal di negara indonesia **/

3. INSERT

Memasukan Data/Record baru

Untuk memasukan atau menambah record/data baru ke table

Sytax Dasar :

Tanpa mendefiniskan nama field
INSERT INTO nama_tabel VALUES('nilai_masukan', 'nilai_masukan', 'dst');
Dengan mendefinisikan nama field
INSERT INTO nama_tabel('nama_field', 'nama_field', 'dst' ) VALUES('nilai_masukan', 'nilai_masukan', 'dst');
Syntax diatas memang sedikit susah dibaca karena memang sangat panjang oleh karena itu teman-teman dapat menyederhanakannya dengan menambah baris baru setelah nama tabel menjadi seperti dibawah ini.
INSERT INTO nama_tabel('nama_field', 'nama_field', 'dst' ) 
VALUES('nilai_masukan', 'nilai_masukan', 'dst');
/** lebih rapi dari yang diatas

Contoh Penggunaan :

Memasukan data berikut ini ke tabel :
nama:Sholahudin
kota:Jakarta
negara:Indonesia
Tanpa mendefiniskan nama field
INSERT INTO customers VALUES('', 'Sholahudin', 'Jakarta', 'Indonesia');
Dengan mendefinisikan nama field
INSERT INTO customers('nama', 'kota', 'negara') 
VALUES('Sholahudin', 'Jakarta', 'Indonesia');

4. UPDATE

Memperbarui Data/Record

Memperbarui atau memberbaiki record/data yang sudah ada pada tabel.
UPDATE customers
SET nama='Hendry'
WHERE id = '4';
Query diatas hanya mengubah nama saja. Query dibawah ini dapat mengubah nama dan kota sekaligus cukup dengan menambahkan nama field pada SET saja dan pisahkan dengan koma ,.
UPDATE customers
SET nama = 'Agix', kota = 'Gianyar'
WHERE name = 'Hendry';

  • PENTING :

Setiap mengubah data dengan klausa UPDATE diharapkan menambah klausa WHERE di akhir. Tujuannya agar tidak mengubah seluruh record. Silahkan mencoba tanpa klausa WHERE agar tau dampak yang ditimbulkan

5. DELETE

Menghapus Data/Record

Penggunaan DELETE digunakan untuk menghapus record pada tabel. baik itu satu data/record atau lebih.
DELETE FROM customers
WHERE negara = 'USA';

  • PENTING :

Sama halnya klausa UPDATE, klausa DELETE juga harus diakhiri dengan WHERE penggunaan klausa DELETE tanpa WHERE dapat menyebabkan seluruh record yang telah dimasukan ke tabel terhapus

Komentar

Postingan populer dari blog ini

Bahasa Pemograman PHP Dan Contoh Kodenya