MariaDB Tutorial: Pelajari Sintaks, Perintah dengan Contoh
Apa itu MariaDB?
MariaDB adalah garpu dari MySQL sistem manajemen basis data. Itu dibuat oleh pengembang aslinya. Alat DBMS ini menawarkan kemampuan pemrosesan data untuk tugas-tugas kecil dan perusahaan.
MariaDB adalah versi perbaikan dari MySQL. Muncul dengan banyak fitur canggih bawaan dan banyak kegunaan, keamanan, dan peningkatan kinerja yang tidak dapat Anda temukan MySQL.
Berikut adalah fitur dari MariaDB:
- Ia beroperasi di bawah lisensi GPL, BSD atau LGPL.
- MariaDB mendukung bahasa kueri yang populer dan standar.
- Ia hadir dengan banyak mesin penyimpanan, termasuk mesin berkinerja tinggi yang dapat diintegrasikan dengan sistem manajemen basis data relasional lainnya.
- Ini menyediakan teknologi klaster Galera.
- MariaDB mendukung PHP, bahasa populer untuk pengembangan web.
- MariaDB dapat berjalan pada sistem operasi yang berbeda, dan mendukung berbagai bahasa pemrograman.
- MariaDB dilengkapi dengan perintah tambahan yang tidak tersedia di MySQL. MySQL memiliki fitur yang berdampak negatif pada kinerja DBMS. Fitur-fitur tersebut telah diganti MariaDB.
MariaDB vs MySQL
Berikut adalah beberapa perbedaan utama antara keduanya MariaDB vs MySQL
Parameter | MariaDB | MySQL |
---|---|---|
Lebih Banyak Pilihan untuk Mesin Penyimpanan | MariaDB memiliki 12 mesin penyimpanan baru yang tidak akan Anda temukan MySQL. | Ini memiliki lebih sedikit pilihan untuk penyimpanan dibandingkan MariaDB. |
Peningkatan Kecepatan | MariaDB menunjukkan peningkatan kecepatan jika dibandingkan dengan MySQL. Muncul dengan banyak fitur untuk mengoptimalkan kecepatan. Fitur tersebut mencakup tampilan/tabel turunan, subkueri, kontrol eksekusi, akses disk, dan kontrol pengoptimal. | MySQL menunjukkan kecepatan yang lebih lambat jika dibandingkan dengan MariaDB. Itu hanya mengandalkan beberapa fitur untuk optimasi kecepatan, misalnya indeks hash. |
Cache/indeks lebih cepat | Dengan mesin penyimpan Memori MariaDB, pernyataan INSERT dapat diselesaikan 24% dibandingkan standar MySQL. | Mesin penyimpan memori dari MySQL lebih lambat dibandingkan dengan itu MariaDB. |
Kumpulan Koneksi Lebih Besar dan Lebih Cepat | MariaDB hadir dengan kumpulan thread canggih yang mampu berjalan lebih cepat dan mendukung hingga 200,000+ koneksi. | Kumpulan thread disediakan oleh MySQL tidak dapat mendukung hingga 200,000 koneksi per waktu. |
Replikasi yang Lebih Baik | In MariaDB, replikasi dapat dilakukan dengan lebih aman dan cepat. Pembaruan juga bisa dilakukan 2x lebih cepat dibandingkan tradisional MySQL. | MySQLEdisi komunitas memungkinkan sejumlah thread tetap untuk dihubungkan. MySQLPaket perusahaan dilengkapi dengan kemampuan thread. |
Fitur/Ekstensi Baru | MariaDB hadir dengan fitur dan ekstensi baru termasuk pernyataan JSON, WITH dan KILL. | Baru MariaDB fitur tidak disediakan di MySQL. |
Fitur yang Hilang | MariaDB kekurangan beberapa fitur yang disediakan oleh MySQL edisi perusahaan. Untuk mengatasi hal ini, ia menawarkan plugin sumber terbuka alternatif. Karena itu, MariaDB pengguna dapat menikmati fungsi yang sama seperti MySQL Pengguna Edisi Perusahaan. | Edisi Perusahaan MySQL menggunakan kode kepemilikan. Hanya pengguna MySQL Edisi Perusahaan memiliki akses ke ini. |
Bagaimana menginstal MariaDB
Instal sebagai Aplikasi Mandiri
Untuk menggunakan MariaDB, Anda harus menginstalnya di komputer Anda.
Instalasi dapat dilakukan dengan mengikuti langkah-langkah berikut ini:
Langkah 1) Buka URL Di Bawah
Unduh file instalasi dari Tautan https://downloads.mariadb.org/
Langkah 2) Double klik file tersebut untuk memulai instalasi
Setelah pengunduhan selesai, Buka File
Langkah 3) Klik tombol Berikutnya
Pada jendela yang muncul, klik tombol Berikutnya:
Langkah 4) Terima perjanjian lisensi
Kemudian klik tombol Berikutnya:
Langkah 5) Pilih MariaDB Server
Pilih fitur yang akan diinstal dan Klik Berikutnya
Langkah 6) Masukkan kata sandi
Di jendela berikutnya, Anda akan diminta untuk mengubah kata sandi untuk pengguna root.
- Masukkan kata sandi dan konfirmasikan dengan mengetik ulang kata sandi yang sama. Jika Anda ingin mengizinkan akses dari mesin jarak jauh, aktifkan kotak centang yang diperlukan.
- Setelah selesai, klik tombol Berikutnya.
Langkah 7) Masukkan Nama & Pilih Nomor port
Di jendela berikutnya, ketikkan nama instance, pilih nomor port, dan atur ukuran yang diperlukan. Klik tombol Berikutnya:
Langkah 8) Klik Berikutnya
Di jendela berikutnya, cukup klik tombol Berikutnya.
Langkah 9) Klik Instal
Luncurkan instalasi dengan mengklik tombol Instal.
Langkah 10) Bilah Kemajuan Ditampilkan
Bilah kemajuan yang menunjukkan kemajuan instalasi akan ditampilkan:
Langkah 11) Klik pada Tombol Selesai
Setelah instalasi selesai, Anda akan melihat tombol Selesai. Klik tombol untuk menutup jendela:
Langkah 12) Selamat!
Anda sekarang memiliki MariaDB diinstal pada komputer Anda.
Bekerja dengan Prompt Perintah
Sekarang Anda memiliki MariaDB terinstal di komputer Anda, sekarang saatnya Anda meluncurkannya dan mulai menggunakannya. Ini dapat dilakukan melalui MariaDB prompt perintah.
Ikuti langkah-langkah yang diberikan di bawah ini:
Langkah 1) Klik Mulai, pilih Semua Program lalu klik MariaDB...
Langkah 2) Pilih MariaDB Command Prompt.
Langkah 3) MariaDB prompt perintah akan dimulai. Sekarang waktunya untuk login. Anda harus login sebagai pengguna root dan kata sandi yang Anda tetapkan saat instalasi MariaDBKetik perintah berikut pada prompt perintah:
MySQL -u root -p
Langkah 4) Masukkan kata sandi dan tekan tombol kembali. Anda harus masuk, seperti yang ditunjukkan di bawah ini:
Anda sekarang masuk MariaDB.
Jenis Data
MariaDB mendukung tipe data berikut:
- Tipe data string
- Tipe data numerik
- Tipe data tanggal/waktu
- Tipe data objek besar
Tipe Data String
Ini termasuk yang berikut:
Tipe Data String | Description |
---|---|
arang(ukuran) | Ukuran menunjukkan jumlah karakter yang akan disimpan. Ini menyimpan maksimal 255 karakter. String dengan panjang tetap. |
varchar(ukuran) | Ukuran menunjukkan jumlah karakter yang akan disimpan. Ini menyimpan maksimal 255 karakter. String dengan panjang variabel. |
ukuran teks) | Ukuran menunjukkan jumlah karakter yang akan disimpan. Ini menyimpan maksimal 255 karakter. String dengan panjang tetap. |
biner (ukuran) | Ukuran menunjukkan jumlah karakter yang akan disimpan. Ini menyimpan maksimal 255 karakter. String berukuran tetap. |
Jenis Data Numerik
Mereka termasuk yang berikut:
Jenis Data Numerik | Description |
---|---|
sedikit | Nilai integer yang sangat kecil setara dengan tinyint(1). Nilai yang ditandatangani berkisar antara -128 dan 127. Nilai yang tidak ditandatangani berkisar antara 0 dan 255. |
ke dalam(m) | Nilai bilangan bulat standar. Nilai yang ditandatangani berkisar antara -2147483648 dan 2147483647. Nilai yang tidak ditandatangani berkisar antara 0 dan 4294967295. |
mengapung(m, d) | Angka floating point dengan presisi tunggal. |
ganda(m,d) | Angka titik mengambang dengan presisi ganda. |
mengapung(p) | Angka floating point. |
Tipe Data Tanggal/Waktu
Ini termasuk yang berikut:
Tipe Data Tanggal/Waktu | Description |
---|---|
Tanggal | Ditampilkan dalam bentuk 'yyyy-mm-dd.' Nilai berkisar antara '1000-01-01' dan '9999-12-31'. |
Datetime | Ditampilkan dalam bentuk 'yyyy-mm-dd hh:mm:ss'. Nilai berkisar antara '1000-01-01 00:00:00' dan '9999-12-31 23:59:59'. |
cap waktu (m) | Ditampilkan dalam bentuk 'yyyy-mm-dd hh:mm:ss'. Nilai berkisar antara '1970-01-01 00:00:01' utc dan '2038-01-19 03:14:07' utc. |
Waktu | Ditampilkan dalam bentuk 'hh:mm:ss'. Nilai berkisar antara '-838:59:59' dan '838:59:59'. |
Tipe Data Objek Besar (LOB)
Mereka termasuk yang berikut:
Tipe Data objek besar | Description |
---|---|
gumpalan kecil | Ukuran maksimumnya adalah 255 byte. |
gumpalan (ukuran) | Membutuhkan 65,535 byte sebagai ukuran maksimum. |
gumpalan sedang | Ukuran maksimumnya adalah 16,777,215 byte. |
teks panjang | Dibutuhkan 4GB sebagai ukuran maksimum. |
Buat Database dan Tabel
Untuk membuat database baru di MariaDB, Anda harus memiliki hak istimewa yang hanya diberikan kepada pengguna root dan admin.
Untuk membuat database baru, Anda harus menggunakan perintah CREATE DATABASE yang menggunakan sintaks berikut:
CREATE DATABASE DatabaseName;
Dalam hal ini, Anda perlu membuat database dan memberinya nama Demo.
Memulai MariaDB command prompt dan login sebagai pengguna root dengan mengetik perintah berikut:
mysql -u root -p
Ketik kata sandi root dan tekan tombol kembali. Anda akan masuk.
Sekarang, jalankan perintah berikut:
CREATE DATABASE Demo;
Anda telah membuat database bernama Demo. Sebaiknya Anda mengonfirmasi apakah database berhasil dibuat atau tidak. Anda hanya perlu menampilkan daftar database yang tersedia dengan menjalankan perintah berikut:
SHOW DATABASES;
Output di atas menunjukkan bahwa database Demo adalah bagian dari daftar, sehingga database berhasil dibuat.
MariaDB Pilih Database
Agar Anda dapat menggunakan atau mengerjakan database tertentu, Anda harus memilihnya dari daftar database yang tersedia. Setelah memilih database, Anda bisa melakukan tugas seperti membuat tabel di dalam database.
Untuk memilih database, Anda harus menggunakan perintah USE. Dibutuhkan sintaks yang diberikan di bawah ini:
USE database_name;
Anda perlu menggunakan basis data Demo. Anda dapat memilihnya dengan menjalankan perintah berikut:
USE Demo;
Gambar di atas menunjukkan bahwa MariaDB command prompt telah berubah dari tidak ada menjadi nama database yang telah dipilih.
Anda sekarang dapat melanjutkan dan membuat tabel dalam database Demo.
MariaDB - Buat tabel
Agar Anda dapat membuat tabel, Anda harus sudah memilih database. Tabel dapat dibuat menggunakan pernyataan CREATE TABLE. Berikut ini sintaks untuk perintahnya:
CREATE TABLE tableName (columnName columnType);
Anda dapat mengatur salah satu kolom menjadi kunci utama. Kolom ini tidak boleh mengizinkan nilai nol.
Kami akan membuat dua tabel dalam database Demo, tabel Buku, dan Harga. Setiap tabel akan memiliki dua kolom.
Mari kita mulai dengan membuat tabel Buku dengan dua kolom, id dan nama. Jalankan perintah berikut:
CREATE TABLE Book( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, PRIMARY KEY (id));
Batasan PRIMARY KEY telah digunakan untuk mengatur kolom id sebagai kunci utama untuk tabel. Properti AUTO_INCREMENT akan menambah nilai kolom id sebesar 1 secara otomatis untuk setiap record baru yang dimasukkan ke dalam tabel. Semua kolom tidak akan mengizinkan nilai nol.
Sekarang, buat tabel kedua, tabel Harga:
CREATE TABLE Price( id INT NOT NULL AUTO_INCREMENT, price float NOT NULL, PRIMARY KEY (id));
Kolom id telah ditetapkan sebagai kunci utama untuk tabel.
Menampilkan Tabel
Setelah Anda membuat dua tabel, ada baiknya Anda memastikan apakah tabel berhasil dibuat atau tidak. Anda dapat menampilkan daftar tabel yang terdapat dalam database dengan menjalankan perintah berikut:
SHOW TABLES;
Tangkapan layar di atas menunjukkan bahwa kedua tabel berhasil dibuat dalam database Demo.
Menampilkan Struktur Tabel
Untuk melihat struktur tabel tertentu, Anda dapat menggunakan perintah DESCRIBE, yang biasa disingkat DESC. Perintah ini menggunakan sintaks berikut:
DESC TableName;
Misalnya, untuk melihat struktur tabel bernama Buku, Anda dapat menjalankan perintah berikut;
DESC Book;
Tabel ini memiliki dua kolom. Untuk melihat struktur tabel Harga, Anda dapat menjalankan perintah berikut:
DESC Price;
CRUD dan Klausul
MEMASUKKAN
Untuk memasukkan data ke dalam a MariaDB tabel, Anda harus menggunakan pernyataan INSERT INTO. Perintah ini mengambil sintaks yang diberikan di bawah ini:
INSERT INTO tableName (column_1, column_2, ... ) VALUES (value1, value2, ... ), (value1, value2, ... ), ...;
Sintaks di atas menunjukkan bahwa Anda harus menentukan kolom tabel di mana Anda ingin memasukkan data serta data yang perlu Anda masukkan.
Mari kita masukkan catatan ke dalam tabel Buku:
INSERT INTO book (id, name) VALUES(1, 'MariaDB Book');
Anda telah memasukkan satu catatan ke dalam tabel. Masukkan catatan ke dalam tabel Harga:
INSERT INTO price (id, price) VALUES(1, 200);
Rekor telah dibuat.
MEMILIH
Pernyataan SELECT membantu kita untuk melihat atau mengamati isi tabel database. Untuk melihat isi tabel Book, misalnya, Anda perlu menjalankan perintah berikut:
SELECT * from book;
Sekarang, lihat isi tabel Harga:
SELECT * from price;
Memasukkan Banyak Catatan
Kita dapat memasukkan beberapa record ke dalam a MariaDB tabel sekaligus. Untuk menunjukkannya, jalankan contoh berikut:
INSERT INTO book (id, name) VALUES (2,'MariaDB Book2'), (3,'MariaDB Book3'), (4,'MariaDB Book4'), (5,'MariaDB Book5');
Anda dapat menanyakan tabel untuk memeriksa apakah catatan berhasil dimasukkan:
SELECT * FROM book;
Catatan berhasil dimasukkan. Masukkan beberapa catatan ke dalam tabel Harga dengan menjalankan contoh ini:
INSERT INTO price (id, price) VALUES (2, 250), (3, 220), (4, 190), (5, 300);
Mari kita konfirmasikan apakah rekaman berhasil dibuat:
SELECT * FROM price;
UPDATE
Perintah UPDATE membantu kita untuk mengubah atau memodifikasi record yang sudah dimasukkan ke dalam tabel. Anda dapat menggabungkannya dengan klausa WHERE untuk menentukan rekaman yang akan diperbarui. Berikut sintaksnya:
UPDATE tableName SET field=newValue, field2=newValue2,... [WHERE ...]
Perintah UPDATE juga dapat digabungkan dengan klausa seperti SET, WHERE, LIMIT, dan ORDER BY. Anda akan segera melihatnya:
Perhatikan tabel bernama Harga dengan catatan berikut:
Mari kita ubah harga buku dengan id 1 dari 200 menjadi 250:
UPDATE price SET price = 250 WHERE id = 1;
Perintah berhasil dijalankan. Anda sekarang dapat menanyakan tabel untuk melihat apakah perubahan terjadi:
Cuplikan layar di atas menunjukkan bahwa perubahan telah diterapkan. Perhatikan tabel Book dengan catatan berikut:
Mari kita ubah nama buku yang bernama Buku menjadi MariaDB Buku1. Perhatikan bahwa buku tersebut memiliki id 1. Berikut adalah perintah untuk ini:
UPDATE book SET name = “MariaDB Book1” WHERE id = 1;
Periksa apakah perubahan telah diterapkan:
Tangkapan layar di atas menunjukkan bahwa perubahan telah berhasil diterapkan.
Dalam contoh di atas, kami hanya mengubah satu kolom dalam satu waktu. Namun, kita dapat mengubah beberapa kolom sekaligus. Mari kita tunjukkan ini dengan menggunakan sebuah contoh.
Mari kita gunakan tabel Harga dengan data berikut:
Mari kita ubah id dan harga buku dengan id 5. Kita akan ubah id-nya menjadi 6 dan harganya menjadi 6. Jalankan perintah berikut:
UPDATE price SET id = 6, price = 280 WHERE id = 5;
Sekarang, kueri tabel untuk memeriksa apakah perubahan berhasil dilakukan:
Perubahan berhasil dilakukan.
Delete
Kami menggunakan perintah DELETE ketika kami perlu menghapus satu atau banyak catatan dari sebuah tabel. Berikut ini sintaks untuk perintahnya:
DELETE FROM tableName [WHERE condition(s)] [ORDER BY exp [ ASC | DESC ]] [LIMIT numberRows];
Perhatikan tabel Harga dengan catatan berikut:
Kita perlu menghapus record terakhir dari tabel. Ia memiliki id 6 dan harga 280. Mari kita hapus catatannya:
DELETE FROM price WHERE id = 6;
Perintah berhasil dijalankan. Mari kita menanyakan tabel untuk mengonfirmasi apakah penghapusan berhasil:
Outputnya menunjukkan bahwa catatan berhasil dihapus.
Where
Klausa WHERE membantu kita menentukan lokasi pasti tempat kita perlu melakukan perubahan. Klausa ini digunakan bersama dengan pernyataan seperti INSERT, SELECT, UPDATE, dan DELETE. Perhatikan tabel Harga dengan data berikut:
Misalkan kita perlu melihat catatan yang harganya kurang dari 250. Kita dapat menjalankan perintah berikut:
SELECT * FROM price WHERE price < 250;
Semua catatan yang harganya di bawah 250 telah dikembalikan.
Klausa WHERE dapat digabungkan dengan pernyataan AND. Misalkan kita perlu melihat semua data dalam tabel Harga yang harganya di bawah 250 dan id-nya di atas 3. Kita dapat menjalankan perintah berikut:
SELECT * FROM price WHERE id > 3 AND price < 250;
Hanya satu catatan yang dikembalikan. Pasalnya harus memenuhi semua syarat yang telah ditentukan yaitu id diatas 3 dan harga dibawah 250. Jika salah satu syarat tersebut dilanggar maka record tidak dapat dikembalikan.
Klausa tersebut juga dapat digabungkan dengan perintah OR. Mari kita ganti AND pada perintah sebelumnya dengan OR dan lihat jenis output yang kita terima:
SELECT * FROM price WHERE id > 3 OR price < 250;
Kami sekarang mendapatkan 2 rekor, bukan 1. Hal ini karena, untuk rekor kualifikasi, hanya harus memenuhi salah satu kondisi yang ditentukan.
Seperti
Klausa ini digunakan untuk menentukan pola data saat mengakses data tabel yang memerlukan pencocokan tepat. Dapat dikombinasikan dengan pernyataan INSERT, UPDATE, SELECT dan DELETE.
Anda harus meneruskan pola data yang Anda cari ke klausa, dan klausa tersebut akan menghasilkan nilai benar atau salah. Berikut adalah karakter wildcard yang dapat digunakan bersama dengan klausa:
- %: untuk mencocokkan 0 karakter atau lebih.
- _: untuk mencocokkan satu karakter.
Berikut ini sintaks untuk klausa LIKE:
SELECT field_1, field_2,... FROM tableName1, tableName2,... WHERE fieldName LIKE condition;
Mari kita tunjukkan cara menggunakan klausa dengan karakter wildcard %. Mari kita gunakan tabel Book dengan catatan berikut:
Kita perlu melihat semua data yang namanya dimulai dengan huruf M. Kita dapat menjalankan perintah berikut:
SELECT name FROM book WHERE name LIKE 'M%';
Semua data telah dikembalikan karena nama-namanya dimulai dengan huruf M. Untuk melihat semua nama yang diakhiri dengan angka 4, Anda dapat menjalankan perintah berikut:
SELECT name FROM book WHERE name LIKE '%4';
Hanya satu nama yang dikembalikan karena hanya itulah satu-satunya yang memenuhi syarat.
Kita juga dapat mengapit pola pencarian dengan wildcard:
SELECT name FROM book WHERE name LIKE '%DB%';
Selain wildcard %, klausa LIKE dapat digunakan bersama dengan wildcard _. Ini adalah karakter pengganti garis bawah, dan hanya akan mencari satu karakter.
Mari kita bekerja dengan tabel Harga dengan catatan berikut:
Mari kita periksa catatan yang harganya seperti 1_0. Kita jalankan perintah berikut:
SELECT * FROM price WHERE price LIKE '1_0';
Ini telah mengembalikan rekor dimana harganya adalah 190. Kita juga dapat mencoba pola lain:
SELECT * FROM price WHERE price LIKE '_2_';
Kita dapat menggunakan klausa LIKE bersama dengan operator NOT. Ini akan mengembalikan semua data yang tidak memenuhi pola yang ditentukan. Misalnya:
Mari kita gunakan tabel Harga dengan catatan berikut:
Mari kita temukan semua catatan di mana harga tidak dimulai dengan 2:
SELECT * FROM price WHERE price NOT LIKE '2%';
Hanya satu record yang tidak memenuhi pola yang ditentukan.
Dipesan oleh
Klausa ini membantu kita mengurutkan catatan kita dalam urutan menaik atau menurun. Kami menggunakannya dengan pernyataan SELECT, seperti yang ditunjukkan di bawah ini:
SELECT expression(s) FROM tables [WHERE condition(s)] ORDER BY exp [ ASC | DESC ];
Kita dapat menggunakan klausa ini tanpa menambahkan bagian ASC atau DESC. Misalnya:
Kami akan menggunakan tabel Harga dengan catatan berikut:
Jalankan perintah berikut terhadap tabel:
SELECT * FROM price WHERE price LIKE '2%.' ORDER BY price;
Pada perintah di atas, kami telah memesan berdasarkan harga. Catatan telah diurutkan dengan harga dalam urutan menaik. Artinya, jika kita tidak menentukan urutannya, pengurutan dilakukan dalam urutan menaik secara default.
Mari kita jalankan klausa dengan opsi DESC:
SELECT * FROM price WHERE price LIKE '2%' ORDER BY price DESC;
Catatan telah diurutkan dengan harga dalam urutan menurun seperti yang telah kami tentukan.
Mari kita gunakan klausa ORDER BY bersama dengan atribut ASC:
SELECT * FROM price WHERE price LIKE '2%.' ORDER BY price ASC;
Catatan telah dipesan tetapi dengan harga dalam urutan menaik. Hal ini serupa dengan saat kita menggunakan klausa ORDER BY tanpa atribut ASC atau DESC.
BERBEDA
Klausa ini membantu kita menghilangkan duplikat saat memilih record dari tabel. Artinya membantu kami mendapatkan catatan unik. Sintaksnya diberikan di bawah ini:
SELECT DISTINCT expression(s) FROM tableName [WHERE condition(s)];
Untuk menunjukkan hal ini, kami akan menggunakan tabel Harga dengan data berikut:
Ketika kita memilih kolom harga dari tabel, kita mendapatkan hasil berikut:
SELECT price FROM Price;
Kami memiliki dua catatan dengan harga 250, membuat duplikat. Kita hanya perlu memiliki catatan unik. Kita dapat memfilternya dengan menggunakan klausa DISTINCT seperti yang ditunjukkan di bawah ini:
SELECT DISTINCT price FROM Price;
Kami sekarang tidak memiliki duplikat pada keluaran di atas.
Mulai dari
Klausa FROM digunakan untuk mengambil data dari tabel database. Ini juga dapat membantu saat menggabungkan tabel. Berikut ini sintaks untuk perintahnya:
SELECT columnNames FROM tableName;
Untuk melihat isi tabel buku, jalankan perintah berikut:
SELECT * FROM price;
Klausa ini dapat membantu Anda mengambil hanya satu kolom dari tabel database. Misalnya:
SELECT price FROM Price;
Tugas Lanjutan
Prosedur Tersimpan
Prosedur adalah a MariaDB program yang dapat Anda berikan parameternya. Prosedur tidak mengembalikan nilai. Untuk membuat prosedur, kita menggunakan perintah CREATE PROCEDURE.
Untuk mendemonstrasikan cara membuat dan memanggil prosedur, kita akan membuat prosedur bernama myProcedure() yang membantu kita memilih kolom nama dari tabel buku. Berikut prosedurnya:
DELIMITER $ CREATE PROCEDURE myProcedure() BEGIN SELECT name FROM book; END; ;
Prosedur telah dibuat. Kita cukup menyertakan pernyataan SELECT di dalam klausa BEGIN dan END dari prosedur.
Sekarang, kita dapat memanggil prosedur dengan namanya seperti yang ditunjukkan di bawah ini:
CALL myProcedure();
Prosedur mengembalikan kolom nama tabel buku saat dipanggil.
Kita dapat membuat prosedur yang mengambil parameter. Misalnya, kita perlu memilih nama buku dan memfilter menggunakan ID buku. Kita dapat membuat prosedur berikut untuk ini:
DELIMITER $ CREATE PROCEDURE myProcedure2(book_id int) BEGIN SELECT name FROM book WHERE id = book_id; END; ;
Di atas, kami telah membuat prosedur bernama myProcedure2(). Prosedur ini mengambil satu parameter bilangan bulat bernama book_id yang merupakan id buku yang namanya perlu kita lihat. Untuk melihat nama buku dengan id 3, kita dapat memanggil prosedur sebagai berikut:
CALL myProcedure2(3);
fungsi
Berbeda dengan prosedur, kita harus meneruskan parameter ke fungsi dan fungsi harus mengembalikan nilai. Untuk membuat fungsi di MariaDB, kita menggunakan pernyataan CREATE FUNCTION. Pernyataan tersebut menggunakan sintaks berikut:
CREATE [ DEFINER = { CURRENT-USER | username } ] FUNCTION function-name [(parameter datatype [, parameter datatype]) ] RETURNS datatype [LANGUAGE SQL | DETERMINISTIC | NOT DETERMINISTIC | {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} | SQL SECURITY {DEFINER | INVOKER} | COMMENT 'comment' BEGIN declaration-section executable-section END;
Parameter di atas dijelaskan di bawah ini:
Parameter | Description |
---|---|
klausa DEFINER | Parameter ini opsional. Jika Anda tidak menentukannya, definisi akan menjadi pengguna yang membuat fungsi tersebut. Jika ada kebutuhan untuk menentukan definisi yang berbeda, sertakan klausa DEFINER di mana nama_pengguna akan menjadi penentu fungsi. |
nama_fungsi | Nama yang akan ditetapkan untuk fungsi ini di MariaDB. |
parameter | Parameter yang diteruskan ke fungsi. Selama pembuatan fungsi, semua parameter diperlakukan sebagai DALAM parameter (bukan parameter OUT/INOUT). |
return_datatype | Tipe data nilai kembalian fungsi. |
BAHASA SQL | Ini mempengaruhi portabilitas tetapi tidak mempengaruhi fungsinya. |
DETERMINISTIK | Fungsi ini akan mengembalikan satu hasil hanya jika diberikan sejumlah parameter. |
BUKAN DETERMINISTIK | Fungsi mungkin saja mengembalikan hasil yang berbeda jika diberikan sejumlah parameter. |
BERISI SQL | Menginformasikan MariaDB bahwa fungsi ini berisi SQL. Basis data tidak akan memverifikasi apakah ini benar. |
TIDAK ADA SQL | Klausa ini tidak digunakan dan tidak berdampak pada fungsi Anda. |
MEMBACA DATA SQL | Memberitahu MariaDB bahwa fungsi ini akan menggunakan pernyataan SELECT untuk membaca data, tetapi tidak akan mengubah data. |
MEMODIFIKASI DATA SQL | Memberitahu MariaDB bahwa fungsi ini akan menggunakan INSERT, DELETE, UPDATE, dan lainnya HAL-HAL pernyataan untuk mengubah data SQL. |
bagian deklarasi | Di sinilah variabel lokal harus dideklarasikan. |
bagian yang dapat dieksekusi | Kode fungsi harus ditambahkan di sini. |
Berikut ini sebuah contoh MariaDB fungsi:
DELIMITER // CREATE FUNCTION sumFunc (x INT ) RETURNS INT DETERMINISTIC BEGIN DECLARE sum INT; SET sum = 0; label1: WHILE sum <= 3000 DO SET sum = sum + x; END WHILE label1; RETURN sum; END; // DELIMITER ;
Kita kemudian dapat memanggil fungsi di atas sebagai berikut:
select sumFunc(1000);
Perintah tersebut akan mengembalikan hasil berikut:
Setelah Anda selesai menggunakan suatu fungsi, ada baiknya Anda menghapusnya. Ini mudah karena Anda hanya perlu memanggil pernyataan DROP FUNCTION yang menggunakan sintaks berikut:
DROP FUNCTION function_name;
Misalnya, untuk membuang fungsi bernama myFunc, kita dapat menjalankan perintah berikut:
DROP FUNCTION myFunc;
BERGABUNG
Saat Anda perlu mengambil data dari lebih dari satu tabel sekaligus, gunakan MariaDB BERGABUNG. Artinya a BERGABUNG bekerja pada dua atau lebih tabel. Tiga jenis JOIN berikut didukung dalam MariaDB:
- GABUNG DALAM/SEDERHANA
- GABUNG LUAR KIRI/GABUNG KIRI
- GABUNG LUAR KANAN/GABUNG KANAN
Mari kita bahas satu per satu:
INNER JOIN
Gabungan dalam mengembalikan semua baris dari tabel yang kondisi gabungannya benar. Sintaksnya adalah sebagai berikut:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Sebagai contoh:
Kami akan menggunakan dua meja kami, buku, dan buku.
Tabel buku memiliki data sebagai berikut:
Tabel Harga memiliki data berikut:
Tujuannya adalah untuk menggabungkan kolom nama dari tabel Buku dan kolom harga dari tabel Harga menjadi satu tabel. Hal ini dimungkinkan dengan inner join, seperti yang ditunjukkan di bawah ini:
SELECT book.name, price.price FROM book INNER JOIN price ON book.id = price.id;
Perintah tersebut mengembalikan hal berikut:
KIRI LUAR GABUNG
Penggabungan ini mengembalikan semua baris dari tabel sebelah kiri dan hanya baris yang kondisi penggabungannya benar dari tabel lainnya. Sintaksnya adalah sebagai berikut:
SELECT columns FROM table-1 LEFT [OUTER] JOIN table-2 ON table-1.column = table-2.column;
Kata kunci OUTER telah ditempatkan dalam tanda kurung siku karena bersifat opsional.
Sebagai contoh:
SELECT book.name, price.price FROM book LEFT JOIN price ON book.id = price.id;
Perintah tersebut mengembalikan hal berikut:
Catatan terakhir pada tabel di atas tidak memiliki nilai yang cocok di sebelah kiri. Makanya diganti dengan NULL.
JOIN LUAR KANAN
Penggabungan ini mengembalikan semua baris dari tabel sebelah kanan dan hanya baris yang kondisi penggabungannya benar dari tabel lainnya. Sintaksnya adalah sebagai berikut:
SELECT columns FROM table-1 RIGHT [OUTER] JOIN table-2 ON table-1.column = table-2.column;
Kata kunci OUTER telah ditempatkan dalam tanda kurung siku karena bersifat opsional.
Sebagai contoh:
SELECT book.name, price.price FROM book RIGHT JOIN price ON book.id = price.id;
Perintah tersebut mengembalikan hal berikut:
Alasannya adalah semua baris pada tabel sebelah kanan telah dicocokkan dengan baris pada tabel lainnya. Jika beberapa baris tidak cocok, kita akan memiliki NULL di kolom pertama.