Berbagi teknologi

Fungsi umum MySQL

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Sebagai sistem manajemen basis data relasional yang banyak digunakan, MySQL menyediakan fungsionalitas yang kaya untuk mendukung berbagai jenis aplikasi. Berikut ini adalah beberapa fungsi umum MySQL:

Manajemen basis data

1. Membuat dan mengelola database dan tabel:

MySQL menyediakan pernyataan SQL yang fleksibel untuk membuat, memodifikasi dan menghapus database dan tabelnya.

CREATE DATABASE mydatabase;
CREATE TABLE mytable (id INT PRIMARY KEY, name VARCHAR(50));
  • 1
  • 2

2. Penyisipan, pembaruan dan penghapusan data:

Gunakan pernyataan SQL standar untuk manipulasi data.

INSERT INTO mytable (id, name) VALUES (1, 'Alice');
UPDATE mytable SET name = 'Bob' WHERE id = 1;
DELETE FROM mytable WHERE id = 1;
  • 1
  • 2
  • 3

3. Data kueri:

Pengambilan data melalui pernyataan SELECT, termasuk GABUNG kompleks, subkueri, pengurutan, dan pengelompokan.

SELECT * FROM mytable WHERE name = 'Alice';
SELECT name, COUNT(*) FROM mytable GROUP BY name;
  • 1
  • 2

Keamanan dan izin

1. Manajemen pengguna dan kontrol izin:

MySQL menyediakan kontrol izin yang terperinci, memungkinkan administrator untuk menetapkan izin berbeda kepada pengguna berbeda.

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, INSERT ON mydatabase.* TO 'user1'@'localhost';
  • 1
  • 2

2. Manajemen peran:

Mulai dari MySQL 8.0, manajemen peran didukung, menyederhanakan penetapan izin dan manajemen.

CREATE ROLE 'developer';
GRANT SELECT, INSERT, UPDATE ON mydatabase.* TO 'developer';
GRANT 'developer' TO 'user1'@'localhost';
  • 1
  • 2
  • 3

Pengoptimalan kinerja

1. Indeks:

MySQL mendukung beberapa jenis indeks, seperti indeks B-Tree, indeks teks lengkap, dan indeks spasial, untuk meningkatkan kinerja kueri.

CREATE INDEX idx_name ON mytable(name);
  • 1

2. Tembolok kueri:

MySQL menyediakan fungsi cache kueri, yang dapat menyimpan hasil kueri dalam cache dan meningkatkan efisiensi eksekusi kueri yang sama (dihapus di MySQL 8.0).

3. Skema Kinerja:

Seperangkat tabel dan alat disediakan untuk memantau dan menganalisis kinerja database.

SELECT * FROM performance_schema.events_statements_summary_by_digest;
  • 1

Replikasi dan ketersediaan tinggi

1. Replikasi master-slave:

MySQL mendukung replikasi master-slave untuk distribusi data dan ketersediaan tinggi.

CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='replication_user', MASTER_PASSWORD='password';
START SLAVE;
  • 1
  • 2

2. Klaster (Kluster MySQL InnoDB):

Memberikan solusi cluster database dengan ketersediaan tinggi untuk memastikan ketersediaan dan konsistensi data yang tinggi.

Pencadangan dan pemulihan data

1. Cadangan logis:

menggunakan mysqldump Alat untuk cadangan logis.

mysqldump -u root -p mydatabase > mydatabase.sql
  • 1

2. Cadangan fisik:

menggunakan mysqlbackup(Cadangan Perusahaan MySQL) atau xtrabackup(Percona XtraBackup) untuk cadangan fisik.

Fitur lanjutan lainnya

1. Pemicu:

Kode SQL yang secara otomatis dijalankan ketika peristiwa tertentu (seperti INSERT, UPDATE, DELETE) terjadi pada tabel tertentu.

CREATE TRIGGER mytrigger BEFORE INSERT ON mytable FOR EACH ROW SET NEW.name = UPPER(NEW.name);
  • 1

2. Prosedur dan fungsi tersimpan:

Enkapsulasi sekumpulan pernyataan SQL sehingga dapat dipanggil beberapa kali untuk meningkatkan penggunaan kembali dan pemeliharaan kode.

CREATE PROCEDURE myprocedure(IN param1 INT)
BEGIN
  SELECT * FROM mytable WHERE id = param1;
END;
  • 1
  • 2
  • 3
  • 4

3. Lihat:

Buat tabel virtual untuk kueri kompleks guna meningkatkan keterbacaan dan penggunaan kembali kueri.

CREATE VIEW myview AS SELECT name FROM mytable WHERE id > 10;
  • 1

Melalui fungsi-fungsi ini, MySQL menyediakan perangkat yang kuat untuk memenuhi kebutuhan berbagai skenario aplikasi.