Showing posts with label MySQL. Show all posts
Showing posts with label MySQL. Show all posts

Wednesday, 21 September 2016

Tips Sederhana Mengapakan Aplikasi Anda Dari SQL Injection

Tips Sederhana Mengapakan Aplikasi Anda Dari SQL Injection
Tips Sederhana Mengapakan Aplikasi Anda Dari SQL Injection
Salah satu penyakit yg tak di hiraukan oleh programmer saat menciptakan login laman ialah SQL Injection. Aku pun perdana tak menyadari serangan model SQL Injection. Tetapi aku miliki satu trik yg dapat mengatasi masalah ini. Perdana silahkan dgn kalimat satu ini dulu : a3201f1018bae15ef59f7883191c411a.

Ini menggali ilmu dari trik cryptografi Mossad, badan inteligen Israel yg tidak jarang di-salah arti-kan sbg pasukan kusus. Salah satu kiat mereka yakni dgn mengirimkan paket dalam wujud kecil-kecil. Maka info yg si penyusup amat sangat mungil & tak bermanfaat. Ini salah satunya diterapkan dgn dukungan dari penerapan WinRar yg memperbolehkan metode kompresi dgn ukuran amat kecil maka file berukuran 5 giga byte sanggup dipecah jadi 25 lebih paket yg lebih mungil.
Baca Juga : Kumpulan Sistem Pakar Berbasis Website Dengan PHP

Sekarang Ini mencoba dgn dua buah kalimat satu ini : a3201f10 & f59f7883, serta dgn ini : a3201f10f59f7883. Apa perbedaan dari angkah paling atas yang segede 32bit & angkah berikutnya yg cuma 8bit & 16 bit. Tanpa butuh algoritma buat menghubungkan angkah2 tersebut, angkah tersebut telah tentu terhubung. lantaran angkah yg cuma 8bit & 16bit yakni bidang kecil dari angkah 32bit yg bakal kita pakai buat pertukaran data bersama database. cobalah saja masukan SQL Injection, akan dapat missing parameter yg muncul. Bukannya tereksekusi.


// fungsi untuk memecahkan hasil dari $_POST
function splitdata ( $vartype , $datavar )
{
   if($vartype == ""user"")
   {
      $dataarray = str_split ( hash(""sha512"",$datavar) , 16 );
     $newarray[0] = $dataarray[2];
      $newarray[1] = $dataarray[5];
  }
  elseif($vartype == ""pass"")
   {
      $dataarray = str_split ( hash(""sha512"",$datavar) , 16);
      $newarray[0] = $dataarray[1];
      $newarray[1] = $dataarray[4];
  }
  return $newarray;
}

// proses untuk mendapatkan hasil pecahannya
$username=splitdata(""user"",$_POST[""httpvarauthuser""]);
$password=splitdata(""pass"",$_POST[""httpvarauthpass""]);
// username sekarang tinggal 32bit dari awalnya 128bit
$user0=$username[0]; $user1=$username[1];
// password sekarang tinggal 32bit dari awalnya 128bit
$pass0=$password[0]; $pass1=$password[1];

// ketika ke table data base tinggal gunakan perintah seperti ini
variable $user0, $user1, $pass0, $pass1 digunakan untuk mengecek ke databasenya.

Salam Terraligno

Wednesday, 4 February 2015

Bagaimana Cara Menggunakan Select Distinct Di MySQL

Apa Itu Distinct?

DISTINCT adalah salah satu operator di database MySQL bahkan hampir di semua database yang digunakan untuk mencegah adanya duplikasi data atau record. Misalkan ada 10 orang yang bernama 'AHMAD', maka dengan menggunakan operator Distinct, Anda bisa mengeliminasi data 'AHMAD' menjadi satu nama saja.

Operator Distinct digunakan setelah keyword SELECT pada Select statement.


Sintak Dasar

Di bawah ini adalah sintak dasar Select Distinct di MySQL:

SELECT DISTINCT nama_kolom
FROM nama_tabel
WHERE kondisi

Contoh Latihan

