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 databaseuse [nama_database]
Menghapus databaseDROP DATABASE [nama_database];
Menghapus tabel dan isinyaDROP table [nama_tabel];
Mengosongkan isi tabelDELETE FROM [nama_tabel];
Menghapus kolom tabelALTER TABLE [nama_tabel] DROP COLUMN [nama_kolom];
Membuat tabel dengan beberapa primary keyCREATE 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 tabelALTER TABLE table ADD COLUMN [nama_kolom] AFTER [nama_kolom_sebelum_kolom_baru];
Menyisipkan kolom baru ke di bagian paling kiri tabelALTER 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 :
- https://stackoverflow.com/questions/9001939/copy-values-from-one-column-to-another-in-the-same-table
- https://forums.mysql.com/read.php?10,301647,301663#msg-301663
- https://stackoverflow.com/questions/9070764/insert-auto-increment-primary-key-to-existing-table
- https://stackoverflow.com/questions/217945/can-i-have-multiple-primary-keys-in-a-single-table
- https://chartio.com/resources/tutorials/how-to-grant-all-privileges-on-a-database-in-mysql/
- https://www.cyberciti.biz/faq/how-to-delete-remove-user-account-in-mysql-mariadb/
No comments:
Post a Comment