Mari Belajar Coding: mysql - Tutorial Pemrograman Web dan Mobile
Tampilkan postingan dengan label mysql. Tampilkan semua postingan
Tampilkan postingan dengan label mysql. Tampilkan semua postingan

06 Juni 2021

Seleksi Data pada MySQL

Seleksi Data pada MySQL

Seleksi data merupakan cara untuk mengambil dan menampilkan data dari database. Secara umum untuk menampilkan data dari database menggunakan perintah SELECT dan dapat diikuti dengan kondisi tertentu. Dalam artikel kali ini kita akan memahami beberapa cara untuk menampilkan data dari database.

02 Juni 2021

Perintah DML pada MySQL

Perintah DML pada MySQL

Pada tutorial sebelumnya Saya telah membahas mengenai DDL beserta pengertian dan contohnya. Pada pembahasan kali ini kita akan belajar memahami perintah Data Manipulation Language (DML) pada MySQL. DML adalah sebuah metode Query yang dapat digunakan apabila DDL telah terjadi, sehingga fungsi dari Query DML ini untuk melakukan pemanipulasian database yang telah dibuat. 

01 Juni 2021

Memahami Perintah DDL Pada MySQL

Memahami Perintah DDL Pada MySQL

Data Definiton Language atau DDL digunakan untuk mendefinisikan data pada sebuah database. Beberapa perintah dalam DDL seperti:
CREATE digunakan untuk membuat database atau objek seperti tabel, view, function, index, procedure, dan trigger.
ALTER digunakan untuk mengubah struktur pada database.
DROP digunakan untuk menghapus objek pada database.
RENAME digunakan untuk mengubah nama objek pada database.

Tipe Data pada MySQL
Tipe data adalah suatu bentuk pemodelan data yang dideklarasikan pada saat melakukan pembuatan tabel. Tipe data ini akan mempengaruhi setiap data yang akan dimasukkan ke dalam sebuah tabel. Data yang akan dimasukkan harus sesuai dengan tipe data yang dideklarasikan.