Sebagai latihan penggunaan Select Distinct, Anda dapat mengikuti step-step dibawah ini:
  1. Buatlah tabel di database MySQL dengan nama TBL_KARYAWAN dan isi data tabel karyawan dengan data-data berikut:

    TBL_KARYAWAN
    NAMA_DEPANNAMA_BELAKANG
    AgungHeriyadi
    AgungSupriyatna
    AhmadSahil
    AhmadSofyan
    AnaFauziyah
    AsepSupriyatna
    LauraKrasiva
    NauraKrasiva
    Ngatimin
    NurulAnwariyah
    NurulHikmah
    Sutrisno
    Zainuddin

    Script Buat Table

    mysql> CREATE TABLE TBL_KARYAWAN(
        ->    nama_depan VARCHAR(50),
        ->    nama_belakang VARCHAR(50)
        -> );
    Query OK, 0 rows affected (0.24 sec)
    
    

    Script Insert Data

    mysql> INSERT INTO TBL_KARYAWAN VALUES('Agung','Heriyadi');
    Query OK, 1 row affected (0.05 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Agung','Supriyatna');
    Query OK, 1 row affected (0.04 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Ahmad','Sahil');
    Query OK, 1 row affected (0.09 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Ahmad','Sofyan');
    Query OK, 1 row affected (0.05 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Ana','Fauziyah');
    Query OK, 1 row affected (0.07 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Asep','Supriyatna');
    Query OK, 1 row affected (0.06 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Laura','Krasiva');
    Query OK, 1 row affected (0.07 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Naura','Krasiva');
    Query OK, 1 row affected (0.05 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Ngatimin',null);
    Query OK, 1 row affected (0.05 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Nurul','Anwariyah');
    Query OK, 1 row affected (0.06 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Nurul','Hikmah');
    Query OK, 1 row affected (0.06 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Sutrisno',null);
    Query OK, 1 row affected (0.04 sec)
    
    mysql> INSERT INTO TBL_KARYAWAN VALUES('Zainuddin',null);
    Query OK, 1 row affected (0.05 sec)
    

  2. Tampilkan semua data Karyawan

    mysql> SELECT * FROM tbl_karyawan;
    +------------+---------------+
    | nama_depan | nama_belakang |
    +------------+---------------+
    | Agung      | Heriyadi      |
    | Agung      | Supriyatna    |
    | Ahmad      | Sahil         |
    | Ahmad      | Sofyan        |
    | Ana        | Fauziyah      |
    | Asep       | Supriyatna    |
    | Laura      | Krasiva       |
    | Naura      | Krasiva       |
    | Ngatimin   | NULL          |
    | Nurul      | Anwariyah     |
    | Nurul      | Hikmah        |
    | Sutrisno   | NULL          |
    | Zainuddin  | NULL          |
    +------------+---------------+
    13 rows in set (0.04 sec)
    

    Query diatas menghasilkan 10 record karena ada 3 record yang dieliminasi yaitu nama Agung, Ahmad, dan Nurul yang awalnya double hanya ditampilkan satu record saja.
  3. Tampilkan Nama Depan Karyawan menggunakan Select Distinct. Dan lihat hasilnya.

    mysql> SELECT DISTINCT nama_depan FROM tbl_karyawan;
    +------------+
    | nama_depan |
    +------------+
    | Agung      |
    | Ahmad      |
    | Ana        |
    | Asep       |
    | Laura      |
    | Naura      |
    | Ngatimin   |
    | Nurul      |
    | Sutrisno   |
    | Zainuddin  |
    +------------+
    10 rows in set (0.03 sec)
    
  4. Tampilkan Nama Belakang menggunakan Select Distinct. Dan lihat hasilnya

    mysql> SELECT DISTINCT nama_belakang FROM tbl_karyawan;
    +---------------+
    | nama_belakang |
    +---------------+
    | Heriyadi      |
    | Supriyatna    |
    | Sahil         |
    | Sofyan        |
    | Fauziyah      |
    | Krasiva       |
    | NULL          |
    | Anwariyah     |
    | Hikmah        |
    +---------------+
    9 rows in set (0.00 sec)
    

Sekian tutorial singkat Bagaimana Cara Menggunakan SELECT LIMIT Statement Di MySQL. Semoga bermanfaat & Selamat Belajar MySQL.


Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,


~Nursalim~
Naura-Lab.blogspot.com

Sunday, 1 February 2015

Bagaimana Cara Menggunakan SELECT LIMIT Statement Di MySQL

Pada tutorial kali ini, Kita akan belajar Bagaimana Cara Menggunakan perintah SELECT LIMIT Di Database MySQL=.


Apa Itu SELECT LIMIT?

SELECT LIMIT merupakan SELECT statement dengan menambahkan clausa LIMIT untuk membatasi jumlah data/record. SELECT LIMIT mirip dengan ROWNUM di Oracle database.


Sintak Dasar

Di bawah ini adalah sintak dasar untuk membuat perintah SELECT LIMIT:

SELECT kolom_1, kolom_2
FROM nama_table
WHERE kondisi
ORDER BY nama_kolom [ASC|DESC]
LIMIT jumlah_record

Keterangan sintak:
  • jumlah_record adalah berapa banyak record atau data yang akan ditampilkan. Apabila anda ingin menampilkan 10 record, maka jumlah_record diisi dengan 10.

Langkah-Langkah Menggunakan SELECT LIMIT

Di bawah ini adalah langkah-langkah dalam menggunakan SELECT LIMIT statement sebagai bahan latihan.
  1. Buatlah sebuah table KARYAWAN dan isi datanya seperti berikut ini.

    Tabel KARYAWAN

    NIKNamaKode_DepartmentGenderGaji_PokokTunjangan
    0001NursalimITL3000000250000
    0002Naura Krasiva ElsalnaACCOUNTINGP1750000100000
    0003Nani IndriyaniITP2750000200000
    0004Ahmad FathoniHRDL1000000100000
    0005Bayu DirgantaraITL3000000250000

    Script Buat Table

    mysql> CREATE TABLE karyawan (
        -> nik VARCHAR(5) NOT NULL PRIMARY KEY,
        -> nama VARCHAR(50) NOT NULL,
        -> gender CHAR(1) NOT NULL,
        -> department VARCHAR(30) NOT NULL,
        -> gaji_pokok BIGINT(10) NOT NULL,
        -> tunjangan BIGINT(10) NOT NULL
        -> );
    Query OK, 0 rows affected (0.15 sec)
    


    Script Insert Data

    mysql> INSERT INTO karyawan VALUES('0001','Nursalim','L','IT',3000000,250000);
    Query OK, 1 row affected (0.11 sec)
    
    mysql> INSERT INTO karyawan VALUES('0002','Naura Krasiva Elsalna','P','ACCOUNTING',1750000,100000);
    Query OK, 1 row affected (0.13 sec)
    
    mysql> INSERT INTO karyawan VALUES('0003','Nani Indriyani','P','IT',2750000,200000);
    Query OK, 1 row affected (0.06 sec)
    
    mysql> INSERT INTO karyawan VALUES('0004','Ahmad Fathoni','L','HRD',1000000,100000);
    Query OK, 1 row affected (0.06 sec)
    
    mysql> INSERT INTO karyawan VALUES('0005','Bayu Dirgantara','L','IT',3000000,250000);
    Query OK, 1 row affected (0.11 sec)
    

    Baca juga: Menggunakan Insert Statement di MySQL.
  2. Tampilkan data dari tabel KARYAWAN

    mysql> SELECT * FROM karyawan;
    +------+-----------------------+--------+------------+------------+-----------+
    | nik  | nama                  | gender | department | gaji_pokok | tunjangan |
    +------+-----------------------+--------+------------+------------+-----------+
    | 0001 | Nursalim              | L      | IT         |    3000000 |    250000 |
    | 0002 | Naura Krasiva Elsalna | P      | ACCOUNTING |    1750000 |    100000 |
    | 0003 | Nani Indriyani        | P      | IT         |    2750000 |    200000 |
    | 0004 | Ahmad Fathoni         | L      | HRD        |    1000000 |    100000 |
    | 0005 | Bayu Dirgantara       | L      | IT         |    3000000 |    250000 |
    +------+-----------------------+--------+------------+------------+-----------+
    5 rows in set (0.00 sec)
    
  3. Tampilkan data dari table KARYAWAN dengan jumlah record empat (4) dan urutkan secara ascending berdasarkan Nama karyawan.

    mysql> SELECT * FROM karyawan
        -> ORDER BY nama
        -> LIMIT 4;
    +------+-----------------------+--------+------------+------------+-----------+
    | nik  | nama                  | gender | department | gaji_pokok | tunjangan |
    +------+-----------------------+--------+------------+------------+-----------+
    | 0004 | Ahmad Fathoni         | L      | HRD        |    1000000 |    100000 |
    | 0005 | Bayu Dirgantara       | L      | IT         |    3000000 |    250000 |
    | 0003 | Nani Indriyani        | P      | IT         |    2750000 |    200000 |
    | 0002 | Naura Krasiva Elsalna | P      | ACCOUNTING |    1750000 |    100000 |
    +------+-----------------------+--------+------------+------------+-----------+
    4 rows in set (0.09 sec)
    
  4. Tampilkan data dari tabel KARYAWAN dengan jumlah record empat (4) yang mempunyai gaji bersih lebih dari 1 juta, dan urutkan secara descending berdasarkan gaji bersih. Rumus Gaji Bersih = Gaji Pokok + Tunjangan.

    mysql> SELECT nik, nama, gender, department, gaji_pokok+tunjangan 'gaji_bersih'
        -> FROM karyawan
        -> WHERE gaji_pokok+tunjangan > 1000000
        -> ORDER BY gaji_pokok+tunjangan DESC
        -> LIMIT 4;
    +------+-----------------------+--------+------------+-------------+
    | nik  | nama                  | gender | department | gaji_bersih |
    +------+-----------------------+--------+------------+-------------+
    | 0001 | Nursalim              | L      | IT         |     3250000 |
    | 0005 | Bayu Dirgantara       | L      | IT         |     3250000 |
    | 0003 | Nani Indriyani        | P      | IT         |     2950000 |
    | 0002 | Naura Krasiva Elsalna | P      | ACCOUNTING |     1850000 |
    +------+-----------------------+--------+------------+-------------+
    4 rows in set (0.00 sec)
    
Sekian tutorial singkat Bagaimana Cara Menggunakan SELECT LIMIT Statement Di MySQL. Semoga bermanfaat & Selamat Belajar MySQL.


Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,


~Nursalim~
Naura-Lab.blogspot.com

Friday, 30 January 2015

Mengenal Dan Menggunakan Date Time Built-in Function Di MySQL

ADDDATE(date, interval) DAN DATE_ADD(date, interval)

Fungsi ADDDATE() dan DATE_ADD() digunakan untuk menambahkan datetime pada tanggal yang telah ditentukan. Misalkan ingin menampilkan 10 hari kedepan dari tanggal 1 Februari 2015 jatuh pada tanggal berapa?



Catatan:

Interval yang biasa Anda gunakan adalah SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR, dan sebagainya.

Contoh #1:
Menampilkan 10 hari kedepan dari tanggal 1 Februari 2015

mysql> SELECT ADDDATE('2015-02-01',INTERVAL 10 DAY);
+---------------------------------------+
| ADDDATE('2015-02-01',INTERVAL 10 DAY) |
+---------------------------------------+
| 2015-02-11                            |
+---------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT DATE_ADD('2015-02-01',INTERVAL 10 DAY);
+----------------------------------------+
| DATE_ADD('2015-02-01',INTERVAL 10 DAY) |
+----------------------------------------+
| 2015-02-11                             |
+----------------------------------------+
1 row in set (0.00 sec)

Contoh #2
Menampilkan 10 bulan kedepan dari tanggal 1 Februari 2015

mysql> SELECT ADDDATE('2015-02-01',INTERVAL 10 MONTH);
+-----------------------------------------+
| ADDDATE('2015-02-01',INTERVAL 10 MONTH) |
+-----------------------------------------+
| 2015-12-01                              |
+-----------------------------------------+
1 row in set (0.00 sec)

CURDATE() Dan CURRENT_DATE()

Fungsi CURDATE() dan CURRENT_DATE() digunakan untuk menampilkan tanggal hari ini dalam format "YYYY-MM-DD" atau "YYYYMMDD".

Contoh #1 - CURDATE()

mysql> SELECT CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2015-01-30 |
+------------+
1 row in set (0.00 sec)

Contoh #2 - CURRENT_DATE()

mysql> SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2015-01-30     |
+----------------+
1 row in set (0.00 sec)

Contoh #3 - CURDATE()+1

mysql> SELECT CURDATE()+1;
+-------------+
| CURDATE()+1 |
+-------------+
|    20150131 |
+-------------+
1 row in set (0.00 sec)

CURRENT_TIME()

Fungsi CURRENT_TIME() digunakan untuk menampilkan waktu sekarang dengan format "HH:SS:MM".

Contoh:

mysql> SELECT CURRENT_TIME();
+----------------+
| CURRENT_TIME() |
+----------------+
| 23:25:50       |
+----------------+
1 row in set (0.00 sec)

CURRENT_TIMESTAMP()

Fungsi CURRENT_TIMESTAMP() digunakan untuk menampilkan tanggal dan waktu sekarang dengan format "YYYY-MM-DD HH-MM-SS".

Contoh:

mysql> SELECT CURRENT_TIMESTAMP();
+---------------------+
| CURRENT_TIMESTAMP() |
+---------------------+
| 2015-01-30 23:29:19 |
+---------------------+
1 row in set (0.00 sec)

DATEDIFF(date1, date2)

Fungsi DATEDIFF() digunakan untuk menampilkan selisih jumlah hari diantara dua tanggal (date). Argument atau parameter yang dapat digunakan yaitu DATE, DATETIME, dan TIMESTAMP

Contoh #1:

mysql> SELECT DATEDIFF('2015-01-30','2015-01-30');
+-------------------------------------+
| DATEDIFF('2015-01-30','2015-01-30') |
+-------------------------------------+
|                                   0 |
+-------------------------------------+
1 row in set (0.00 sec)

Contoh #2:

mysql> SELECT DATEDIFF('2015-01-30','2015-01-20');
+-------------------------------------+
| DATEDIFF('2015-01-30','2015-01-20') |
+-------------------------------------+
|                                  10 |
+-------------------------------------+
1 row in set (0.00 sec)
Contoh #3:

mysql> SELECT DATEDIFF('2015-01-20','2015-01-30');
+-------------------------------------+
| DATEDIFF('2015-01-20','2015-01-30') |
+-------------------------------------+
|                                 -10 |
+-------------------------------------+
1 row in set (0.00 sec)

NOW()

Fungsi NOW() digunakan untuk menampilkan tanggal dan waktu saat ini.

Contoh:

mysql> SELECT NOW() "Tanggal Sekarang";
+---------------------+
| Tanggal Sekarang    |
+---------------------+
| 2015-01-30 22:56:33 |
+---------------------+
1 row in set (0.00 sec)

Sekian tutorial singkat Mengenal Dan Menggunakan Numeric Built-in Functions Di MySQL. Semoga bermanfaat & Selamat Belajar MySQL.


Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,


~Nursalim~
Naura-Lab.blogspot.com

Monday, 26 January 2015

Mengenal Dan Menggunakan Numeric Built-in Functions Di MySQL

Pada tutorial sebelumnya Anda telah belajar tentang Penggunaan Fungsi String di MySQL. Melanjutkan pokok bahasan built-in function di MySQL, pada tutorial kali ini akan dibahas tentang Numeric Function yang ada di database MySQL.

Apa Itu Numeric Function?

Numeric function adalah fungsi yang digunakan dalam operasi matematika. Database MySQL mempunyai segudang built-in numeric function yang bisa Anda gunakan.


Macam-Macam Numeric Function

Di bawah ini adalah tabel Numeric function di database MySQL:

Nama FungsiDeskripsi
ABS(x)Menampilkan nilai absolute dari suatu bilangan.
ACOS(x)Menampilkan nilai Arc Cosinus dari suatu bilangan (x). Apabila bilangan (x) tidak mempunyai nilai antara -1 dan 1, maka akan menghasilkan nilai NULL.
ASIN(x)Menampilkan nilai Arc Sinus dari suatu bilangan (x). Apabila bilangan (x) tidak mempunyai nilai antara -1 dan 1, maka akan menghasilkan nilai NULL.
ATAN(x)Menampilkan nilai Arc Tangen dari suatu bilangan (x).
COS(x)Menampilkan nilai Cosinus dari suatu bilangan (x).
GREATEST(x1, x2, ...)Menampilkan nilai terbesar dari beberapa bilangan di parameter.
LEAST(x1, x2, ...)Menampilkan nilai terkecil dari beberapa bilangan di parameter.
PI()Menampilkan nilai PI.
POW(x,y) atau POWER(x,y)Menghasilkan nilai bilangan x pangkat y
SIN(x)Menghasilkan nilai Sinus dari suatu bilangan (x)
SQRT(x)Menghasilkan nilai akar dari suatu bilangan (x)
TAX(x)Menghasilkan nilai Tangen dari suatu bilangan (x)

ABS(x)

Fungsi ABS (absolute) digunakan untuk menampilkan nilai absolute atau mutlak dari suatu bilangan. Nilai absolute adalah nilai yang selalu bernilai positif.

Contoh #1:

mysql> SELECT ABS(5);
+--------+
| ABS(5) |
+--------+
|      5 |
+--------+
1 row in set (0.00 sec)
Contoh #2:

mysql> SELECT ABS(-5);
+---------+
| ABS(-5) |
+---------+
|       5 |
+---------+
1 row in set (0.00 sec)

ACOS(x)

Fungsi ACOS(x) digunakan menampilkan nilai Arc Cosinus dari suatu bilangan. Apabila bilangan (x) tidak mempunyai rentang nilai antara -1 dan 1, maka akan menghasilkan nilai NULL.

Contoh #1:

mysql> SELECT ACOS(0.5);
+--------------------+
| ACOS(0.5)          |
+--------------------+
| 1.0471975511965979 |
+--------------------+
1 row in set (0.00 sec)
Contoh #2:

mysql> SELECT ACOS(2);
+---------+
| ACOS(2) |
+---------+
|    NULL |
+---------+
1 row in set (0.00 sec)

ASIN(x)

Menampilkan nilai Arc Sinus dari suatu bilangan (x). Apabila bilangan (x) tidak mempunyai rentang nilai antara -1 dan 1, maka akan menghasilkan nilai NULL. 

Contoh #1:

mysql> SELECT ASIN(0.5);
+--------------------+
| ASIN(0.5)          |
+--------------------+
| 0.5235987755982989 |
+--------------------+
1 row in set (0.00 sec)
Contoh #2:

mysql> SELECT ASIN(2);
+---------+
| ASIN(2) |
+---------+
|    NULL |
+---------+
1 row in set (0.00 sec)

ATAN(x)

Menampilkan nilai Arc Tangen dari suatu bilangan (x). 

Contoh:

mysql> SELECT ATAN(0.5);
+--------------------+
| ATAN(0.5)          |
+--------------------+
| 0.4636476090008061 |
+--------------------+
1 row in set (0.00 sec)

COS(x)

Fungsi COS(x) digunakan nilai Cosinus dari suatu bilangan(x).

Contoh:

mysql> SELECT COS(45);
+--------------------+
| COS(45)            |
+--------------------+
| 0.5253219888177297 |
+--------------------+
1 row in set (0.00 sec)

GREATEST(x1, x2, ...)

Menampilkan nilai terbesar dari beberapa bilangan di parameter (x1, x2, ...).


Contoh:

mysql> SELECT GREATEST(10,30,100);
+---------------------+
| GREATEST(10,30,100) |
+---------------------+
|                 100 |
+---------------------+
1 row in set (0.00 sec)

LEAST(x1, x2, ...)

Menampilkan nilai terkecil dari beberapa bilangan di parameter (x1, x2, ...).

Contoh:

mysql> SELECT LEAST(10,30,100);
+------------------+
| LEAST(10,30,100) |
+------------------+
|               10 |
+------------------+
1 row in set (0.00 sec)

PI()

Fungsi PI() digunakan untuk menampilkan nilai PI (π). Menurut wikipedia, PI adalah sebuah konstanta dalam matematika yang merupakan perbandingan keliling lingkaran dengan diameternya.

Contoh:

mysql> SELECT PI();
+----------+
| PI()     |
+----------+
| 3.141593 |
+----------+
1 row in set (0.00 sec)

POW(x,y) atau POWER(x,y)

Fungsi POW(x,y) digunakan untuk menampilkan hasil nilai bilangan dari x pangkat y.

Contoh #1 - POW(x,y)

mysql> SELECT POW(2,3);
+----------+
| POW(2,3) |
+----------+
|        8 |
+----------+
1 row in set (0.00 sec)
Contoh #2 - POWER(x,y)

mysql> SELECT POWER(2,3);
+------------+
| POWER(2,3) |
+------------+
|          8 |
+------------+
1 row in set (0.00 sec)

SIN(x)

Fungsi SIN(x) digunakan untuk menghasilkan nilai Sinus dari suatu bilangan (x).

Contoh:

mysql> SELECT SIN(45);
+--------------------+
| SIN(45)            |
+--------------------+
| 0.8509035245341184 |
+--------------------+
1 row in set (0.00 sec)

SQRT(x)

Fungsi SQRT(x) digunakan untuk menghasilkan nilai akar dari suatu bilangan (x)

Contoh:

mysql> SELECT SQRT(25);
+----------+
| SQRT(25) |
+----------+
|        5 |
+----------+
1 row in set (0.00 sec)

TAX(x)

Fungsi TAN(x) digunakan untuk menghasilkan nilai Tangen dari suatu bilangan (x).

mysql> SELECT TAN(45);
+--------------------+
| TAN(45)            |
+--------------------+
| 1.6197751905438615 |
+--------------------+
1 row in set (0.00 sec)


Sekian tutorial singkat Bagaimana Cara Menggunakan Numeric Built-in Functions Di MySQL. Semoga bermanfaat & Selamat Belajar Database MySQL.

Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,

Sunday, 25 January 2015

Mengenal Dan Menggunakan Built-in String Function Di MySQL

Apa itu String Built-in Function?

MySQL mempunyai beberapa Built String Function (Fungsi bawaan dari MySQL) yang digunakan untuk manipulasi karakter atau string di MySQL. Pada tutorial kali ini, kita akan membahas macam-macam String Function dan cara menggunakannya.


Macam-Macam String Functions

Di bawah ini adalah tabel macam-macam String function di MySQL yang sering digunakan:

Nama FungsiDeskripsi
ASCII(str) atau ORD(str)Menampilkan kode Ascii dari suatu string/karakter.
BIN(n)Digunakan untuk menampilkan nilai binary dari suatu bilangan desimal.
CHAR_LENGTH(str) atau LENGTH(str)Digunakan untuk menampilkan panjang dari suatu string.
CONCAT(str1,str2,..)Digunakan untuk menyambung sebuah string (concate).
CONCAT_WS(separator,str1,str2)Digunakan untuk menyambung sebuah string (concate) dengan menambahkan pemisah (separator).
INSTR(string, substr)Digunakan untuk mencari posisi substring dari suatu string.
LCASE(str) atau LOWER(str)Digunakan untuk merubah string menjadi huruf kecil.
LOCATE(str)Digunakan untuk mengetahui letak sebuah substring.
LPAD(str, len, padstr)Digunakan untuk menambahkan sebuah karakter/string dari posisi kiri string sampai panjang yang telah ditentukan. (Left Padding).
LTRIM(str)Digunakan untuk menghapus spasi kosong dari sebelah kiri string.
REPEAT(str, jumlah)Digunakan untuk mengulang string sebanyak jumlah yang ditentukan.
REPLACE(str, str_asal, string_pengganti)Digunakan untuk mengetahui letak sebuah substring.
REVERSE(str)Digunakan untuk membalik sebuah string.
RPAD(str, len, padstr)Digunakan untuk menambahkan sebuah karakter/string dari posisi kanan string sampai panjang yang telah ditentukan.(Right Padding).
RTRIM(str)Digunakan untuk menghapus spasi kosong dari sebelah kanan string.
STRCMP(str1,str2)Digunakan untuk dua buah string. Jika sama akan bernilai 0, dan jika berbeda akan bernilai -1.
TRIM(str)Digunakan untuk menghapus spasi kosong dari sebelah kiri dan kanan string.
UCASE(str) atau UPPER(str)Digunakan untuk merubah string menjadi huruf besar.

ASCII(str) atau ORD(str)

Fungsi ASCII(str) dan ORD(str) digunakan untuk menampilkan kode ASCII (American Standard Code for Information Interchange) dari suatu string.

Contoh #1 - ASCII(str)

mysql> SELECT ASCII('A');
+------------+
| ASCII('A') |
+------------+
|         65 |
+------------+
1 row in set (0.00 sec)
Contoh #2 - ORD(str)

mysql> SELECT ORD('A');
+----------+
| ORD('A') |
+----------+
|       65 |
+----------+
1 row in set (0.00 sec)

BIN(n)

Fungsi BIN(n) digunakan untuk menampilkan nilai bilangan biner dari suatu bilangan desimal (n).

Contoh :

mysql> SELECT BIN(25);
+---------+
| BIN(25) |
+---------+
| 11001   |
+---------+
1 row in set (0.01 sec)

CHAR_LENGTH(str) atau LENGTH(str)

Fungsi CHAR_LENGTH(x) atau LENGTH(str) digunakan untuk menampilkan panjang dari suatu string.

Contoh #1 - CHAR_LENGTH(str)

mysql> SELECT CHAR_LENGTH('Universitas');
+----------------------------+
| CHAR_LENGTH('Universitas') |
+----------------------------+
|                         11 |
+----------------------------+
1 row in set (0.00 sec)
Contoh #2 - LENGTH(str)

mysql> SELECT LENGTH('Universitas');
+-----------------------+
| LENGTH('Universitas') |
+-----------------------+
|                    11 |
+-----------------------+
1 row in set (0.01 sec)

CONCAT(str1,str2,...)

Fungsi CONCAT(str1,str2,...) Digunakan untuk menggabungkan atau menyambung dua buah string atau lebih (concate).
 

Contoh:

mysql> SELECT CONCAT('Belajar','MySQL');
+---------------------------+
| CONCAT('Belajar','MySQL') |
+---------------------------+
| BelajarMySQL              |
+---------------------------+
1 row in set (0.00 sec)

CONCAT_WS(separator,str1,str2)

Fungsi CONCAT_WS(separator, str1,str2) digunakan untuk menggabungkan atau menyambung dua buah string (concate) dengan menggunakan separator. Fungsi ini mirip dengan fungsi CONCAT().

Contoh:

mysql> SELECT CONCAT_WS(' ','Belajar','MySQL');
+----------------------------------+
| CONCAT_WS(' ','Belajar','MySQL') |
+----------------------------------+
| Belajar MySQL                    |
+----------------------------------+
1 row in set (0.00 sec)

INSTR(str, substr)

Contoh:

mysql> SELECT INSTR('Belajar MySQL','ajar');
+-------------------------------+
| INSTR('Belajar MySQL','ajar') |
+-------------------------------+
|                             4 |
+-------------------------------+
1 row in set (0.00 sec)

LCASE(str) atau LOWER(str)

Contoh #1 - LCASE:

mysql> SELECT LCASE('Makanan');
+------------------+
| LCASE('Makanan') |
+------------------+
| makanan          |
+------------------+
1 row in set (0.00 sec)
Contoh #2 - LOWER:

mysql> SELECT LOWER('Makanan');
+------------------+
| LOWER('Makanan') |
+------------------+
| makanan          |
+------------------+
1 row in set (0.00 sec)

LOCATE(str)

Contoh:

mysql> SELECT LOCATE('ajar','Belajar MySQL');
+--------------------------------+
| LOCATE('ajar','Belajar MySQL') |
+--------------------------------+
|                              4 |
+--------------------------------+
1 row in set (0.01 sec)

LPAD(str, len, padstr)

Contoh:

mysql> SELECT LPAD('Belajar MySQL',20,'*');
+------------------------------+
| LPAD('Belajar MySQL',20,'*') |
+------------------------------+
| *******Belajar MySQL         |
+------------------------------+
1 row in set (0.00 sec)

LTRIM(str)

Contoh:

mysql> SELECT LTRIM('              MySQL');
+------------------------------+
| LTRIM('              MySQL') |
+------------------------------+
| MySQL                        |
+------------------------------+
1 row in set (0.00 sec)

REPEAT(str, jumlah)

Contoh:

mysql> SELECT REPEAT('MySQL',4);
+----------------------+
| REPEAT('MySQL',4)    |
+----------------------+
| MySQLMySQLMySQLMySQL |
+----------------------+
1 row in set (0.00 sec)

REPLACE(str, str_asal, str_pengganti)

Contoh:

mysql> SELECT REPLACE('naura-lab.blogspot.com','.','[dot]');
+-----------------------------------------------+
| REPLACE('naura-lab.blogspot.com','.','[dot]') |
+-----------------------------------------------+
| naura-lab[dot]blogspot[dot]com                |
+-----------------------------------------------+
1 row in set (0.01 sec)

REVERSE(str)

Contoh:

mysql> SELECT REVERSE('Belajar MySQL');
+--------------------------+
| REVERSE('Belajar MySQL') |
+--------------------------+
| LQSyM rajaleB            |
+--------------------------+
1 row in set (0.00 sec)

RPAD(str, len, padstr)

Contoh:

mysql> SELECT RPAD('Belajar MysQL',20,'*');
+------------------------------+
| RPAD('Belajar MysQL',20,'*') |
+------------------------------+
| Belajar MysQL*******         |
+------------------------------+
1 row in set (0.00 sec)

RTRIM(str)

Contoh :

mysql> SELECT RTRIM('MySQL        ');
+------------------------+
| RTRIM('MySQL        ') |
+------------------------+
| MySQL                  |
+------------------------+
1 row in set (0.00 sec)

STRCMP(str1, str2)

Contoh #1:

mysql> SELECT STRCMP('ABC','ABC');
+---------------------+
| STRCMP('ABC','ABC') |
+---------------------+
|                   0 |
+---------------------+
1 row in set (0.00 sec)

Contoh #2:

mysql> SELECT STRCMP('ABC','CBA');
+---------------------+
| STRCMP('ABC','CBA') |
+---------------------+
|                  -1 |
+---------------------+
1 row in set (0.00 sec)

TRIM(str)

Contoh:

mysql> SELECT TRIM('     MySQL     ');
+-------------------------+
| TRIM('     MySQL     ') |
+-------------------------+
| MySQL                   |
+-------------------------+
1 row in set (0.00 sec)

UCASE(str) atau UPPER(str) 

Contoh #1 - UCASE(str)

mysql> SELECT UCASE('Makanan');
+------------------+
| UCASE('Makanan') |
+------------------+
| MAKANAN          |
+------------------+
1 row in set (0.00 sec)
Contoh #2 - UPPER(str)

mysql> SELECT UPPER('Makanan');
+------------------+
| UPPER('Makanan') |
+------------------+
| MAKANAN          |
+------------------+
1 row in set (0.00 sec)

Sekian tutorial singkat Bagaimana Cara Menggunakan Built-in String Functions Di MySQL. Semoga bermanfaat & Selamat Belajar Database MySQL.


Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,

Saturday, 24 January 2015

Bagaimana Cara Membuat Sequence (Auto Increment) Di MySQL

Pada tutorial kali ini, kita akan belajar Bagaimana Cara Membuat Sequence Di MySQL. Untuk membuat sequence, Anda dapat menggunakan atribut AUTO INCREMENT pada kolom/field di tabel yang anda buat.



Apa Itu Sequence?

Sequence adalah salah satu objek yang ada di dalam database yang digunakan untuk men-generate sebuah bilangan yang unik, dan biasanya berurutan. Misalnya 1, 2, 3, 4, 5, dan seterusnya.

Fungsi Sequence

Sequence di database biasanya mempunyai fungsi sebagai berikut:
  • Secara otomatis men-generate angka atau bilangan yang unik.
  • Dapat digunakan sebagai primary key, karena kolom atau field yang dijadikan sequence, nilainya (datanya) otomatis bertambah (increment) ketika ada proses INSERT statement.
  • Dapat digunakan untuk meningkatkan performance query.

Sintak Dasar

Untuk membuat sequence di MySQL, Anda harus menambahkan atribut AUTO_INCREMENT ketika membuat sebuah tabel. Sintaknya adalah sebagai berikut:

CREATE TABLE nama_tabel
(
   kolom_1 NOT NULL AUTO_INCREMENT,
   kolom_2 [NULL | NOT NULL],
   ...
   kolom_n [NULL | NOT NULL]
);

Penjelasan sintak:
  • AUTO_INCREMENT adalah atribut yang digunakan untuk me-generate sequence
  • NULL atau NOT NULL adalah atribut yang mengidentifikasikan apakah kolom atau field dapat diisi dengan nilai null atau tidak.

Contoh Latihan

Sebagai contoh latihan untuk membuat sequence di MySQL, Cobalah Anda ikuti langkah-langkah di bawah ini:

Langkah #1 Buat Table

Cobalah Anda buat table seperti dibawah ini:

mysql> CREATE TABLE tbl_contact
    -> (
    ->   kd_contact INT(5) NOT NULL AUTO_INCREMENT,
    ->   nama VARCHAR(30) NOT NULL,
    ->   gender CHAR(1) NOT NULL,
    ->   no_handphone VARCHAR(20) NOT NULL,
    ->   CONSTRAINT pk_contact PRIMARY KEY(kd_contact)
    -> );
Query OK, 0 rows affected (0.17 sec)
Baca juga: Membuat Table di MySQL.

Langkah #2 Insert Data

Untuk membuktikan apakah data di kolom kd_contact pada tabel tbl_contact bertambah otomatis ketika memasukkan data. Cobalah Anda masukkan data ke tabel tbl_contact seperti dibawah ini:

INSERT INTO tbl_contact(nama, gender, no_handphone) VALUES ('Nursalim','L','0897367366');
INSERT INTO tbl_contact(nama, gender, no_handphone) VALUES ('Nani Indriyani','P','08156334');
INSERT INTO tbl_contact(nama, gender, no_handphone) VALUES ('Naura Krasiva','P','0819783748');
INSERT INTO tbl_contact(nama, gender, no_handphone) VALUES ('Ahmad Fathoni','L','085289489');

Pada Insert statement diatas, Anda tidak perlu menambahkan kolom kd_contact, karena secara otomatis nilainya bertambah ketika ada proses Insert data.


Langkah #3 Tampilkan Data

Coba Anda query ke tabel tbl_contact untuk menampilkan data contact:

mysql> SELECT * FROM tbl_contact;
+------------+----------------+--------+--------------+
| kd_contact | nama           | gender | no_handphone |
+------------+----------------+--------+--------------+
|          1 | Nursalim       | L      | 0897367366   |
|          2 | Nani Indriyani | P      | 08156334     |
|          3 | Naura Krasiva  | P      | 0819783748   |
|          4 | Ahmad Fathoni  | L      | 085289489    |
+------------+----------------+--------+--------------+
4 rows in set (0.00 sec)
Terlihat pada query diatas bahwa kolom kd_contact datanya secara otomatis bertambah.


Sekian tutorial singkat Bagaimana Cara Membuat Sequence Di MySQL. Semoga bermanfaat & Selamat Belajar Database MySQL.

Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam.

Bagaimana Cara Menggunakan Alias Di MySQL

Pada tutorial kali ini, Kita akan belajar Bagaimana Cara Menggunakan Alias di Database MySQL. Alias dapat digunakan pada level kolom maupun level tabel.


Apa Itu Alias?

Anda dapat menggunakan Alias (AS) di database MySQL untuk mempermudah dalam menulis query atau mempermudah dalam membaca query.

Dengan menggunakan Alias, kita dapat mempersingkat penulisan nama tabel dan kolom. Misalkan Anda mempunyai tabel dengan nama TBL_MAHASISWA, maka Anda dapat menggunakan alias pada tabel tersebut seperti MHS untuk mempersingkat penulisan query.

Sebagai contoh, Kita akan menggunakan tabel TBL_KARYAWAN dan TBL_JABATAN dengan data seperti dibawah ini:

TBL_KARYAWAN

niknamagenderkd_jabatan
0001NursalimLaki-LakiACC
0002Iin ParlinaPerempuanPROG
0003Wongso WibowoLaki-LakiFIN
0004Andi RangkutiLaki-LakiPROG
0005Naura KrasivaPerempuanACC

TBL_JABATAN

kd_jabatannama_jabatan
ACCAccounting
FINFinance
PROGProgrammer

Sebagai bahan latihan untuk tutorial kali, silahkan Anda buat table seperti di atas, dan masukkan data-data seperti diatas. Kemudian Anda langsung praktekkan sesuai contoh pada tutorial ini.


Menggunakan Alias Pada Tabel

Anda dapat menggunakan Alias pada nama tabel, dengan sintak seperti dibawah ini:

SELECT *
FROM nama_tabel AS nama_alias;

Contoh #1:

Dibawah ini adalah contoh sederhana penggunaan Alias pada nama tabel

SELECT tk.nik, tk.nama, tk.gender, tk.kd_jabatan
FROM tbl_karyawan AS tk;

Query di atas sebenarnya tidak terlalu berguna, karena Anda dapat langsung menggunakan query diatas tanpa harus menggunakan Alias.

Alias akan lebih terasa berguna, ketika Anda menggunakan Join Query yang menggabungkan beberapa tabel dalam satu query, seperti contoh #2 dibawah ini:

Contoh #2:

SELECT tk.nik, tk.nama, tk.kd_jabatan, td.nama_jabatan
FROM TBL_KARYAWAN AS tk,
     TBL_DEPARTEMEN AS td
WHERE tk.kd_departemen = td.kd_departemen;

Menggunakan Alias Pada Kolom

Anda dapat menggunakan Alias pada kolom seperti menggunakan Alias pada table. Sintaknya adalah sebagai berikut:

SELECT nama_kolom AS nama_kolom_as
  FROM nama_table;

Contoh #1:

SELECT nik AS "Nomor Induk Karyawan", nama AS "Nama Lengkap", gender AS "Jenis Kelamin"
  FROM tbl_karyawan;

Catatan:

Anda dapat memberikan tanda petik dua (") untuk nama alias yang lebih dari satu kata seperti query di atas.

Menggunakan Alias Untuk Sorting

Anda juga dapat menggunakan alias sebagai sorting untuk mengurutkan data baik secara ascending maupun descending. Perhatikan baik-baik contoh berikut ini:

SELECT nik AS "Nomor Induk Karyawan", nama AS "Nama Lengkap", gender AS "Jenis Kelamin"
  FROM tbl_karyawan
ORDER BY "Nama Lengkap";


Sekian tutorial singkat Bagaimana Cara Menggunakan Operator Alias Di MySQL. Semoga bermanfaat & Selamat Belajar Database MySQL.

Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,

Friday, 23 January 2015

Bagaimana Cara Menggunakan Operator LIKE Dan NOT LIKE Di MySQL

Operator LIKE

Operator LIKE digunakan untuk menampilkan data berdasarkan sebuah pattern (pola) yang sesuai dengan keinginan/kebutuhan.



Sintak Dasar

Dibawah ini adalah sintak dasar operator LIKE di database MySQL:

SELECT *
  FROM nama_table
  WHERE nama_kolom LIKE pattern [ESCAPE 'escape_character'];

Penjelasan sintak:
  • pattern atau pola adalah sebuah ekspresi karakter yang sesuai (matching) dengan yang diinginkan. Pattern ini bersifat mandatory (wajib ada).
  • ESCAPE digunakan untuk escape character. ESCAPE ini bersifat opsional.
Ada 2 macam pola (pattern) yang digunakan pada operator LIKE, yaitu:
  1. % (percentage) wildcard
    Digunakan untuk pengecekan string yang sesuai (matching). Contoh : '%ab%', '%ab', 'ab%'
  2. _ (underscore) wildcard
    Digunakan untuk pengecekan karakter tunggal yang sesuai (matching). Contoh : 'T_', 'T_m'

Menggunakan % Wildcard

Dibawah ini adalah contoh penggunaan % wildcard pada operator LIKE:

Contoh #1

SELECT * FROM karyawan
WHERE nama LIKE 'A%';

Query diatas akan menampilkan data dari tabel karyawan yang mempunyai nama dengan huruf pertama huruf 'A', seperti Ahmad, Andi, Ali, Asmirandah, dan lain sebagainya.

Contoh #2

SELECT * FROM karyawan
WHERE nama like '%o';

Query diatas akan menampilkan data dari tabel karyawan yang mempunyai nama dengan huruf akhir huruf 'o', seperti nama Bagyo, Yoyo, Sumarno, dan lain sebagainya.

Contoh #3

SELECT * FROM karyawan
WHERE nama LIKE 'A_n';

Query diatas akan menampilkan data dari table karywan yang mempunyai nama dengan huruf awal 'A' dan huruf akhir 'n', seperti nama Aan, Andin, Abon, dan lain sebagainya.

Operator NOT LIKE

Operator NOT LIKE digunakan untuk menampilkan data berdasarkan sebuah pattern (pola) yang TIDAK sesuai.

Sintak Dasar

Operator NOT LIKE mempunyai sintak dasar sama seperti operator LIKE dengan menambahkan clausa NOT, yaitu:

SELECT *
  FROM nama_table
  WHERE nama_kolom NOT LIKE pattern [ESCAPE 'escape_character'];

Contoh:

Dibawah ini adalah contoh penggunaan operator NOT LIKE pada sebuah query SQL:

SELECT * FROM karyawan
WHERE nama NOT LIKE 'A%';

Query diatas akan menampilkan data pada tabel karyawan yang mempunyai nama dengan huruf pertama TIDAK mengandung huruf 'A' seperti Bagus, Cahyo, Dani, dan lain sebagainya.

Catatan Penting!

Anda harus hati-hati ketika menggunakan operator LIKE dan NOT LIKE dalam query, karena operator tersebut memaksa database MySQL untuk men-scan table untuk mencari data yang sesuai. Penggunaan operator ini akan memperlambat proses query ke database, karena mengabaikan database index.

Sekian tutorial singkat Bagaimana Cara Menggunakan Operator LIKE Dan NOT LIKE Di MySQL. Semoga bermanfaat & Selamat Belajar database MySQL.

Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,


~Nursalim~
Naura-Lab.blogspot.com

Thursday, 22 January 2015

Bagaimana Cara Menggunakan Truncate Statement Di MySQL

Apa Itu Truncate Table?

TRUNCATE TABLE adalah salah satu perintah atau statement di database MySQL untuk mengosongkan atau menghapus semuda data yang ada di table. Perintah Truncate Table mirip dengan perintah DELETE table,  hanya lebih singkat dan sederhana tanpa menggunakan WHERE clause.


Sintak Dasar

Di bawah ini adalah sintak dasar Truncate Table di database MySQL:

TRUNCATE TABLE nama_table;

Contoh:

TRUNCATE TABLE mahasiswa;

Perintah diatas akan menghapus semua data di table Mahasiswa.

Catatan:
  • Perintah Truncate Table akan mereset sequence yang ada di table tersebut apabila salah satu kolomnya menggunakan constraint AUTO INCREMENT.
  • Jika Anda menggunakan engine database selain InnoDB, maka perintah Truncate Table akan menghapus semua data dan membuat table baru (re-create table).
  • Sedangkan jika Anda menggunakan engine database InnoDB, ketika tabel tersebut mempunyai beberapa Foreign Key, maka Truncate Table akan menghapus data baris per baris. Jika Foreign key tersebut mempunyai opsi DELETE CASCADE, maka data-data yang ada di child table (tabel referensi) akan ikut dihapus. Sedangkan jika tidak ada opsi DELETE CASCADE, Truncate Table akan menghapus data satu persatu, dan akan berhenti ketika ada error integrity constraint.

Truncate Vs Delete

Di bawah ini adalah tabel perbedaan antara Truncate Statement dan Delete Statement:

TRUNCATEDELETE
Merupakan kategori DDL (Data Definition Language)Merupakan kategori DML (Data Manipulation Language)
Akan menghapus seluruh record di table tanpa WHERE clauseAkan menghapus record berdasarkan WHERE clause
Proses lebih cepat dan menggunakan lebih sedikit resource termasuk log transaksiProses lebih lambat dan menggunakan lebih banyak resource termasuk log transaksi
Tidak dapat di rollbackDapat di rollback
Tidak dapat mengaktifkan triggerDapat mengaktifkan trigger
Dapat mereset sequenceTidak dapat mereset sequence


Sekian tutorial Singkat Bagaimana Cara Menggunakan Truncate Statement Di MySQL. Semoga bermanfaat & Selamat Belajar database MySQL.

Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.

Salam,

Wednesday, 2 October 2013

Database Server Vulnerability Scanner / Penetration Testing Toolkit

Scuba :

             Scuba is a free tool that scans leading enterprise databases for security vulnerabilities and configuration flaws, including patch levels. Reports deliver actionable information to quickly reduce risk, and regular vulnerability updates ensure that Scuba keeps pace with new threats.


Use Scuba to:
  • Automate vulnerability discovery
  • Secure infrastructure and measure compliance
  • Prioritize risk and focus remediation resources
  • Safely test enterprise class databases


    Download Link : https://www.imperva.com/lg/lgw.asp?pid=213  


 Safe3SI :

              is one of the most powerful and easy usage penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a kick-ass detection engine, many niche features for the ultimate penetration tester and a broad range of switches lasting from database fingerprinting, over data fetching from the database,to accessing the underlying file system and executing commands on the operating system via out-of-band connections.

 Download Link : http://sourceforge.net/projects/safe3si/files/


DBPwAudit :

                 is a Java tool that allows you to perform online audits of password quality for several database engines. The application design allows for easy adding of additional database drivers by simply copying new JDBC drivers to the jdbc directory. Configuration is performed in two files, the aliases.conf file is used to map drivers to aliases and the rules.conf tells the application how to handle error messages from the scan.




McAfee Vulnerability Manager :

                             for Databases automatically discovers databases on your network, determines if the latest patches have been applied, and tests for common weaknesses such as weak passwords, default accounts, and other common threats. Vulnerability Manager for Databases conducts more than 4,700 vulnerability checks against leading database systems, including Oracle, SQL Server, DB2, and MySQL.







AppDetectivePro :

                          is a database scanner that empowers professionals to scan databases for vulnerabilities, configuration issues, weak passwords, missing patches, access control concerns, and other issues that can lead to user privilege escalation. As complex as databases are, AppDetectivePro provides a cost-effective solution to provide the following:







SQLdict :

         is a dictionary attack tool for SQL Server. SQLdict is a basic single ip brute-force MS SQL Server password utility that can carry out a dictionary attack against a named SQL account.



        The use of this tool is simple you just specify the IP address you are attacking, the user account you are up against and then load an appropriate wordlist to try via the Load Password File button






Oscanner : 

                is an Oracle assessment framework developed in Java. It has a plugin-based architecture and comes with a couple of plugins that currently do:

- Sid Enumeration
- Passwords tests (common & dictionary)
- Enumerate Oracle version
- Enumerate account roles
- Enumerate account privileges
- Enumerate account hashes
- Enumerate audit information
- Enumerate password policies
- Enumerate database links

Download Link :

Version 1.0.6 source oscanner_src_1_0_6.zip
Version 1.0.6 binary oscanner_bin_1_0_6.zip





Oracle Auditing Tool :

                                 Exploits some of the known vulnerabilities of Oracle. Includes SID Enumeration, Passwords tests [common/ dictionary]. Supports attachment of malformed shell codes with TCP packets for crashing the remote server or gain DBA privileges on it.

 Download Link : http://sourceforge.net/projects/oracleauditor/files/latest/download

 


Secure Oracle Auditor :

                                   is an Oracle auditing and Oracle security vulnerability assessment software which is capable of scanning multiple Oracle database servers. This Oracle security software provides Oracle audit tools, Oracle password tools, database scanner software and Oracle security tools for penetration testing.  Secure Oracle Auditor™ identifies the database security threats in Oracle database that contains significant and precious information which is essential for the organization's success.






Secure SQL Auditor (SQA) :

                                        is a SQL security software that conducts database server security auditing & includes vulnerability assessment tools for SQL database server. It is a network based SQL security assessment tool capable of scanning multiple database servers. Secure SQL Auditor™ performs the massive task of identifying vulnerabilities and threats present in MS SQL database server. It helps administrators in closing loopholes which provide direct access to SQL database servers and lead to monetary, reputational and informational losses.