wiki/sql_snippets.myco

34 lines
2.0 KiB
Plaintext

Beberapa perintah SQL yang menurut saya penting. Diambil dari [[Nixnet Docs>SQL Snippets]].
++**NB**: Mengkapitalisasi perintah SQL tidak wajib tetapi dianggap praktik terbaik karena bertujuan untuk memudahkan membedakan antara perintah dan argumen.++
= MySQL
== Manajemen pengguna
* Membuat DB: `CREATE DATABASE database_name;`
* Membuat pengguna: `CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password';`
* Memberikan izin kepada pengguna: `GRANT ALL ON database_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'password';`
* Menampilkan semua pengguna: `SELECT User FROM mysql.user;`
Tentu saja kamu harus mengganti `password` dengan kata sandi yang benar-benar aman, `user_name` dengan sesuatu yang dapat diidentifikasi, dan hal yang sama untuk `database_name`. Bahkan jika satu pengguna per database, lebih baik menggunakan nama yang berbeda untuk setiap database.
== Manajemen database
* Menampilkan semua database: `SHOW DATABASE;`
* Pilih database: `USE DATABASE;`
* Menampilkan tabel: `SHOW TABLES;`
* Menampilkan isi tabel: `SELECT * FROM table;`
* Hapus baris: `DELETE FROM table WHERE column=value;`
* Ekspor database untuk backup: `mysqldump dbname > dbname_$(date -u -Iseconds).sql` (jalankan sebagai perintah shell)
** Ekspor database dengan kompresi: `mysqldump dbname | gzip -c - > dbname_$(date -u -Iseconds).sql.gz`
* Mengembalikan backup ke database: `mysql dbname < backup.sql`
** Dengan kompresi: `gunzip backup.sql.gz` kemudian jalankan perintah di atas.
= Postgres
* Menampilkan DB: `\l`
* Membuat pengguna: `CREATE ROLE app_user WITH LOGIN ENCRYPTED PASSWORD 'password';`
** Sebagai alternatif, jalankan perintah berikut dengan `sudo`: `sudo -u postgres createuser -P app_user`
* Buat database: `CREATE DATABASE app WITH OWNER app_user ENCODING = 'UTF8';`
** Sebagai alternatif, jalankan perintah berikut dengan `sudo`: `sudo -u postgres createdb -O app_user app`
* Ubah pemilik DB: `ALTER DATABASE app OWNER TO new_app_user;`
* Hubungkan/pilih database: `\c <database>`
* Tampilkan tabel: `\dt`