Tipe Data untuk Bilangan (Number)
Tipe Data Keterangan
TINYINT Ukuran 1 byte. Bilangan bulat terkecil, dengan jangkauan untuk bilangan bertanda: -128 sampai dengan 127 dan untuk yang tidak bertanda : 0 s/d 255.
SMALLINT Ukuran 2 Byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda : -32768 s/d 32767 dan untuk yang tidak bertanda : 0 s/d 65535
MEDIUMINT Ukuran 3 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda : -8388608 s/d 8388607 dan untuk yang tidak bertanda : 0 s/d 16777215
INT Ukuran 4 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda :-2147483648 s/d 2147483647 dan untuk yang tidak bertanda : 0 s/d 4294967295
BIGINT Ukuran 8 byte. Bilangan bulat terbesar dengan jangkauan untuk bilangan bertanda : -9223372036854775808 s/d 9223372036854775807 dan untuk yang tidak bertanda : 0 s/d 1844674473709551615
FLOAT Ukuran 4 byte. Bilangan pecahan
DOUBLE Ukuran 8 byte. Bilangan pecahan
DOUBLEPRECISION Ukuran 8 byte. Bilangan pecahan
REAL Ukuran 8 byte. Sinonim dari DOUBLE
DECIMAL (M,D) Ukuran M byte. Bilangan pecahan, misalnya DECIMAL(5,2 dapat digunakan untuk menyimpan bilangan - 99,99 s/d 99,99
NUMERIC (M,D) Ukuran M byte. Sinonim dari DECIMAL, misalnya NUMERIC(5,2) dapat digunakan untuk menyimpan bilangan - 99,99 s/d 99,99

Tipe Data untuk Tanggal dan Jam
Tipe Data Keterangan
DATETIME DATETIME Ukuran 8 byte. Kombinasi tanggal dan jam, dengan jangkauan dari '1000-01-01 00:00:00' s/d '9999-12-31 23:59:59'
DATE Ukuran 3 Byte. Tanggal dengan jangkauan dari '1000-01-01' s/d '9999-12-31'
TIMESTAMP Ukuran 4 byte. Kombinasi tanggal dan jam, dengan jangkauan dari '1970-01-01 00:00:00' s/d '2037'
TIME Ukuran 3 byte. Waktu dengan jangkauan dari '839:59:59' s/d '838:59:59'
YEAR Ukuran 1 byte. Data tahun antara 1901 s/d 2155

Tipe Data untuk Karakter dan Lain-lain
Tipe Data Keterangan
CHAR Mampu menangani data hingga 255 karakter. Tipe data CHAR mengharuskan untuk memasukkan data yang telah ditentukan oleh kita.
VARCHAR Mampu menangani data hingga 255 karakter. Tipe data VARCHAR tidak mengharuskan untuk memasukkan data yang telah ditentukan oleh kita.
TINYBLOB, TINYTEXT Ukuran 255 byte. Mampu menangani data sampai 2^8-1 data.
BLOB, TEXT Ukuran 65535 byte. Type string yang mampu menangani data hingga 2^16-1 (16M-1) data.
MEDIUMBLOB, MEDIUMTEXT Ukuran 16777215 byte. Mampu menyimpan data hingga 2^24-1 (16M-1) data.
LONGBLOB, LONGTEXT Ukuran 4294967295 byte. Mampu menyimpan data hingga berukuran GIGA BYTE. Tipe data ini memiliki batas penyimpanan hingga 2^32-1 (4G-1) data.
ENUM ('nilai1','nilai2',…,'nilaiN') Ukuran 1 atau 2 byte. Tergantung jumlah nilai enumerasinya (maksimum 65535 nilai)
SET ('nilai1','nilai2',…,'nilaiN') 1,2,3,4 atau 8 byte, tergantung jumlah anggota himpunan (maksimum 64 anggota)

CREATE DATABASE
Database adalah sebuah media utama yang harus dibuat dalam membangun sebuah basis data agar nantinya dapat kita letakkan beberapa tabel dengan field-fieldnya.
Perintah yang digunakan untuk menciptakan database pada MySQL dengan query berikut :

CREATE DATABASE nama_database;

Contoh:

CREATE DATABASE akademik;

DROP Database
Untuk menghapus Database yang telah dibuat dapat menggunakan query SQL berikut:

DROP DATABASE nama_database;

CREATE TABLE
Tabel terletak pada sebuah database, sehingga pembuatan tabel dilakukan setelah sebuah database telah dibuat. Dalam tabel terdapat bari dan kolom. Baris diistilahkan dengan recordset dan kolom dengan field. Untuk membuat sebuah tabel, database harus diaktifkan dulu karena tabel akan dimasukkan ke dalam database yang akan diaktifkan. Query untuk mengaktifkan Database adalah:

USE nama_database;

Setelah masuk ke dalam database anda dapat membuat sebuah tabel. Untuk membuat tabel dapat menggunakan query dibawah ini

CREATE TABLE nama_tabel ( field-1 type(length), 
field-2 type(length), field-3 type(length), .....(.....));

Contoh:

CREATE TABLE mahasiswa(
id_mhsw int(3),
nama varchar(50),
alamat varchar(60),
email varchar(60),
no_telp varchar(15),
sex char(1)
);

SHOW TABLES
SHOW TABLES digunakan untuk melihat table yang telah dibuat.

SHOW TABLES;

Struktur Tabel
anda dapat melihat tipe data dan panjang recordset dengan cara menampilkan struktur tabel. Perintah yang digunakan untuk menampilkan struktur tabel adalah:

DESC nama_tabel;

ATAU

DESCRIBE nama_tabel;

DROP TABLE
Untuk menghapus Tabel yang telah dibuat dapat menggunakan query SQL berikut :

DROP TABLE nama_tabel;

Membuat Kunci Primer ( Primary Key )
Dalam membuat sebuah database, kita akan menemukan sebuah record yang datanya tidak boleh sama dengan record yang lain. Agar data tidak kembar maka harus membuat sebuah kolom yang di deklarasikan sebagai kunci primer (primary key). Query untuk menciptakan kunci primer (primary key) adalah :

CREATE TABLE nama_tabel ( field-1 type(length)PRIMARY KEY,
field-2 type(length), ... ....(....));

Contoh:

CREATE TABLE mahasiswa(
id_mhsw int(3) primary key,
nama varchar(50),
alamat varchar(60),
email varchar(60),
no_telp varchar(15),
sex char(1)
);

Auto Increment
Auto increment field pada MySQL adalah suatu tipe field integer yang secara otomatis akan bertambah nilainya jika terjadi penambahan row pada table dimana field tersebut berada. Untuk menambahkan atau merubah suatu field sebagai auto increment, berikut adalah beberapa aturannya :
  • field tersebut harus didefinisikan sebagai primary key.
  • menambahkan keyword AUTO_INCREMENT pada definisi field.
  • harus bertipe numerik (TINYINT, INT, dan lain-lain).
  • hanya boleh ada satu field auto increment pada suatu table, tidak bisa lebih.

CREATE TABLE nama_tabel ( field-1 type(length)PRIMARY KEY NOT NULL
AUTO_INCREMENT, field-2 type(length), ... ....(....));
Contoh:

CREATE TABLE mahasiswa(
id_mhsw int(3) PRIMARY KEY NOT NULL AUTO_INCREMENT,
nama varchar(50),
alamat varchar(60),
email varchar(60),
no_telp varchar(15),
sex char(1)
);

Mengganti nama table
Query SQL untuk merubah nama tabel dengan menggunakan RENAME, query seperti berikut :

ALTER TABLE tabel_lama RENAME TO tabel_baru;

Menambah Field pada Tabel
Menambah kolom dapat diartikan sebagai langkah untuk menyisipkan field baru pada sebuah tabel. Untuk melakukan penambahan Field maka ALTER spesifikasi yang digunakan adalah ADD. Query yang digunakan adalah:

ALTER TABLE nama_tabel ADD nama_field Type_data(length);
Contoh:

alter table mahasiswa add gol_darah char(2);

Mengubah Field pada Tabel
Mengubah kolom dapat diartikan sebagai mengubah nama kolom atau tipe kolom itu sendiri. Untuk melakukan penambahan Field maka ALTER spesifikasi yang digunakan adalah CHANGE. Query yang digunakan adalah:

ALTER TABLE nama_tabel CHANGE nama_field_lama nama_field_baru tipe_data;
Contoh:

ALTER TABLE mahasiswa CHANGE gol_darah goldarah varchar(2);

Menghapus Field pada Tabel
Pada pembuatan database pasti terdapat kesalahan seperti pada field tabel yang berlebihan dan lain-lain. Untuk melakukan Penghapusan Field maka ALTER spesifikasi yang digunakan adalah DROP.

ALTER TABLE nama_tabel DROP nama_field;

12 April 2020

Membuat Stored Procedure Sql Server

Membuat Stored Procedure Sql Server

Jika teman-teman menggunakan query sql yang sama berulang-ulang dalam program aplikasi, maka dapat menggunakan stored procedure untuk menyimpan query tersebut dan panggil saja stored procedure yang telah dibuat tadi jika ingin digunakan. Stored Procedure merupakan kumpulan perintah atau statement SQL yang disimpan di dalam database dengan nama tertentu.

11 April 2019

Replikasi Database PC to Virtualbox


Replikasi Database PC to Virtualbox

Selamat datang di blog Mari belajar coding. Pada tutorial kali ini kita akan belajar mereplikasi database master to master menggunakan PC atau laptop dengan virtualbox. Pastikan PC teman-teman sudah terinstal virtualbox beserta os windows yang sudah terinstal di virtualbox untuk memulai replikasi database. 

Replikasi Database PC to Virtualbox 

Setting network pada virtualbox. Klik kanan pada virtual machine kemudian pilih setting.
Replikasi Database PC to Virtualbox


Pilih network kemudian pada bagian attached to pilih Bridged adapter. Tekan OK kemudian jalankan virtual machine.
Replikasi Database PC to Virtualbox

Buka CMD di virtual machine, kemudian ketikkan ipconfig untuk melihat ip adress. Lakukan ping pada ip adress  PC untuk mengetes apakah  PC teman-teman terhubung dengan virtual machine dalam satu jaringan. Bisa kita lihat ip adress pada virtual machine milik saya adalah 192.168.1.24 dan ip adress pada PC adalah 192.168.1.14 . Teman-teman bisa cek ip adress pada PC dengan mengetikan ipconfig pada CMD.
Replikasi Database PC to Virtualbox

Buat database dan tabel di PC dan virtualbox. Contohnya database akademik dengan satu tabel bernama tabel mahasiswa. Pastikan nama database dan tabel sama antara PC maupun virtualbox.

-- Buat database akademik
CREATE DATABASE `akademik`;
USE `akademik`;
-- buat tabel mahasiswa
CREATE TABLE `mahasiswa` (
`nim` varchar(15),
`nama` varchar(40),
`alamat` text,
`jurusan` varchar(255),
PRIMARY KEY (`nim`)
);

Replikasi Database PC to Virtualbox

Setting PC sebagai  server master 1

Matikan firewall (Start | Settings | Control Panel | Windows Firewall | Off)

Edit file my.ini (C:\Xammp\Mysql\Bin\My.Ini) Menggunakan Notepad. Tambahkan kode berikut dibawah [MYSQLD]:

server-id=1
      replicate-do-db=akademik
      log-bin=mysql-bin
      binlog-do-db=akademik
      relay-log=D:\xampp\mysql\slave-relay.log
      relay-log-index=D:\xampp\mysql\slave-relay-log.index
      expire_logs_days=5
      max_binlog_size=100M

Cari server-id = 1, jika ada selain yang diatas diberi tanda # (#server-id=1). Pastikan server-id=1 hanya ada satu yang aktif dibawah [mysqld]. Setelah itu simpan dan restart mysql di xampp control panel.

Masuk ke Mysql menggunakan CMD (Start|Run|Cmd|Ok)
C:\cd xammp\mysql\bin
mysql -u root -p 

Ketikkan kode berikut satu persatu di cmd. Ganti ip adress 192.168.1.24 pada baris pertama dengan ip adress virtual machine teman-teman.

GRANT REPLICATION SLAVE ON *.* TO 'server2'@'192.168.1.24' IDENTIFIED BY 'server2';

FLUSH PRIVILEGES;

SHOW MASTER STATUS;

STOP SLAVE ;

Replikasi Database PC to Virtualbox

CMD pada PC jangan di close, Sekarang kita akan setting virtualbox sebagai master 2

Matikan firewall (Start | Settings | Control Panel | Windows Firewall | Off)

Edit file my.ini (C:\Xammp\Mysql\Bin\My.Ini) menggunakan Notepad. Pada  [MYSQLD] Tambahkan :

server-id=2
replicate-do-db=akademik
log-bin=mysql-bin
binlog-do-db=akademik
relay-log=C:\xampp\mysql\slave-relay.log
relay-log-index=C:\xampp\mysql\slave-relay-log.index
expire_logs_days=5
max_binlog_size=100M

Cari server-id = 1, diberi tanda # (#server-id=1). Setelah itu simpan dan restart mysql di xampp control panel.

Masuk ke mysql menggunakan CMD(Start|Run|Cmd|Ok)
C:\cd xammp\mysql\bin
mysql -u root -p 

Ketikkan kode berikut satu persatu di cmd virtual machine. Ganti ip adress 192.168.1.14 pada baris pertama dengan ip adress PC teman-teman.

GRANT REPLICATION SLAVE ON *.* TO 'server1'@'192.168.1.14' IDENTIFIED BY 'server1';

FLUSH PRIVILEGES;

SHOW MASTER STATUS;

STOP SLAVE ;

Replikasi Database PC to Virtualbox

Kembali lagi pada CMD PC master 1. Ketikkan kode berikut ini satu persatu. Ganti ip adress 192.168.1.24 dengan alamat ip virtual machine teman-teman. Ganti juga master log file dan master log pos dengan melihat show master status pada cmd Virtual machine master 2

CHANGE MASTER TO MASTER_HOST='192.168.1.24',
         MASTER_USER='server1', MASTER_PASSWORD='server1',
         MASTER_LOG_FILE='mysql-bin.000001', 
         MASTER_LOG_POS=339; 

START SLAVE;

SHOW SLAVE STATUS\G;

Replikasi Database PC to Virtualbox

Pastikan slave io running dan slave sql running dalam keadaan YES. Lihat gambar diatas.

Buka lagi CMD pada virtual machine master 2. Ketikkan kode berikut ini satu persatu. Ganti alamat ip 192.168.14 dengan alamat ip PC master 1. Ganti juga  master log file dan master log pos dengan melihat show master status pada PC master 1.

CHANGE MASTER TO MASTER_HOST='192.168.1.14',
         MASTER_USER='server2', MASTER_PASSWORD='server2',
         MASTER_LOG_FILE='mysql-bin.000001', 
         MASTER_LOG_POS=621; 

START SLAVE;

SHOW SLAVE STATUS\G;

Replikasi Database PC to Virtualbox

Pastikan slave io running dan slave sql running dalam keadaan YES. Lihat gambar diatas.

Untuk mencoba replikasi, lakukan perubahan data di salah satu tabel pada database yang ada di master 1. Kemudian refresh database di master 2, maka data yang ada di tabel master 2 juga otomatis akan berubah sama dengan yang di master 1. Begitu juga sebaliknya, lakukan perubahan di tabel master 2. Maka data yang ada di tabel master 1 akan berubah.


Related search:
Replikasi database PC to Virtualbox
Replikasi database laptop to Virtualbox
Replikasi database master to master

07 Maret 2019

Replikasi Database Multiway Menggunakan Mysql



Replikasi Database Multiway Menggunakan Mysql

Artikel ini merupakan kelanjutan dari Replikasi Database Master - Slave yang pernah saya buat. Pada kali ini, saya akan membuat tutorial replikasi database multiway atau master to master menggunakan mysql. Dengan replikasi master to master memungkinkan distribusi data antara master 1 ke master 2 dan sebaliknya master 2 ke master 1.

Replikasi Database Multiway Menggunakan Mysql

1. Siapkan PC/Laptop (minimal 2)

2. Hubungkan antar PC menggunakan kabel LAN, setting alamat IP pada masing-masing PC agar terhubung
192.168.1.1 //  PC 1 sebagai Master 1

192.168.1.2 //  PC 2 sebagai Master 2

3. Buat database pada masing-masing PC, nama database dan struktur tabelnya harus sama.
create database akademik;
use akademik;
create table mahasiswa(nim varchar(15)primary key not null,nama varchar(40), alamat text);

4. Setting PC 1 sebagai  server master 1
- Matikan firewall (Start | Settings | Control Panel | Windows Firewall | Off)
- Edit file my.ini (C:\Xammp\Mysql\Bin\My.Ini) Menggunakan Notepad. Pada  [MYSQLD] Tambahkan :
     server-id=1
      replicate-do-db=akademik
      log-bin=mysql-bin
      binlog-do-db=akademik
      relay-log=C:\xampp\mysql\slave-relay.log
      relay-log-index=C:\xampp\mysql\slave-relay-log.index
      expire_logs_days=5
      max_binlog_size=100M

- Cari server-id = 1, jika ada selain yang diatas diberi tanda # (#server-id=1). pastikan server-id=1 hanya ada satu yang aktif dibawah [mysqld]. Setelah itu simpan dan restart mysql di xampp control panel. jika error ulangi langkah yang diatas.
- Masuk ke Mysql menggunakan command line (Start|Run|Cmd|Ok)
C:\cd xammp\mysql\bin
mysql -u root -p
GRANT REPLICATION SLAVE ON *.* TO 'server2'@'192.168.1.2' IDENTIFIED BY 'server2';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
STOP SLAVE ; // Jika error ganti dengan SLAVE STOP;
CHANGE MASTER TO MASTER_HOST='192.168.1.2',
         MASTER_USER='server1', MASTER_PASSWORD='server1',
         MASTER_LOG_FILE='mysql-bin.000001', //lihat  file dari show master status MASTER 2
         MASTER_LOG_POS=621; //lihat position dari show master status MASTER 2
START SLAVE;
SHOW SLAVE STATUS\G;

Untuk master_log_file dan master_log_pos teman-teman bisa melihat dari show master status server master 2

5. Setting PC 2 sebagai server Master 2
- Matikan firewall (Start | Settings | Control Panel | Windows Firewall | Off)
- Edit file my.ini (C:\Xammp\Mysql\Bin\My.Ini) Menggunakan Notepad. Pada  [MYSQLD] Tambahkan :
server-id=2
replicate-do-db=akademik
log-bin=mysql-bin
binlog-do-db=akademik
relay-log=C:\xampp\mysql\slave-relay.log
relay-log-index=C:\xampp\mysql\slave-relay-log.index
expire_logs_days=5
max_binlog_size=100M

- Cari server-id = 1,diberi tanda # (#server-id=1).Setelah itu simpan dan restart mysql di xampp control panel. jika error ulangi langkah yang diatas.
- Masuk ke mysql menggunakan command line (Start|Run|Cmd|Ok)
C:\cd xammp\mysql\bin
mysql -u root -p
GRANT REPLICATION SLAVE ON *.* TO 'server1'@'192.168.1.1' IDENTIFIED BY 'server1';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
STOP SLAVE ; // Jika error ganti dengan SLAVE STOP;
CHANGE MASTER TO MASTER_HOST='192.168.1.1',
         MASTER_USER='server2', MASTER_PASSWORD='server2',
         MASTER_LOG_FILE='mysql-bin.000001', //lihat  file dari show master status MASTER 1
         MASTER_LOG_POS=621; //lihat position dari show master status MASTER 1
START SLAVE;
SHOW SLAVE STATUS\G;

Untuk master_log_file dan master_log_pos teman-teman bisa melihat dari show master status server master 1
Replikasi Database Multiway Menggunakan Mysql
Jika status menunjukan seperti gambar di atas artinya  aktivasi replikasi Master to Master berhasil dan berjalan dengan baik.


Releate search:
  • Replikasi database mysql
  • Replikasi database multiway mysql
  • Replikasi database master to master