Friday, January 24, 2020

MySQL CLI Cheat Sheet


Berikut adalah environment yang saya gunakan
OS : Ubuntu Server 16.04.6 LTS
MySQL : MySQL 5.7.28




Administrasi Database dan Tabel
Membuat database baru
CREATE DATABASE [nama_database];
Memilih database
use [nama_database]
Menghapus database
DROP DATABASE [nama_database];
 Menghapus tabel dan isinya
DROP table [nama_tabel];
Mengosongkan isi tabel
DELETE FROM [nama_tabel];
Menghapus kolom tabel
ALTER TABLE [nama_tabel] DROP COLUMN [nama_kolom];
Membuat tabel dengan beberapa primary key
CREATE TABLE [nama_tabel] (
  [kolom_pertama] [TIPE_DATA],
  [kolom_kedua] [TIPE_DATA],
  [kolom_ketiga] [TIPE_DATA](ALOKASI),
  primary key ([kolom_pertama], [kolom_kedua])
);



Adminstrasi User
Membuat user MySQL baru  (hanya akses lokal)

CREATE USER '[nama_user]'@'localhost' IDENTIFIED BY '[password_user]';
Membuat user MySQL baru (akses hanya dari IP/DOMAIN tertentu)
CREATE USER '[nama_user]'@'[ip_atau_domain]' IDENTIFIED BY '[password_user]';

Membuat user MySQL baru (akses dari manapun)
CREATE USER '[nama_user]'@'%' IDENTIFIED BY '[password_user]';

untuk akses diluar lokal, pastikan MySQL dapat di akses dari jaringan luar. Caranya bisa dilihat di. . . . . . . . (belum ditulis, :P)

Menampilkan hak akses yang diberikan ke user

SHOW GRANTS FOR '[user]'@'[host]';

Menampilkan list user dan host

SELECT User,Host FROM mysql.user;

Memberikan full akses database ke user

GRANT ALL PRIVILEGES ON *.* TO '[user]'@'[host]';

Memberikan full akses suatu table pada database ke user

GRANT ALL PRIVILEGES ON [nama_table].[nama_db]  TO '[user]'@'[host]';

Menarik hak akses suatu table pada database dari user

REVOKE ALL PRIVILEGES ON [nama_table].[nama_db]  FROM '[user]'@'[host]';

Menghapus user

DROP USER '[user]'@'[host]';



Menyalin dan Menyisip
Menyalin isi kolom tertentu ke kolom lain

UPDATE `[nama_tabel]` SET [kolom_target]=[kolom_sumber];
Menyisipkan kolom baru setelah kolom tertentu pada sebuah tabel
ALTER TABLE table ADD COLUMN [nama_kolom] AFTER [nama_kolom_sebelum_kolom_baru]; 
Menyisipkan kolom baru ke di bagian paling kiri tabel
ALTER TABLE [nama_tabel] ADD COLUMN [nama_kolom] INT(11) FIRST;

 

Mengubah atau Menambah Primary Key pada Tabel
Pada beberapa kasus, mungkin kita perlu mengubah (mengganti, menambah, atau menghapus) primary key yang sudah ada karena terjadi perubahan arsitektur tabel database, berikut adalah cheat sheenya.

Menghapus primary key
ALTER TABLE [nama_tabel] DROP INDEX `PRIMARY`;
Mengganti primary key
ALTER TABLE [nama_tabel] DROP INDEX `PRIMARY`,
ADD PRIMARY KEY ([id_baru]);
Jika ingin memiliki beberapa primary key, maka tinggal tambahkan kolom kedalam parameter PRIMARY KEY, sehingga command menjadi :
ALTER TABLE [nama_tabel]
DROP INDEX `PRIMARY`,
ADD PRIMARY KEY ([id_lama],[id_baru]);

Mengganti opsi kolom auto increment pada tabel
pertama hapus dulu auto_increment pada kolom yang memilik opsi auto increment dengan perintah :
ALTER TABLE `[nama_tabel]` CHANGE `[id_lama]` `[id_lama]` INT(11) NOT NULL;
kemudian berikan opsi auto_increment ke kolom baru dengan perintah
ALTER TABLE `[nama_tabel]` CHANGE `[id_baru]` `[id_baru]` INT(11) NOT NULL AUTO_INCREMENT;

Semoga bermanfaat. :)

Referensi :

No comments:

Post a Comment