Artikel ini mengulas secara lengkap dan mendalam terkait topik “Apa itu MySQL?”. Kamu akan menemukan berbagai pengetahuan dasar dan panduan praktis mengenai MySQL.
Apa yang akan kamu pelajari?
- Pertama, pengertian MySQL dan bagaimana cara kerja MySQL.
- Kedua, sejarah munculnya MySQL dan kenapa MySQL bisa menjadi sangat popular.
- Ketiga, perintah-perintah penting di dalam MySQL yang perlu kamu ketahui.
- Terakhir, kelebihan dan kekurangan MySQL.
Sudah siap untuk membongkar informasi penting terkait MySQL? Let’s get started!
Apa Itu MySQL?
MySQL merupakan salah satu aplikasi RDBMS (Relational Database Management System) dan turunan dari SQL (Structured Query Language). MySQL berfungsi untuk mempermudah manajemen database. Nama MySQL berasal dari singkatan My dan SQL.
- My mewakili nama penemu MySQL yaitu Michael Widenius.
- SQL mewakili Structured Query Language.
Saat ini hak kepemilikan aplikasi MySQL telah dibeli oleh perusahaan Oracle Corporation. Akan tetapi, Oracle membagikan teknologi MySQL dengan gratis melalui lisensi GPLv2 or proprietary.
Agar kamu tidak bingung, mari belajar secara bertahap.
Pertama, kamu harus mengenal apa itu database relational.
Database relational adalah sebuah database yang saling terhubung. Ya, definisinya sesimple itu. Seperti pada makna aslinya yaitu saling berhubungan.
Lalu, bagian database mana yang terhubung? Dalam hal ini yang terhubung adalah sebuah tabel-tabel yang memiliki baris dan kolom. Baris dan kolom ini kamu bisa bayangkan seperti spreadsheet Excel, di mana data dari pengguna akan disimpan pada baris dan kolom tersebut.
Untuk lebih jelasnya perhatikan gambar ilustrasi di bawah ini:
Kedua, kamu harus mengenal apa itu MySQL dan SQL.
Bagi kamu yang belum tahu, MySQL itu sebenarnya adalah turunan dari SQL. SQL (Structured Query Language) merupakan query/perintah yang digunakan untuk mengakses basis data. Jadi di dalam database MySQL memiliki pengolahan data yang kurang lebih sama dengan aturan dari SQL.
Sebagai contoh, di dalam MySQL terdapat aturan pengolahan database CRUD (CREATE, READ, UPDATE, dan DELETE). Bagi kamu yang sudah belajar mengenai aplikasi web, pasti tidak asing dengan perintah-perintah tersebut.
Semenjak adanya MySQL, para web developer mendapatkan banyak kemudahan dalam melakukan manajemen database. Karena pada pengelolaan database model lama, kamu harus mengetikkan perintah query secara manual. Dan proses ini kamu lakukan secara terus-menerus untuk memanipulasi basis data.
Pada teknologi MySQL terbaru, kamu bahkan dapat mengoperasikan MySQL dengan tampilan GUI (graphical user interface). Akibatnya, proses manajemen database semakin cepat dan efisien.
Ingin tahu lebih banyak rahasia MySQL? Let’s dive in!
Berikut contoh tools yang bisa kamu pakai untuk mengoperasikan MySQL secara query maupun GUI:
1. MySQL Server
MySQL Server khusus digunakan untuk server production. Satu hal yang perlu kamu tahu, pengoperasian MySQL server tidak menggunakan GUI. Tujuan dari hal ini adalah untuk memperkecil beban penyimpanan server. Dengan demikian, server menjadi lebih ringan.
Lalu, pengoperasian MySQL Server itu seperti apa? Ya, kamu harus menggunakan query langsung pada perintah terminal server tersebut. Mulai dari pembuatan database, tabel maupun pemberian akses untuk setiap database maupun tabel. Semuanya full manual.
2. MySQL Workbench
Tool MySQL Workbench khusus dirancang untuk pengembang aplikasi. MySQL Workbench berfungsi untuk mengelola basis data sebelum diluncurkan ke sisi production.
Pengelolaan database dapat menggunakan tampilan GUI, Dengan demikian, proses pengembangan basis data, administrator basis data dan arsitektur basis data jauh lebih cepat.
Isi dari tools MySQL Workbench ini sangatlah banyak. Mulai dari pembuatan database/table secara GUI maupun menampilkan design hubungan antar tabel di suatu database.
Agar kamu lebih paham, saya perlihatkan salah satu kelebihan MySQL Workbench. Perhatikan gambar di bawah ini:
Dengan MySQL Workbench kamu dapat melakukan berbagai hal, misalnya:
- SQL Development.
- Visual SQL editor.
- Connection management.
- Object management.
- Data Modeling.
- Forward and reverse engineering.
- Change management.
- Database documentation.
- Server Administration.
- User administration.
- Server configuration.
- Server connections.
- Server logs.
- Services control.
- Server status.
3. MySQL Cluster
Tools MySQL Cluster khusus dirancang untuk perusahaan yang memiliki database lebih dari satu namun saling berhubungan. Kenapa harus memiliki database lebih dari satu? Jawaban singkatnya adalah untuk mengurangi downtime saat aplikasi melakukan pembaharuan.
Karena di dalam sebuah bisnis internet, waktu adalah uang. Apabila server atau database terjadi downtime dalam waktu lama akan mengganggu transaksi bisnis. Akibatnya, keuntungan perusahaan akan berkurang bahkan mengalami kerugian.
Bagaimana cara mengoperasikan tools MySQL Cluster? Kamu harus mengoperasikan tools MySQL Cluster menggunakan perintah query secara langsung. Karena biasanya tools MySQL cluster ini dipakai pada server production.
4. MySQL Connector
MySQL Connector ini sebenarnya sebuah tools MySQL yang khusus dibuatkan untuk menghubungkan antara bahasa pemrograman dengan database MySQL. Contohnya, apabila bahasa Java ingin menggunakan database MySQL maka kamu harus install MySQL JDBC Driver.
Lalu, untuk bahasa pemrograman PHP juga memiliki MySQL Connector yaitu menggunakan package php-mysql. Fungsi dari MySQL Connector tersebut untuk mengakses basis data.
Sejarah Terciptanya MySQL
Sejarah terciptanya MySQL dimulai pada tahun 1979. Pencipta MySQL adalah seorang programmer komputer bernama Michael “Monty” Widenius. Beliau saat itu sedang mengembangkan sebuah sistem database sederhana yaitu UNIREG. Saat mengembangkan sistem database tersebut beliau sedang bekerja di perusahaan Swedia yaitu TcX.
TcX pada tahun 1994 mulai mengerjakan aplikasi berbasis web. Aplikasi ini awalnya ingin menggunakan sistem database dari UNIREG milik Michael “Monty” Widenius. Namun dari pihak TcX menganggap UNIREG belum siap untuk database dinamis seperti web.
Lalu, perusahaan TcX mencoba sebuah alternatif menggunakan mSQL (miniSQL) yang dikembangkan oleh David Hughes. Setelah melakukan berbagai rangkaian uji coba, ternyata hasilnya tidak memuaskan. Performa dari mSQL tidak terlalu bagus karena belum mendukung indexing.
Akhirnya Monty mengajak David Hughes untuk mengembangkan konektor untuk mSQL dengan UNIREG sehingga mendukung indexing. Namun David Mughes menolak ajakan dari Monty dengan alasan sedang mengembangkan teknologi indexing pada mSQL.
Apa Dan Bagaimana UNIREG, mSQL, MySQL AB Itu Terbentuk
Setelah hasil penolakan tersebut maka TcX yang didalamnya ada Monty mengembangkan konsep database baru. Database ini merupakan gabungan dari UNIREG dengan mSQL (source code open source). Sehingga pada tahun 1995, sebuah RDBMS tercipta. Teknologi ini kemudian diberi nama MySQL.
Nama MySQL berasal dari singkatan My dan SQL.
- My mewakili nama penemu MySQL yaitu Michael Widenius.
- SQL mewakili Structured Query Language.
Pada tahun tersebut perusahaan TcX merubah namanya menjadi MySQL AB. AB ini singkatan dari Aktiebolag atau bisa disebut PT (Perseroan Terbatas).
Setelah teknologi MySQL lahir, ada 2 orang yang mengusulkan agar merilis MySQL ke public secara gratis. Kedua orang ini adalah David Axmark dan Detron HB yang merupakan rekanan dari TcX. Mereka juga yang sudah merubah nama MySQL ke MySQL AB.
Selain mengusulkan untuk merilis versi gratis, mereka berdua juga mengusulkan agar MySQL dijual dengan model bisnis baru. Konsep bisnis ini berupa jasa “support”. Jadi, bisnis MySQL fokus pada technical implementation teknologi MySQL. Kemudian, seiring berjalannya waktu, MySQL dirilis ke publik sebagai aplikasi open source dengan lisensi GPLv2.
Di dalam peta perjalanan MySQL, terdapat momen bersejarah yang mengejutkan.
Pada tahun 2007 pihak Oracle ingin membeli MySQL seharga $850 juta namun masih belum terealisasi. Kemudian, setelah satu tahun berlalu, perusahaan Sun Microsystem membeli hak MySQL seharga $1 miliar. Deal! Akibatnya, hak kepemilikan MySQL berpindah ke Sun Microsystem,
Sun Microsystem melakukan banyak perubahan kebijakan MySQL. Akibatnya, banyak programmer pengguna MySQL di seluruh dunia gempar. Bahkan, programmer inti MySQL Michael “Monty” Widenius dan David Axmark akhirnya keluar dari Sun Microsystem.
Pada tahun 2009 Marten Mickos, CEO MySQL AB yang selama ini memimpin MySQL juga telah meninggalkan perusahaan Sun Miscrosystem. Akhirnya, Michael “Monty” dan programmer senior lainnya mendesak Sun Microsystem untuk menjual MySQL ke perusahaan Oracle.
Proses Akusisi tersebut berhasil pada tanggal 27 Januari 2010 dengan biaya sebesar $7.4 miliar. Lalu, setelah 2010 sampai sekarang, MySQL dikembangkan oleh pihak Oracle dengan bisnis yang sama yaitu open source.
Perbedaan SQL dan MySQL
Masih ingat bahwa MySQL merupakan turunan SQL? Walaupun sebuah turunan namun dari SQL dan MySQL memiliki sebuah perbedaan. Berikut merupakan perbedaan antara MySQL dan SQL.
MySQL | SQL Server | |
Environment | Biasanya pada bahasa pemrograman PHP. | Dijalankan di .NET. |
Syntax | Contoh : SELECT name FROM people ORDER BY name ASC. |
Contoh : SELECT name WITH TIES *FROM people ORDER BY name ASC. |
Mesin penyimpanan | Multiple Storage Engine lalu media penyimpanan lainnya adalah MyISAM. | Single Storage Engine. |
Harga | Gratis dalam production dan Berbayar untuk Technical Support MySQL. |
Gratis untuk sebagai pengenalan RDBMS dan Berbayar untuk license asli SQL Server. |
Pembatalan Query | Tidak bisa recovery data saat query dijalankan. | Dapat melakukan recovery data untuk setiap query yang dijalankan. |
IDE | Enterprise Manager dari Oracle. | Management Studio (SSMS). |
Kelebihan dan Kekurangan MySQL
Pada bahasan sebelumnya, saya sudah membongkar berbagai informasi penting terkait MySQL. Kini saatnya saya memberi ulasan tentang kelebihan dan kekurangan MySQL. Dengan demikian, kamu akan semakin paham, mengenai topik “Apa itu MySQL?”.
Kelebihan MySQL:
- Dapat terintegrasi dengan bahasa pemrograman lain.
- Resource RAM yang kecil.
- Support Multi User.
- Open Source.
- Struktur tabel yang fleksibel.
- Keamanan terjamin.
Kekurangan MySQL:
- Kurang cocok untuk aplikasi game dan mobile.
- Kurang bisa diandalkan dalam pengelolaan database dengan kapasitas besar.
- Technical Support kurang begitu bagus.
Sudah semakin paham mengenai MySQL? Great! Saya akan masuk lebih dalam lagi ke pembahasan cara kerja MySQL. Keep reading!
Bagaimana Cara Kerja MySQL
Konsep kerja MySQL sangatlah sederhana, yaitu menggunakan Query Database SQL. Query database tersebut akan dijalankan oleh daemon MySQL. Daemon adalah sebutan untuk program yang berjalan pada latar belakang saat adanya request. Setelah query dijalankan maka akan menampilkan hasil pada pengolahan database.
Masih bingung ya mencerna penjelasan tersebut? Okay, saya jelaskan lagi melalui ilustrasi di bawah ini:
Proses dari gambar tersebut adalah mengelompokkan nama yang sama lalu menjumlahkan value-nya. Namun point-nya berada pada Query Database. Query ini akan membaca kolom terlebih dahulu kemudian membaca baris tabel. Dan setelah query selesai dijalankan akan muncul result berbentuk tabel.
Secara sederhana, seperti itulah sistem kerja MySQL. Sampai sini paham ya? Okay, yuk lanjut belajar perintah-perintah di dalam MySQL.
Perintah-Perintah Penting Dalam MySQL Yang Perlu Kamu Tahu
Ada 4 poin penting dalam MySQL yaitu:
- DDL (Data Definition Language).
- DML (Data Manipulation Language).
- DCL (Data Control Language).
- TCL (Transaction Control Language).
Bagi kamu yang masih awam di bidang pengolahan database, sebaiknya mulai belajar dari DDL dan DML terlebih dahulu. Tolong kuasai dulu dasar dari perintah DDL (Data Definition Language) dan DML (Data Manipulation Language). Karena kedua fungsi tersebut akan sering kamu pakai.
Bingung mau mulai belajar dari mana? Spesial untuk hari ini, saya akan kasih contoh beberapa fungsi penting DDL dan DML khusus buat kamu. Perhatikan beberapa fungsi dan contoh penerapan yang saya ulas di bawah ini:
SQL Commands DDL (Data Definition Language)
Perintah DDL berhubungan dengan struktur dari sebuah database maupun tabel.
1. Create: Fungsi Create bisa kamu gunakan untuk membuat sebuah database/tabel.
Contoh: CREATE DATABASE datbaseA
2. Alter: Alter ini berfungsi untuk merubah struktur database/tabel.
Contoh: ALTER TABLE tbleA DROP COLUMN col4.
3. Drop: Perintah Drop berfungsi untuk menghapus database/tabel.
Contoh: DROP DATABASE datbaseA
SQL Commands DML (Data Manipulation Language)
Perintah DML berhubungan dengan isi tabel dari database.
1. Select: Query Select ini berfungsi untuk melihat data pada suatu tabel database.
Contoh: SELECT * FROM tbleA.
2. Insert: Query Insert ini berfungsi untuk membuat data baru pada tabel.
Contoh: INSERT INTO tbleA VALUES ();
3. Update: Perintah Update berfungsi untuk merubah data yang sudah ada pada tabel menjadi data yang baru.
Contoh: UPDATE tbleA SET col_satu = “contoh” WHERE col_satu = “parameter”;
4. Delete : Perintah Delete berfungsi untuk menghapus data pada tabel database.
Contoh: DELETE FROM tbleA WHERE col_satu = “contoh”
CATATAN:
- Ada perbedaan saat kamu menemui Drop dan Delete. Kamu harus paham antara kedua hal tersebut sebelum melakukan eksekusi.
- Perintah Drop digunakan untuk menghapus isi database/tabel secara struktur maupun isinya. Dan perintah Delete hanya menghapus isi dari database/tabel.
Apa Yang Membuat MySQL Itu Menjadi Sangat Popular?
Salah satu alasan kenapa MySQL menjadi sangat populer adalah karena dirilis ke publik dengan lisensi open source. Jadi, teknologi MySQL dapat menjadi pembelajaran bagi programmer pemula.
Ada 3 poin penting kenapa MySQL menjadi sarana belajar yang baik untuk programmer pemula.
- Pertama, MySQL dapat terintegrasi dengan berbagai bahasa pemrograman.
Artinya, MySQL itu fleksible dengan berbagai bahasa pemrograman. Hasil dari MySQL bahkan bisa diolah langsung menggunakan bahasa pemrograman. Hal ini akan menumbuhkan motivasi belajar bagi pemula. Karena dia bisa langsung melihat hasil belajarnya. Dengan demikian, programmer pemula menjadi lebih terstruktur dalam belajar.
- Kedua, MySQL memiliki lisensi open source GPLv2. Jadi, bisa dikembangkan secara gratis.
Lisensi open source mengijinkan kepada programmer untuk mengembangkan MySQL. Dengan demikian, kamu tidak perlu membayar pajak saat menggunakan MySQL untuk bisnis. Akibatnya, banyak programmer yang mengaplikasikan teknologi MySQL pada website klien mereka.
- Ketiga, MySQL memiliki komunitas pengguna (programmer) yang sangat banyak.
Dari tahun 1995 sampai sekarang, telah banyak web developer yang menggunakan MySQL. Para programmer web developer ini biasanya senang berbagi ilmu dan pengalaman. Mereka bahkan membuat komunitas dalam bentuk online maupun offline. Dengan demikian, terjadi transfer ilmu secara masif melalui komunitas MySQL.
Apa Itu MySQL Indonesia Public Group?
MySQL Indonesia Public Group adalah komunitas programmer yang senang mempelajari teknologi MySQL. Saat ini, komunitas MySQL di Indonesia sangatlah banyak. Mereka sering membentuk perkumpulan Bootcamp, Facebook, Discord, Telegram atau dari sosial media yang lainnya.
Contohnya:
Silakan dikunjungi link tersebut, siapa tahu komunitas tersebut cocok dengan kepribadianmu. Apabila belum cocok kamu dapat mencari komunitas secara manual.
Caranya cukup mudah kok. Ketikan saja keyword “MySQL” pada salah satu sosial media popular di Indonesia, misalnya: Facebook. Kemudian, cari berdasarkan grup. Selanjutnya, pilih grup aktif yang cocok sesuai kebutuhanmu.
Sejujurnya, saya sendiri belum pernah mengikuti komunitas MySQL. Hehe.
Lalu, dari mana saya belajar database MySQL sampai mahir?
Saya belajar database MySQL langsung base on project secara otodidak. Berat? Iya, karena saya mendapat permasalahan MySQL terlebih dahulu, baru mencari cara menyelesaikannya. Saat saya mendapat masalah biasanya saya cari di Stack Overflow.
Kadang, saya juga langsung bertanya kepada teman yang sudah paham tentang MySQL. Dari situlah saya pelan-pelan memahami database MySQL. Dan untuk kedepannya, saya berencana bergabung pada komunitas Dev MySQL. Selain untuk selalu mengupdate berita terbaru mengenai MySQL, kamu juga dapat menjalin pertemanan sesama programmer.
F.A.Q Terkait Topik “Apa Itu MySQL”
Berikut ini beberapa pertanyaan yang sering ditanyakan berulang-ulang oleh pembaca:
1. Bagaimana Cara Belajar MySQL Untuk Pemula?
Bagi kamu yang baru awal belajar database, saya sarankan untuk mengenali model belajar terlebih dahulu. Tanyakan pada dirimu, kamu tipe pembelajar otodidak atau tipe pembelajar follower?
Jika kamu tipe pembelajar follower, kamu harus mencari mentor. Dengan begitu proses pembelajaran akan jauh lebih cepat. Untuk kasus ini, saya sarankan untuk mengikuti Bootcamp, kursus, workshop ataupun komunitas. Intinya temukan mentor yang cocok dan belajarlah dari dia secara terstruktur.
Namun jika kamu tipe pembelajar otodidak, cobalah learning base on project.
- Pertama, kamu tentukan terlebih dahulu project MySQL yang ingin kamu selesaikan.
- Kedua, kamu cari tutorial, studi kasus ataupun video yang bisa membantu kamu menyelesaikan project tersebut.
- Ketiga, kerjakan project sampai selesai dan jadikan portofolio milikmu.
Semakin banyak mendapat masalah, semakin banyak kamu belajar. Untuk jangka panjang metode ini sangat baik untuk melatih pola pikir dan problem solving. Jadi, kamu akan menjadi programmer yang mandiri dan intuitive.
2. Adakah Rekomendasi Sumber Belajar MySQL Untuk Pemula?
Sebenarnya, ada banyak sumber pembelajaran bagus di internet. Ada artikel tutorial dan video tutorial. Akan tetapi, kamu harus mencarinya satu demi satu.
Jika kamu tertarik belajar dasar-dasar MySQL sampai level expert, silakan kunjungi link pembelajaran ini:
- The Ultimate MySQL Bootcamp: Go from SQL Beginner to Expert (Udemy).
- SQL – MySQL for Data Analytics and Business Intelligence (Udemy).
- MySQL Tutorial.
- MySQL Community.
Untuk materi pengayaan terkait database, baca juga artikel saya tentang phpMyAdmin dan cara menghapus database di phpMyAdmin. Di sana kamu akan belajar mengenai penerapan MySQL pada phpMyAdmin.
3. Berapa Lama Waktu Yang Dibutuhkan Untuk Menguasai MySQL?
Jawaban singkatnya “RELATIF”. Kenapa? Karena kebutuhan MySQL setiap orang berbeda-beda.
- Untuk keperluan praktis dalam membangun website sederhana, biasanya belajar seminggu sudah cukup.
- Untuk keperluan arsitektur basis data, biasanya butuh waktu belajar 3-6 bulan.
- Untuk keperluan pengelolaan database skala besar, kamu butuh waktu belajar + praktik sampai 5 tahun.
Kira-kira gambarannya seperti itu.
Kesimpulan
MySQL merupakan aplikasi RDBMS (Relational Database Management System) turunan dari SQL (Structured Query Language). Fungsi MySQL adalah untuk mempermudah programmer dalam mengelola database. Saat ini, teknologi MySQL telah berlisensi open source (GPLv2). Jadi, MySQL boleh dikembangkan oleh siapapun tanpa harus membayar royalti.
Jika ada informasi penting terkait MySQL yang saya lupakan, tolong ingatkan saya melalui kolom komentar. Nanti akan segera saya tambahi. Apabila kamu memiliki studi kasus menarik terkait MySQL, silakan tinggalkan ceritamu di kolom komentar.
Akhir kata, apabila artikel ini bermanfaat, tolong bantu share melalui media sosial teman-teman. Sudah? Good job! Semakin banyak artikel ini dibagikan, semakin semangat saya membuat artikel baru yang bermanfaat.