Laman

BASIS DATA 2 ( SQL )

Pengertian Database Mysql dan Phpmyadmin

Pengertian Database Mysql dan Phpmyadmin - Database adalah sebuah system yang di buat untuk mengorganisasi, menyimpan dan menarik data dengan mudah. Database terdiri dari kumplan data yang terorganisir untuk 1 atau lebih penggunaan, dalam bentuk digital. Database digital di manage menggunakan Database Management System (DBMS), yang menyimpan isi database, mengizinkan pembuatan dan maintenance data dan pencarian dan akses yang lain. Beberapa Database yang ada saat ini adalah : Mysql, Sql Server, Ms.Access,
Oracle, dan PostgreSql.

Pengertian Mysql

MySQL adalah salah satu jenis database server yang sangat terkenal. MySQL menggunakan bahasa SQL untuk mengakses database nya. Lisensi Mysql adalah FOSS License Exception dan ada juga yang versi komersial nya. Tag Mysql adalah “The World's most popular open source database”. MySQL tersedia untuk beberapa platform, di antara nya adalah untuk versi windows dan versi linux. Untuk melakukan administrasi secara lebih mudah terhadap Mysql, anda dapat menggunakan software tertentu, di antara nya adalah phpmyadmin dan mysql yog. Pada kesempatan kali ini, kita akan menggunakan phpmyadmin, yang
terdapat dalam bundle xampp, yang dapat di peroleh di www.apachefriends.org.

Pengertian Phpmyadmin

Phpmyadmin adalah sebuah aplikasi open source yang berfungsi untuk memudahkan manajemen MySQL.
Aktifkan javascript browser anda bos!



Tutorial Buat Tabel MySQL

Perintah membuat tabel membutuhkan:
  •      Nama tabel
  •      Nama bidang
  •      Definisi untuk setiap kolom
Sintaks: Berikut adalah generik sintaks SQL untuk membuat tabel MySQL:
CREATE TABLE table_name (column_name column_type);
Sekarang kita akan membuat tabel dalam database tutorial berikut.
tutorials_tbl(
tutorial_id INT NOT NULL AUTO_INCREMENT,
tutorial_title VARCHAR(100) NOT NULL,
tutorial_author VARCHAR(40) NOT NULL,
submission_date DATE,
PRIMARY KEY ( tutorial_id )
);
Berikut beberapa item perlu penjelasan:
  •      Lapangan Atribut NOT NULL sedang digunakan karena kita tidak ingin field ini untuk menjadi NULL.SO jika pengguna akan mencoba untuk membuat rekor dengan nilai NULL maka MySQL akan meningkatkan kesalahan.
  •      Lapangan Atribut AUTO_INCREMENT memberitahu ke MySQL untuk terus maju dan menambahkan nomor yang tersedia di sebelah field id.
  •      PRIMARY KEY kata kunci digunakan untuk mendefinisikan kolom sebagai kunci primer.Anda dapat menggunakan beberapa kolom dipisahkan dengan tanda koma untuk mendefinisikan kunci primer.

Membuat Tabel dari Command Prompt:

Hal ini mudah untuk membuat tabel MySQL dari prompt mysql>. Anda akan menggunakan perintah SQL CREATE TABLE untuk membuat tabel.
Contoh:
Berikut adalah contoh yang menciptakan tutorials_tbl:
root@host# mysql -u root -p
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> CREATE TABLE tutorials_tbl(
-> tutorial_id INT NOT NULL AUTO_INCREMENT,
-> tutorial_title VARCHAR(100) NOT NULL,
-> tutorial_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( tutorial_id )
-> );
Query OK, 0 rows affected (0.16 sec)
mysql>
CATATAN: MySQL tidak mengakhiri perintah sampai Anda memberikan titik koma (;) pada akhir perintah SQL.

Membuat Tabel Menggunakan PHP Script:

Untuk membuat tabel baru dalam setiap database yang ada Anda akan perlu menggunakan PHP fungsi mysql_query (). Anda akan melewati argumen kedua dengan perintah SQL yang tepat untuk membuat tabel.
Contoh:
Berikut adalah contoh untuk membuat tabel menggunakan script PHP:
<html>
<head>
<title>Creating MySQL Tables</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br />';
$sql = "CREATE TABLE tutorials_tbl( ".
       "tutorial_id INT NOT NULL AUTO_INCREMENT, ".
       "tutorial_title VARCHAR(100) NOT NULL, ".
       "tutorial_author VARCHAR(40) NOT NULL, ".
       "submission_date DATE, ".
       "PRIMARY KEY ( tutorial_id )); ";
mysql_select_db( 'TUTORIALS' );
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not create table: ' . mysql_error());
}
echo "Table created successfully\n";
mysql_close($conn);
?>
</body>
</html>

 Memilih Database MySQL dari Command Prompt:

Hal ini sangat sederhana untuk memilih database tertentu dari prompt mysql>. Anda dapat menggunakan menggunakan perintah SQL untuk memilih database tertentu.
Contoh:
Berikut adalah contoh untuk memilih tutorial database yang disebut:
[root@host]# mysql -u root -p
Enter password:******
mysql> use TUTORIALS;
Database changed
mysql>












Sekarang Anda telah memilih database yang tutorial dan semua operasi berikutnya akan dilakukan pada database tutorial. CATATAN: semua nama database, nama tabel, tabel bidang nama adalah case sensitif. Jadi, Anda akan harus menggunakan nama prpoer saat memberikan perintah SQL.

Memilih Database MySQL Menggunakan PHP Script:

PHP menyediakan fungsi mysql_select_db untuk memilih kembali database.It yang TRUE pada keberhasilan atau FALSE pada kegagalan.
sintaks:
bool mysql_select_db( db_name, connection );












parameter :
db_name = Diperlukan – Database MySQL nama yang akan dipilih
connection = Opsional – jika tidak ditentukan maka koneksi terakhir dibuka oleh mysql_connect akan digunakan.
Contoh:
Berikut adalah contoh yang menunjukkan Anda bagaimana untuk memilih database.
<html>
<head>
<title>Selecting MySQL Database</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'guest';
$dbpass = 'guest123';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db( 'TUTORIALS' );
mysql_close($conn);
?>
</body>
</html>





1. Tutorial MySQL Menghapus Tabel

Hal ini sangat mudah untuk menghapus tabel MySQL yang ada. Tapi Anda harus sangat berhati-hati saat menghapus setiap tabel yang ada karena data yang hilang tidak akan pulih setelah menghapus tabel.

Syntax:

Berikut ini adalah sintaks SQL generik untuk drop tabel MySQL:
DROP TABLE table_name ;

Menjatuhkan Tabel dari Command Prompt:

ni hanya membutuhkan untuk mengeksekusi perintah SQL DROP TABLE di prompt mysql>.
contoh:
Berikut adalah contoh yang menghapus tutorials_tbl:
     root@host# mysql -u root -p
     Enter password:*******
     mysql> use TUTORIALS;
     Database changed
     mysql> DROP TABLE tutorials_tbl
     Query OK, 0 rows affected (0.8 sec)
     mysql>

Menjatuhkan Tabel Menggunakan PHP Script:

Contoh
<html>
<head>
<title>Creating MySQL Tables</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br />';
$sql = "DROP TABLE tutorials_tbl";
mysql_select_db( 'TUTORIALS' );
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not delete table: ' . mysql_error());
}
echo "Table deleted successfully\n";
mysql_close($conn);
?>
</body>
</html>






2.Tutorial MySQL Menghapus Tabel

Hal ini sangat mudah untuk menghapus tabel MySQL yang ada. Tapi Anda harus sangat berhati-hati saat menghapus setiap tabel yang ada karena data yang hilang tidak akan pulih setelah menghapus tabel.

Syntax:

Berikut ini adalah sintaks SQL generik untuk drop tabel MySQL:
DROP TABLE table_name ;

Menjatuhkan Tabel dari Command Prompt:

ni hanya membutuhkan untuk mengeksekusi perintah SQL DROP TABLE di prompt mysql>.
contoh:
Berikut adalah contoh yang menghapus tutorials_tbl:
root@host# mysql -u root -p Enter password:******* mysql> use TUTORIALS; Database changed mysql> DROP TABLE tutorials_tbl Query OK, 0 rows affected (0.8 sec) mysql> Menjatuhkan Tabel Menggunakan PHP Script: Contoh <html> <head> <title>Creating MySQL Tables</title> </head> <body> <?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully<br />'; $sql = "DROP TABLE tutorials_tbl"; mysql_select_db( 'TUTORIALS' ); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not delete table: ' . mysql_error()); } echo "Table deleted successfully\n"; mysql_close($conn); ?> </body> </html> 




3. Tutorial MySql Koneksi Database.


Koneksi menggunakan MySQL “mysql biner”:
Anda dapat membuat database MySQL menggunakan biner mysql pada command prompt.

contoh:

Berikut ini adalah contoh sederhana untuk menghubungkan ke server MySQL dari command prompt:
[root@host]# mysql -u root -p
Enter password:******
Ini akan memberi Anda mysql> command prompt di mana Anda akan dapat mengeksekusi perintah SQL. Berikut ini adalah hasil dari perintah di atas:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2854760 to server version: 5.0.9

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Dalam contoh di atas kita telah menggunakan root sebagai user tetapi Anda dapat menggunakan pengguna lain.
Setiap pengguna akan dapat melakukan semua operasi SQL yang diperbolehkan untuk user tersebut.
Anda dapat memutuskan koneksi dari database MySQL menggunakan perintah setiap saat keluar di prompt mysql>.
mysql> exit
Bye
Koneksi MySQL menggunakan PHP Script:

PHP menyediakan fungsi mysql_connect () untuk membuka koneksi database.
Fungsi ini membutuhkan waktu lima parameter dan mengembalikan sebuah identifier link pada keberhasilan MySQL,
atau FALSE pada kegagalan.

Syntax:

    connection mysql_connect(server,user,passwd,new_link,client_flag);
Parameter Description
server Opsional – Nama host yang menjalankan database server. Jika tidak ditentukan maka nilai default adalah localhost: 3036.
user Opsional – Nama pengguna mengakses database. Jika tidak ditentukan maka default adalah nama user yang memiliki proses server.
passwd
Opsional – password dari pengguna mengakses database. Jika tidak ditentukan maka default adalah password kosong.
new_link
new_link Opsional – Jika panggilan kedua dibuat untuk mysql_connect () dengan argumen yang sama, tidak ada koneksi baru akan dibentuk, melainkan identifier dari koneksi yang telah dibuka akan dikembalikan.
client_flags Opsional – Sebuah kombinasi dari konstanta berikut ini:-MYSQL_CLIENT_SSL – Gunakan enkripsi SSL
-MYSQL_CLIENT_COMPRESS – Gunakan kompresi protokol
-MYSQL_CLIENT_IGNORE_SPACE – Memungkinkan spasi setelah nama fungsi
-MYSQL_CLIENT_INTERACTIVE – Biarkan detik waktu timeout interaktif tidak aktif sebelum menutup koneksi
Anda dapat memutuskan koneksi dari database MySQL kapan saja dengan menggunakan mysql_close Fungsi PHP yang lain ().
Fungsi ini mengambil parameter tunggal yang koneksi dikembalikan oleh mysql_connect () fungsi.

Syntax:

bool mysql_close ( resource $link_identifier );
Jika sumber daya tidak ditentukan maka database terakhir dibuka ditutup.
Fungsi ini mengembalikan nilai true jika menutup koneksi berhasil jika tidak kembali palsu.

Example:

Coba contoh berikut untuk menghubungkan ke server MySQL:
<html>
<head>
<title>Connecting MySQL Server</title>
</head>
<body>
<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'guest';
   $dbpass = 'guest123';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   if(! $conn )
   {
     die('Could not connect: ' . mysql_error());
   }
   echo 'Connected successfully';
   mysql_close($conn);
?>
</body>
</html>
 
 
 
Aktifkan javascript browser anda bos!
  
   

     




4.Tutorial Tipe Data MySQL


Benar mendefinisikan field dalam tabel adalah penting untuk optimasi keseluruhan dari database Anda. Anda harus menggunakan hanya jenis dan ukuran lapangan Anda benar-benar perlu menggunakan, jangan mendefinisikan lapangan sebagai 10 karakter lebar jika Anda tahu Anda hanya akan menggunakan 2 karakter. Jenis bidang (atau kolom) juga disebut sebagai tipe data, setelah jenis data Anda akan menyimpan dalam bidang-bidang. MySQL menggunakan banyak jenis data yang berbeda, yang dipecah menjadi tiga kategori: numerik, tanggal dan waktu, dan tipe string.

Tipe Data Numerik:

MySQL menggunakan semua standar ANSI SQL tipe data numerik, jadi jika Anda datang ke MySQL dari sistem database yang berbeda, definisi ini akan tampak akrab bagi Anda. Daftar berikut menunjukkan jenis umum numerik data dan deskripsi mereka.
  •     INT – Sebuah bilangan bulat berukuran normal yang dapat ditandatangani atau unsigned. Jika ditandatangani, rentang yang diijinkan adalah dari -2147483648 sampai 2147483647. Jika unsigned, rentang yang diijinkan adalah 0-4294967295. Anda dapat menentukan lebar sampai dengan 11 digit.
  •     TINYINT – Sebuah bilangan yang sangat kecil yang dapat ditandatangani atau unsigned. Jika ditandatangani, rentang yang diijinkan adalah dari -128 sampai 127. Jika unsigned, rentang yang diijinkan adalah dari 0 sampai 255. Anda dapat menentukan lebar sampai dengan 4 digit.
  •     SMALLINT – Sebuah integer kecil yang dapat ditandatangani atau unsigned. Jika ditandatangani, rentang yang diijinkan adalah dari -32.768 ke 32767. Jika unsigned, rentang yang diijinkan adalah dari 0 sampai 65535. Anda dapat menentukan lebar sampai dengan 5 digit.
  •     MEDIUMINT – Sebuah bilangan menengah yang dapat ditandatangani atau unsigned. Jika ditandatangani, rentang yang diijinkan adalah dari -8388608 ke 8.388.607. Jika unsigned, rentang yang diijinkan adalah 0-16777215. Anda dapat menentukan lebar sampai dengan 9 digit.
  •     BIGINT – Sebuah integer besar yang dapat ditandatangani atau unsigned. Jika ditandatangani, rentang yang diijinkan adalah dari -9223372036854775808 ke 9223372036854775807. Jika unsigned, rentang yang diijinkan adalah 0-18446744073709551615. Anda dapat menentukan lebar sampai dengan 11 digit.
  •     Float (M, D) – Sebuah angka floating-point yang tidak dapat unsigned. Anda dapat menentukan panjang tampilan (M) dan jumlah desimal (D). Ini tidak diperlukan dan akan default ke 10,2, di mana 2 adalah jumlah desimal dan 10 adalah jumlah total digit (termasuk desimal). Desimal presisi bisa pergi ke 24 tempat untuk sebuah Float.
  •     DOUBLE (M, D) – Sebuah presisi angka floating-point ganda yang tidak dapat unsigned. Anda dapat menentukan panjang tampilan (M) dan jumlah desimal (D). Ini tidak diperlukan dan akan default ke 16,4, dimana 4 adalah jumlah desimal. Desimal presisi bisa pergi ke 53 tempat untuk sebuah DOUBLE. REAL adalah sinonim untuk DOUBLE.
  •     DECIMAL (M, D) – Sebuah angka floating-point membongkar yang tidak dapat unsigned. Dalam membongkar desimal, desimal masing-masing sesuai dengan satu byte. Mendefinisikan panjang tampilan (M) dan jumlah desimal (D) diperlukan. NUMERIC adalah sinonim untuk DECIMAL.

Jenis Tanggal dan Waktu:

MySQL tipe data tanggal dan waktu adalah:
  •      TANGGAL – Sebuah tanggal YYYY-MM-DD, antara 1000/01/01 dan 9999-12-31. Sebagai contoh, 30 Desember 1973 akan disimpan sebagai 1973/12/30.
  •      DateTime – Sebuah kombinasi tanggal dan waktu dalam YYYY-MM-DD HH: MM: SS format, antara 1000/01/01 00:00:00 9999-12-31 23:59:59 dan. Sebagai contoh, 3:30 di sore hari pada 30 Desember 1973 akan disimpan sebagai 1973/12/30 15:30:00.
  •      TIMESTAMP - Sebuah timestamp antara tengah malam, 1 Januari 1970 dan sekitar tahun 2037. Ini terlihat seperti format DateTime sebelumnya, hanya tanpa tanda hubung antara angka; 3:30 di sore hari pada 30 Desember 1973 akan disimpan sebagai 19731230153000 (YYYYMMDDHHMMSS).
  •      WAKTU – Menyimpan waktu di HH: MM: SS Format.
  •      TAHUN (M) – Toko tahun dalam format 2-digit atau 4-digit. Jika panjang ditentukan sebagai 2 (untuk TAHUN misalnya (2)), dapat TAHUN 1970-2069 (70-69). Jika panjang ditentukan sebagai 4, dapat TAHUN 1901-2155. Panjang default adalah 4.

Jenis String:

Meskipun tipe numerik dan tanggal yang menyenangkan, sebagian besar data Anda akan menyimpan akan dalam format string. Daftar ini menggambarkan tipe data string yang umum di MySQL.
  •      CHAR (M) – Sebuah string yang tetap-panjang antara 1 dan 255 karakter (misalnya CHAR (5)), kanan diisi dengan spasi dengan panjang tertentu bila disimpan. Mendefinisikan panjang tidak diperlukan, tetapi defaultnya adalah 1.
  •      VARCHAR (M) – Variabel string panjang antara 1 dan 255 karakter, misalnya VARCHAR (25). Anda harus menentukan panjang saat membuat bidang VARCHAR.
  •      BLOB atau TEXT – Field dengan panjang maksimum 65535 karakter. Gumpalan adalah “Objects Besar Biner” dan digunakan untuk menyimpan sejumlah besar data biner, seperti gambar atau jenis file lainnya. Fields didefinisikan sebagai TEKS juga memegang sejumlah besar data, perbedaan antara keduanya adalah bahwa macam dan perbandingan pada data yang tersimpan bersifat case sensitif pada gumpalan dan tidak case sensitif di bidang TEKS. Anda tidak menentukan panjang dengan BLOB atau TEXT.
  •      TINYBLOB atau TINYTEXT – Sebuah BLOB atau TEXT kolom dengan panjang maksimum 255 karakter. Anda tidak menentukan panjang dengan TINYBLOB atau TINYTEXT.
  •      MEDIUMBLOB atau MEDIUMTEXT – Sebuah BLOB atau TEXT dengan kolom panjang maksimum 16777215 karakter. Anda tidak menentukan panjang dengan MEDIUMBLOB atau MEDIUMTEXT.
  •      LONGBLOB atau LONGTEXT – Sebuah BLOB atau TEXT dengan kolom panjang maksimum 4294967295 karakter. Anda tidak menentukan panjang dengan LONGBLOB atau LONGTEXT.
  •      ENUM – Sebuah enumerasi, yang merupakan istilah keren untuk daftar. Ketika mendefinisikan sebuah ENUM, Anda membuat daftar item dari nilai yang harus dipilih (atau dapat menjadi NULL). Sebagai contoh, jika Anda ingin untuk memuat bidang “A” atau “B” atau “C”, Anda akan mendefinisikan Anda sebagai ENUM ENUM (‘A’, ‘B’, ‘C’) dan hanya nilai-nilai (atau NULL) pernah bisa mengisi bidang tersebut.
 
 
Aktifkan javascript browser anda bos!
  
   

     




5. Tutorial MySql Membuat Database.

Membuat Database menggunakan mysqladmin:
Anda akan perlu hak khusus untuk membuat atau untuk menghapus database MySQL. Jadi asumsi Anda memiliki akses ke user root, Anda dapat membuat database menggunakan mysql mysqladmin biner.
contoh:
Berikut ini adalah contoh sederhana untuk membuat tutorial database yang disebut:
[root@host]# mysqladmin -u root -p create TUTORIALS
Enter password:******
Ini akan membuat tutorial database MySQL.
Membuat Database menggunakan PHP Script:
PHP menggunakan fungsi mysql_query untuk membuat atau menghapus database MySQL. Fungsi ini membutuhkan dua parameter, dan menghasilkan TRUE atau FALSE pada keberhasilan pada kegagalan.
sintaks:
bool mysql_query( sql, connection );
Parameter Description
sql Diperlukan – query SQL untuk membuat atau menghapus database MySQL
connection Opsional – jika tidak ditentukan maka koneksi terakhir dibuka oleh mysql_connect akan digunakan.
contoh:
Coba contoh berikut untuk membuat database:
<html>
<head>
<title>Creating MySQL Database</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br />';
$sql = 'CREATE DATABASE TUTORIALS';
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not create database: ' . mysql_error());
}
echo "Database TUTORIALS created successfully\n";
mysql_close($conn);
?>
</body>
</html>
 
 Aktifkan javascript browser anda bos!



6. Tutorial MySQL Insert Query

Untuk menyisipkan data ke dalam tabel MySQL Anda akan perlu menggunakan SQL INSERT INTO perintah. Anda dapat memasukkan data ke dalam tabel MySQL dengan menggunakan mysql> prompt atau dengan menggunakan script seperti PHP.

Syntax:

Berikut adalah generik sintaks SQL INSERT INTO perintah untuk menyisipkan data ke dalam tabel MySQL:
        INSERT INTO table_name ( field1, field2,...fieldN )
                               VALUES
                               ( value1, value2,...valueN );
untuk menyisipkan data string jenis ini diperlukan untuk
menjaga semua nilai-nilai ke kutipan ganda atau tunggal, 
misalnya: - "nilai".

Memasukkan Data dari Command Prompt:
Hal ini akan menggunakan SQL INSERT INTO perintah untuk
memasukkan data ke MySQL tabel tutorials_tbl

 contoh:

Contoh berikut akan membuat catatan ke dalam tabel 3 tutorials_tbl:
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> INSERT INTO tutorials_tbl
     ->(tutorial_title, tutorial_author, submission_date)
     ->VALUES
     ->("Learn PHP", "John Poul", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
     ->(tutorial_title, tutorial_author, submission_date)
     ->VALUES
     ->("Learn MySQL", "Abdul S", NOW());
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO tutorials_tbl
     ->(tutorial_title, tutorial_author, submission_date)
     ->VALUES
     ->("JAVA Tutorial", "Sanjay", '2007-05-06');
Query OK, 1 row affected (0.01 sec)
mysql>
CATATAN: Harap dicatat bahwa semua tanda panah (->) bukan merupakan
bagian dari perintah SQL mereka menunjukkan baris baru dan 
mereka dibuat
secara otomatis oleh MySQL cepat sambil menekan 
tombol enter tanpa memberikan
titik koma di akhir setiap baris dari perintah.

 Pada contoh di atas kita belum memberikan tutorial_id karena pada
saat membuat tabel kita telah diberikan pilihan AUTO_INCREMENT 
untuk bidang ini.
Jadi MySQL mengurus memasukkan ID ini secara otomatis. 
Berikut SEKARANG () adalah
fungsi MySQL yang mengembalikan tanggal dan waktu.

Memasukkan Data Menggunakan PHP Script:

Anda dapat menggunakan INSERT INTO SQL yang sama perintah
kefungsi PHP mysql_query () untuk memasukkan data 
kedalam tabel MySQL.

contoh:

Contoh ini akan mengambil tiga parameter dari pengguna 
dan akan memasukkan mereka ke dalam tabel MySQL:
<html>
<head>
<title>Add New Record in MySQL Database</title>
</head>
<body>
<?php
if(isset($_POST['add']))
{
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}

if(! get_magic_quotes_gpc() )
{
   $tutorial_title = addslashes ($_POST['tutorial_title']);
   $tutorial_author = addslashes ($_POST['tutorial_author']);
}
else
{
   $tutorial_title = $_POST['tutorial_title'];
   $tutorial_author = $_POST['tutorial_author'];
}
$submission_date = $_POST['submission_date'];

$sql = "INSERT INTO tutorials_tbl ".
       "(tutorial_title,tutorial_author, submission_date) ".
       "VALUES ".
       "('$tutorial_title','$tutorial_author','$submission_date')";
mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not enter data: ' . mysql_error());
}
echo "Entered data successfully\n";
mysql_close($conn);
}
else
{
?>
<form method="post" action="<?php $_PHP_SELF ?>">
<table width="600" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="250">Tutorial Title</td>
<td>
<input name="tutorial_title" type="text" id="tutorial_title">
</td>
</tr>
<tr>
<td width="250">Tutorial Author</td>
<td>
<input name="tutorial_author" type="text" id="tutorial_author">
</td>
</tr>
<tr>
<td width="250">Submission Date [ yyyy-mm-dd ]</td>
<td>
<input name="submission_date" type="text" id="submission_date">
</td>
</tr>
<tr>
<td width="250"> </td>
<td> </td>
</tr>
<tr>
<td width="250"> </td>
<td>
<input name="add" type="submit" id="add" value="Add Tutorial">
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>





7. Tutorial MySql Menghapus Database.

Hapus Database menggunakan mysqladmin:
Anda akan perlu hak khusus untuk membuat atau untuk menghapus database MySQL. Jadi asumsi Anda memiliki akses ke user root, Anda dapat membuat database menggunakan mysql mysqladmin biner.
Hati-hati saat menghapus database apapun karena Anda akan kehilangan semua data yang tersedia dalam database Anda.
Berikut adalah contoh untuk menghapus database yang dibuat dalam bab sebelumnya:
[root@host]# mysqladmin -u root -p drop TUTORIALS
Enter password:******
Ini akan memberi Anda peringatan dan akan mengkonfirmasi jika Anda benar-benar ingin menghapus ini database atau tidak.
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'TUTORIALS' database [y/N] y
Database "TUTORIALS" dropped
Jatuhkan Database menggunakan PHP Script:
PHP menggunakan fungsi mysql_query untuk membuat atau menghapus database MySQL. Fungsi ini membutuhkan dua parameter, dan menghasilkan TRUE atau FALSE pada keberhasilan pada kegagalan.
sintaks:
bool mysql_query( sql, connection );
Parameter Description
sql Diperlukan – query SQL untuk membuat atau menghapus database MySQL
connection Opsional – jika tidak ditentukan maka koneksi terakhir dibuka oleh mysql_connect akan digunakan.
contoh:
Coba contoh berikut untuk menghapus database:
<html>
<head>
<title>Deleting MySQL Database</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br />';
$sql = 'DROP DATABASE TUTORIALS';
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not delete database: ' . mysql_error());
}
echo "Database TUTORIALS deleted successfully\n";
mysql_close($conn);
?>
</body>
</html>





8. Tutorial Buat Tabel MySQL


Perintah membuat tabel membutuhkan:
  •      Nama tabel
  •      Nama bidang
  •      Definisi untuk setiap kolom
Sintaks: Berikut adalah generik sintaks SQL untuk membuat tabel MySQL:
CREATE TABLE table_name (column_name column_type);
Sekarang kita akan membuat tabel dalam database tutorial berikut.
tutorials_tbl(
tutorial_id INT NOT NULL AUTO_INCREMENT,
tutorial_title VARCHAR(100) NOT NULL,
tutorial_author VARCHAR(40) NOT NULL,
submission_date DATE,
PRIMARY KEY ( tutorial_id )
);
Berikut beberapa item perlu penjelasan:
  •      Lapangan Atribut NOT NULL sedang digunakan karena kita tidak ingin field ini untuk menjadi NULL.SO jika pengguna akan mencoba untuk membuat rekor dengan nilai NULL maka MySQL akan meningkatkan kesalahan.
  •      Lapangan Atribut AUTO_INCREMENT memberitahu ke MySQL untuk terus maju dan menambahkan nomor yang tersedia di sebelah field id.
  •      PRIMARY KEY kata kunci digunakan untuk mendefinisikan kolom sebagai kunci primer.Anda dapat menggunakan beberapa kolom dipisahkan dengan tanda koma untuk mendefinisikan kunci primer.

Membuat Tabel dari Command Prompt:

Hal ini mudah untuk membuat tabel MySQL dari prompt mysql>. Anda akan menggunakan perintah SQL CREATE TABLE untuk membuat tabel.
Contoh:
Berikut adalah contoh yang menciptakan tutorials_tbl:
root@host# mysql -u root -p
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> CREATE TABLE tutorials_tbl(
-> tutorial_id INT NOT NULL AUTO_INCREMENT,
-> tutorial_title VARCHAR(100) NOT NULL,
-> tutorial_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( tutorial_id )
-> );
Query OK, 0 rows affected (0.16 sec)
mysql>
CATATAN: MySQL tidak mengakhiri perintah sampai Anda memberikan titik koma (;) pada akhir perintah SQL.

Membuat Tabel Menggunakan PHP Script:

Untuk membuat tabel baru dalam setiap database yang ada Anda akan perlu menggunakan PHP fungsi mysql_query (). Anda akan melewati argumen kedua dengan perintah SQL yang tepat untuk membuat tabel.
Contoh:
Berikut adalah contoh untuk membuat tabel menggunakan script PHP:
<html>
<head>
<title>Creating MySQL Tables</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br />';
$sql = "CREATE TABLE tutorials_tbl( ".
       "tutorial_id INT NOT NULL AUTO_INCREMENT, ".
       "tutorial_title VARCHAR(100) NOT NULL, ".
       "tutorial_author VARCHAR(40) NOT NULL, ".
       "submission_date DATE, ".
       "PRIMARY KEY ( tutorial_id )); ";
mysql_select_db( 'TUTORIALS' );
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not create table: ' . mysql_error());
}
echo "Table created successfully\n";
mysql_close($conn);
?>
</body>
</html>

Aktifkan javascript browser anda bos!




9. Tutorial MySQL Select Query

SQL SELECT Perintah ini digunakan untuk mengambil data dari database MySQL. Anda dapat menggunakan perintah ini di prompt mysql> maupun di script seperti PHP.
sintaks:
Berikut ini adalah sintaks SQL generik perintah SELECT untuk mengambil data dari tabel MySQL:
         SELECT field1, field2,...fieldN table_name1, table_name2...
         [WHERE Clause]
         [OFFSET M ][LIMIT N]
- Anda dapat menggunakan satu atau lebih tabel dipisahkan
  dengan koma untuk
  memasukkan berbagai kondisi dengan menggunakan klausa WHERE.
  Tapi klausa WHERE merupakan bagian opsional perintah SELECT.
- Anda dapat mengambil satu atau lebih bidang dalam perintah
  SELECT tunggal.
- Anda dapat menentukan bintang (*) di tempat bidang.
  Dalam kasus ini SELECT akan mengembalikan semua bidang
- Anda dapat menentukan kondisi menggunakan klausa WHERE.

Mengambil Data dari Command Prompt:
Hal ini akan menggunakan perintah SQL SELECT untuk mengambil
data dari MySQL tabel tutorials_tbl

contoh:

Contoh berikut akan mengembalikan semua catatan dari
meja tutorials_tbl:
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           1 | Learn PHP      | John Poul       | 2007-05-21      |
|           2 | Learn MySQL    | Abdul S         | 2007-05-21      |
|           3 | JAVA Tutorial  | Sanjay          | 2007-05-21      |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.01 sec)

mysql>
Mengambil Data Menggunakan PHP Script:
Anda dapat menggunakan perintah SQL SELECT yang sama dalam
fungsi PHP mysql_query (). Fungsi ini
  digunakan untuk mengeksekusi perintah SQL dan kemudian
fungsi PHP yang lain mysql_fetch_array () dapat
  digunakan untuk mengambil semua data yang dipilih.
Fungsi ini mengembalikan baris sebagai array asosiatif, 
  array numerik, atau keduanya.
Fungsi ini mengembalikan FALSE jika tidak ada baris lagi.

Di bawah ini adalah contoh sederhana untuk mengambil 
catatan dari meja tutorials_tbl.
 contoh:

Coba contoh berikut untuk menampilkan semua catatan dari 
meja tutorials_tbl.
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title,
               tutorial_author, submission_date
        FROM tutorials_tbl';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Tutorial ID :{$row['tutorial_id']}  <br> ".
         "Title: {$row['tutorial_title']} <br> ".
         "Author: {$row['tutorial_author']} <br> ".
         "Submission Date : {$row['submission_date']} <br> ".
         "--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
Isi dari baris ditugaskan ke baris $ variabel dan nilai-nilai 
dalam baris yang kemudian dicetak.

CATATAN: Selalu ingat untuk menempatkan kurung kurawal bila 
Anda ingin memasukkan nilai array langsung ke string.

Dalam contoh di atas MYSQL_ASSOC konstan digunakan sebagai 
argumen kedua untuk fungsi PHP mysql_fetch_array (),
sehingga mengembalikan baris sebagai array asosiatif. 
Dengan array asosiatif Anda dapat mengakses lapangan dengan
menggunakan nama mereka daripada menggunakan indeks.

PHP menyediakan fungsi lain yang disebut mysql_fetch_assoc () 
yang juga mengembalikan baris sebagai array asosiatf.
Contoh:
Coba contoh berikut untuk menampilkan semua record dari 
tabel menggunakan mysql_fetch_assoc tutorial_tbl () fungsi.
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title,
               tutorial_author, submission_date
        FROM tutorials_tbl';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_assoc($retval))
{
    echo "Tutorial ID :{$row['tutorial_id']}  <br> ".
         "Title: {$row['tutorial_title']} <br> ".
         "Author: {$row['tutorial_author']} <br> ".
         "Submission Date : {$row['submission_date']} <br> ".
         "--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>

Anda juga dapat menggunakan MYSQL_NUM konstan, 
sebagai argumen kedua untuk fungsi PHP mysql_fetch_array ().
Hal ini akan menyebabkan fungsi untuk mengembalikan 
sebuah array dengan indeks numerik.
contoh:
Coba contoh berikut untuk menampilkan semua catatan dari 
meja tutorials_tbl menggunakan argumen MYSQL_NUM.
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title,
               tutorial_author, submission_date
        FROM tutorials_tbl';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_NUM))
{
    echo "Tutorial ID :{$row[0]}  <br> ".
         "Title: {$row[1]} <br> ".
         "Author: {$row[2]} <br> ".
         "Submission Date : {$row[3]} <br> ".
         "--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>

Semua di atas tiga contoh akan menghasilkan hasil yang sama.
 Melepaskan Memori:

Praktek yang baik untuk melepaskan memori kursor 
pada akhir setiap pernyataan SELECT.
Hal ini dapat dilakukan dengan menggunakan 
Fungsi PHP mysql_free_result ().
Di bawah ini adalah contoh untuk menunjukkan 
bagaimana harus digunakan.
contoh:
Coba contoh berikut :
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title,
               tutorial_author, submission_date
        FROM tutorials_tbl';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_NUM))
{
    echo "Tutorial ID :{$row[0]}  <br> ".
         "Title: {$row[1]} <br> ".
         "Author: {$row[2]} <br> ".
         "Submission Date : {$row[3]} <br> ".
         "--------------------------------<br>";
}
mysql_free_result($retval);
echo "Fetched data successfully\n";
mysql_close($conn);
?>






10. Tutorial MySQL Like


Kita telah melihat perintah SQL SELECT untuk mengambil data dari tabel MySQL . Kita juga dapat menggunakan klausa bersyarat disebut klausa WHERE untuk memilih catatan yang diperlukan .
Sebuah klausa WHERE dengan tanda sama dengan (=) bekerja dengan baik di mana kita ingin melakukan yang sama persis. Seperti jika “tutorial_author = ‘Sanjay’ ” . Tapi mungkin ada kebutuhan di mana kita ingin menyaring semua hasil di mana nama tutorial_author harus mengandung “jay”. Hal ini dapat ditangani dengan menggunakan SQL LIKE alongwith klausa klausa WHERE .
Jika SQL LIKE klausa digunakan bersama dengan karakter% maka akan bekerja seperti karakter meta (*) di Unix, sementara daftar semua file atau direktori pada command prompt.
Tanpa karakter% LIKE klausa sangat mirip dengan tanda sama alongwith klausa WHERE .

Sintaks:

Berikut ini adalah sintaks SQL generik dari perintah SELECT bersama dengan LIKE klausa untuk mengambil data dari tabel MySQL :
SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Anda dapat menentukan kondisi menggunakan klausa WHERE.
  • Anda dapat menggunakan LIKE alongwith klausa klausa WHERE.
  • Anda dapat menggunakan LIKE klausa di tempat tanda sama.
  • Ketika LIKE digunakan tanda% alongwith maka akan bekerja seperti pencarian karakter meta.
  • Anda dapat menentukan lebih dari satu kondisi dengan menggunakan operator AND atau OR
  • Sebuah MANA … LIKE klausa dapat digunakan alongwith DELETE atau UPDATE perintah SQL juga untuk menentukan kondisi.

Menggunakan klausa LIKE di Command Prompt :

Hal ini akan menggunakan perintah SQL SELECT dengan MANA … SEPERTI klausa untuk mengambil data yang dipilih dari MySQL meja tutorials_tbl
Contoh:
Contoh berikut akan mengembalikan semua catatan dari meja yang tutorials_tbl nama penulis berakhir dengan jay :
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl
    -> WHERE tutorial_author LIKE '%jay';
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           3 | JAVA Tutorial  | Sanjay          | 2007-05-21      |
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec)

mysql>

Menggunakan klausa LIKE dalam PHP Script :

Anda dapat menggunakan sintaks mirip WHERE … LIKE klausa dalam fungsi PHPmysql_query (). Fungsi ini digunakan untuk mengeksekusi perintah SQL dan kemudian fungsi PHP yang lain mysql_fetch_array () dapat digunakan untuk mengambil semua data yang dipilih jika MANA … LIKE klausa digunakan bersama dengan perintah SELECT.
Tetapi jika MANA … LIKE klausa yang digunakan dengan perintah DELETE atau UPDATE maka tidak memanggil fungsi PHP lebih lanjut diperlukan.
Contoh:
Coba contoh berikut untuk mengembalikan semua catatan dari meja tutorials_tbl yang berisi nama penulis jay :
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title,
               tutorial_author, submission_date
        FROM tutorials_tbl
        WHERE tutorial_author LIKE "%jay%"';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Tutorial ID :{$row['tutorial_id']}  <br> ".
         "Title: {$row['tutorial_title']} <br> ".
         "Author: {$row['tutorial_author']} <br> ".
         "Submission Date : {$row['submission_date']} <br> ".
         "--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>





11. Tutorial MySQL Nilai Null

Kita telah melihat perintah SQL SELECT bersama dengan klausa WHERE untuk mengambil data dari tabel MySQL. Tapi ketika kita mencoba untuk memberikan suatu kondisi yang membandingkan nilai kolom lapangan atau ke NULLtidak bekerja dengan benar.
Untuk menangani situasi seperti MySQL menyediakan tiga operator
  • IS NULL: operator mengembalikan nilai true dari nilai kolom adalah NULL.
  • IS NOT NULL: operator mengembalikan nilai true nilai kolom tidak NULL.
  • <=> Operator membandingkan nilai-nilai, yang (tidak seperti operator =) ini berlaku bahkan untuk dua nilai NULL
Kondisi yang melibatkan NULL yang khusus. Anda tidak dapat menggunakan NULL = atau = NULL! Untuk mencari nilai NULL dalam kolom. Perbandingan tersebut selalu gagal karena tidak mungkin untuk mengatakan apakah atau tidak mereka adalah benar. Bahkan NULL = NULL gagal.
Untuk mencari kolom yang NULL atau tidak, menggunakan IS NULL atau IS NOT NULL.

Menggunakan nilai NULL pada Command Prompt:

Misalkan tcount_tbl tabel dalam database tutorial dan berisi dua kolom tutorial_author dan tutorial_count, mana tutorial_count NULL menunjukkan bahwa nilai tidak diketahui:

Contoh:

Coba contoh berikut:
root @ host # mysql-u root-p password;
 Masukkan sandi :*******
 mysql> tutorial penggunaan;
 Basis berubah
 mysql> membuat tabel tcount_tbl
     -> (
     -> Tutorial_author varchar (40) NOT NULL,
     -> Tutorial_count INT
     ->);
 Query OK, 0 rows affected (0,05 sec)
 mysql> INSERT INTO tcount_tbl
     -> (Tutorial_author, tutorial_count) nilai ('Mahran', 20);
 mysql> INSERT INTO tcount_tbl
     -> (Tutorial_author, tutorial_count) nilai ('mahnaz', NULL);
 mysql> INSERT INTO tcount_tbl
     -> (Tutorial_author, tutorial_count) nilai ('Jen', NULL);
 mysql> INSERT INTO tcount_tbl
     -> (Tutorial_author, tutorial_count) nilai ('Gill', 20);

 mysql> SELECT * dari tcount_tbl;
 +-----------------+----------------+
 | Tutorial_author | tutorial_count |
 +-----------------+----------------+
 | Mahran | 20 |
 | Mahnaz | NULL |
 | Jen | NULL |
 | Gill | 20 |
 +-----------------+----------------+
 4 rows in set (0.00 sec)

 mysql>
Anda dapat melihat bahwa = dan = tidak bekerja dengan nilai-nilai NULL sebagai berikut:
 mysql> SELECT * DARI MANA tcount_tbl tutorial_count = NULL;
 Kosong set (0.00 sec)
 mysql> SELECT * DARI MANA tcount_tbl tutorial_count = NULL;!
 Kosong set (0.01 sec)
Untuk menemukan catatan di mana kolom tutorial_count atau tidak NULL, pertanyaan harus ditulis seperti ini:
 mysql> SELECT * FROM tcount_tbl
     -> MANA tutorial_count IS NULL;
 +-----------------+----------------+
 | Tutorial_author | tutorial_count |
 +-----------------+----------------+
 | Mahnaz | NULL |
 | Jen | NULL |
 +-----------------+----------------+
 2 rows in set (0.00 sec)
 mysql> SELECT * dari tcount_tbl
     -> MANA tutorial_count IS NOT NULL;
 +-----------------+----------------+
 | Tutorial_author | tutorial_count |
 +-----------------+----------------+
 | Mahran | 20 |
 | Gill | 20 |
 +-----------------+----------------+
 2 rows in set (0.00 sec)

Penanganan Nilai NULL di PHP Script:

Anda dapat menggunakan jika … kondisi lain untuk mempersiapkan query berdasarkan nilai NULL.

Contoh:

Contoh berikut mengambil tutorial_count dari luar dan kemudian membandingkannya dengan nilai yang tersedia dalam tabel.
<? Php
 $ Dbhost 'localhost: 3036' =;
 $ Dbuser = 'root';
 $ Dbpass = 'rootpassword';
 $ Conn = mysql_connect ($ dbhost, $ dbuser, $ dbpass);
 if ($ conn!)
 {
   die ('Tidak dapat terhubung: ". mysql_error ());
 }
 if (isset ($ tutorial_count))
 {
    $ Sql ​​= 'SELECT tutorial_author, tutorial_count
            DARI tcount_tbl
            MANA tutorial_count = $ tutorial_count ';
 }
 lain
 {
    $ Sql ​​= 'SELECT tutorial_author, tutorial_count
            DARI tcount_tbl
            MANA tutorial_count IS $ tutorial_count ';
 }

 mysql_select_db ('Tutorial');
 $ Retval = mysql_query ($ sql, $ conn);
 if ($ retval!)
 {
   die ('Tidak dapat mendapatkan data:'. mysql_error ());
 }
 sementara ($ baris = mysql_fetch_array ($ retval, MYSQL_ASSOC))
 {
     echo "Penulis: {$ row ['tutorial_author']} <br>".
          "Hitung: {$ row ['tutorial_count']} <br>".
          "--------------------------------< Br> ";
 }
 echo "data berhasil Terambil \ n";
 mysql_close ($ conn);
 ?>
 
 
 
 




12. Tutorial MySQL Regular Expresion

Anda telah melihat pola yang sesuai dengan SEPERTI MySQL …%. MySQL mendukung jenis lain operasi pencocokan pola berdasarkan ekspresi regular dan operator regexp.Jika Anda menyadari PHP atau PERL maka yang sangat sederhana bagi Anda untuk mengerti karena pencocokan ini sangat mirip dengan ekspresi reguler scripting.
Berikut adalah tabel pola yang dapat digunakan bersama dengan operator regexp.
Pola Apa pola cocok
^ Awal string
$ Akhir string
. Setiap karakter tunggal
[...] Setiap karakter yang tercantum antara tanda kurung siku
[^...] Setiap karakter tidak terdaftar antara tanda kurung siku
p1 | p2 | p3 Alternasi; pertandingan salah satu pola p1, p2, p3 atau
* Nol atau lebih instances dari elemen sebelumnya
+ Satu atau lebih instances dari elemen sebelumnya
{N} n contoh elemen sebelumnya
{M, n} m melalui contoh n elemen sebelumnya

Contoh:

Sekarang berdasarkan tabel di atas Anda dapat perangkat berbagai jenis query SQL untuk memenuhi kebutuhan Anda. Di sini aku daftar beberapa untuk pemahaman Anda. Pertimbangkan kita memiliki sebuah tabel yang disebut person_tbl dan yang memiliki lapangan yang disebut nama:
Query untuk menemukan semua nama dimulai dengan ‘st’
mysql> SELECT nama FROM person_tbl MANA 'ok $' nama regexp;
Query untuk menemukan semua nama yang diakhiri dengan ‘ok’
 mysql> SELECT nama FROM person_tbl MANA 'ok $' nama regexp;
Query untuk menemukan semua nama yang mengandung ‘mar’
mysql> SELECT nama FROM WHERE nama regexp person_tbl 'mar';
Query untuk menemukan semua nama dimulai dengan vokal dan diakhiri dengan ‘ok’
mysql> SELECT nama FROM WHERE nama regexp person_tbl '^ [AEIOU] | ok $';






13. Tutorial MySQL Transaksi


Sebuah transaksi adalah sekelompok berurutan operasi manipulasi database, yang dilakukan seolah-olah satu unit karya tunggal. Dengan kata lain, transaksi tidak akan lengkap kecuali setiap operasi individu dalam kelompok berhasil. Jika ada operasi dalam transaksi gagal, seluruh transaksi akan gagal.
Praktis Anda akan banyak klub SQL query ke dalam kelompok dan Anda akan mengeksekusi semua dari mereka bersama-sama sebagai bagian dari transaksi.

Sifat Transaksi:

Transaksi memiliki empat sifat berikut standar, biasanya disebut dengan akronim ACID:
  • Atomicity: memastikan bahwa semua operasi dalam unit kerja selesai dengan sukses, jika tidak, transaksi tersebut dibatalkan pada titik kegagalan, dan operasi sebelumnya digulung kembali ke keadaan semula.
  • Konsistensi: memastikan bahwa database dengan benar perubahan negara atas transaksi yang berhasil dilakukan.
  • Isolasi: memungkinkan transaksi untuk beroperasi secara independen dan transparan dari satu sama lain.
  • Durabilitas: memastikan bahwa hasil atau efek dari transaksi yang dilakukan tetap dalam kasus kegagalan sistem.
Dalam MySQL, transaksi dimulai dengan pernyataan BEGIN WORK dan diakhiri dengan baik COMMIT atau ROLLBACK pernyataan. Perintah SQL antara awal dan akhir pernyataan membentuk sebagian besar transaksi.

COMMIT dan ROLLBACK:

Kedua kata kunci Komit dan Rollback terutama digunakan untuk Transaksi MySQL.
  • Ketika sebuah transaksi yang berhasil selesai, perintah COMMIT harus dikeluarkan sehingga perubahan pada semua tabel yang terlibat akan diberlakukan.
  • Jika kegagalan terjadi, perintah ROLLBACK harus dikeluarkan untuk kembali setiap meja direferensikan dalam transaksi tersebut ke keadaan sebelumnya.
Anda dapat mengontrol perilaku transaksi dengan menetapkan variabel sesi yang disebut autocommit. Jika autocommit diatur ke 1 (default), maka setiap pernyataan SQL (dalam transaksi atau tidak) dianggap sebagai transaksi yang lengkap, dan berkomitmen secara default ketika selesai. Ketika autocommit diatur ke 0, dengan menerbitkan autocommit SET = 0 perintah, seri berikutnya dari pernyataan bertindak seperti transaksi, dan tidak ada kegiatan berkomitmen sampai pernyataan eksplisit COMMIT dikeluarkan.
Anda dapat mengeksekusi perintah SQL ini di PHP dengan menggunakan mysql_query () fungsi.

Contoh generik Transaksi

Ini urutan kejadian adalah independen dari bahasa pemrograman yang digunakan, jalan logis dapat dibuat dalam mana bahasa yang Anda gunakan untuk membuat aplikasi Anda.
Anda dapat mengeksekusi perintah SQL ini di PHP dengan menggunakan mysql_query () fungsi.
  1. Mulai transaksi dengan menerbitkan perintah SQL BEGIN BEKERJA
  2. Masalah satu atau lebih perintah SQL seperti SELECT, INSERT, UPDATE atau DELETE
  3. Periksa apakah ada kesalahan ada dan semuanya sesuai dengan kebutuhan Anda.
  4. Jika ada kesalahan maka masalah perintah ROLLBACK jika tidak menjalankan perintah COMMIT.

Transaksi-Aman Jenis Tabel di MySQL:

Anda tidak dapat menggunakan transaksi secara langsung, Anda dapat tetapi mereka tidak akan menyimpan dan dijamin. Jika Anda berencana untuk menggunakan transaksi dalam pemrograman MySQL Anda maka Anda perlu untuk membuat tabel Anda dengan cara khusus. Ada banyak jenis tabel yang mendukung transaksi tapi satu yang paling populer adalah InnoDB.
Dukungan untuk tabel InnoDB memerlukan parameter kompilasi tertentu ketika kompilasi MySQL dari source. Jika versi MySQL tidak memiliki dukungan InnoDB, meminta Internet Service Provider untuk membangun sebuah versi dari MySQL dengan dukungan untuk tipe tabel InnoDB, atau men-download dan menginstal distribusi biner MySQL-Max untuk Windows atau Linux / UNIX dan bekerja dengan tipe tabel dalam lingkungan pengembangan.
Jika Anda instalasi MySQL mendukung tabel InnoDB, hanya menambahkan TYPE = InnoDB definisi pernyataan penciptaan meja. Sebagai contoh, kode berikut membuat tabel InnoDB disebut tcount_tbl:
root @ host # mysql-u root-p password;
 Masukkan sandi :*******
 mysql> tutorial penggunaan;
 Basis berubah
 mysql> membuat tabel tcount_tbl
     -> (
     -> Tutorial_author varchar (40) NOT NULL,
     -> Tutorial_count INT
     ->) TYPE = InnoDB;
 Query OK, 0 rows affected (0,05 sec)
Periksa link berikut untuk tahu lebih banyak tentang: InnoDB
Anda dapat menggunakan tabel jenis lain seperti GEMINI atau BDB tapi itu tergantung pada instalasi Anda jika mendukung kedua jenis.







14. Tutorial MySQL Where

Kita telah melihat perintah SQL SELECT untuk mengambil data dari tabel MySQL. Kita dapat menggunakan klausa bersyarat disebut klausa WHERE untuk menyaring hasil. Menggunakan klausa WHERE kita dapat menentukan kriteria seleksi untuk memilih catatan yang diperlukan dari meja.
sintaks:
Berikut ini adalah sintaks SQL generik dari perintah SELECT dengan klausa WHERE untuk mengambil data dari tabel MySQL:
SELECT field1, field2,…fieldN table_name1, table_name2…
[WHERE condition1 [AND [OR]] condition2…..
Anda dapat menggunakan satu atau lebih tabel dipisahkan dengan koma untuk memasukkan berbagai kondisi dengan menggunakan klausa WHERE. Tapi klausa WHERE merupakan bagian opsional perintah SELECT.
  • Anda dapat menentukan kondisi menggunakan klausa WHERE.
  • Anda dapat menentukan lebih dari satu kondisi dengan menggunakan operator AND atau OR
  • Sebuah klausa WHERE dapat digunakan alongwith DELETE atau UPDATE perintah SQL juga untuk menentukan kondisi.
Klausa WHERE bekerja seperti jika kondisi dalam bahasa pemrograman. Klausul ini digunakan untuk membandingkan nilai yang diberikan dengan nilai field yang tersedia dalam tabel MySQL. Jika nilai yang diberikan dari luar adalah sama dengan nilai field yang tersedia dalam tabel MySQL maka baris itu kembali.
Berikut adalah daftar operator yang dapat digunakan dengan klausa WHERE.
Asumsikan Field memegang 10 dan bidang B memiliki 20 maka:

Klausa WHERE sangat berguna ketika Anda ingin mengambil baris yang dipilih dari tabel, khusus ketika Anda menggunakan MySQLjoin. Bergabung dibahas dalam bab lain.
Ini adalah praktek umum untuk mencari catatan menggunakan Primary Key untuk membuat cepat pencarian.
Jika kondisi yang diberikan tidak cocok dengan catatan dalam tabel maka query tidak akan kembali baris apapun.

Mengambil Data dari Command Prompt:

Hal ini akan menggunakan perintah SQL SELECT dengan klausa WHERE untuk mengambil data yang dipilih dari MySQL meja tutorials_tbl
contoh:
Contoh berikut akan mengembalikan semua catatan dari meja yang tutorials_tbl nama penulis adalah Sanjay:root@host# mysql -u root -p password;
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl WHERE tutorial_author=’Sanjay’;
+————-+—————-+—————–+—————–+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+————-+—————-+—————–+—————–+
| 3 | JAVA Tutorial | Sanjay | 2007-05-21 |
+————-+—————-+—————–+—————–+
1 rows in set (0.01 sec)
mysql>
Semua Kecuali melakukan perbandingan LIKE pada string, perbandingan itu tidak sensitif huruf. Anda dapat membuat pencarian kata kunci Binary kasus Anda sensitif menggunakan sebagai berikut.
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl \
WHERE BINARY tutorial_author=’sanjay’;
Empty set (0.02 sec)
mysql>

Mengambil Data Menggunakan PHP Script:

Anda dapat menggunakan perintah SQL SELECT yang sama dengan MANA KLAUSUL ke fungsi PHP mysql_query (). Fungsi ini digunakan untuk mengeksekusi perintah SQL dan kemudian fungsi PHP yang lain mysql_fetch_array () dapat digunakan untuk mengambil semua data yang dipilih. Fungsi ini mengembalikan baris sebagai array asosiatif, array numerik, atau keduanya. Fungsi ini mengembalikan FALSE jika tidak ada baris lagi.
contoh:
Contoh berikut akan mengembalikan semua catatan dari meja yang tutorials_tbl nama penulis adalah Sanjay:

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT tutorial_id, tutorial_title,
               tutorial_author, submission_date
        FROM tutorials_tbl
        WHERE tutorial_author="Sanjay"';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Tutorial ID :{$row['tutorial_id']}  <br> ".
         "Title: {$row['tutorial_title']} <br> ".
         "Author: {$row['tutorial_author']} <br> ".
         "Submission Date : {$row['submission_date']} <br> ".
         "--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
 
 
 




15. Tutorial MySQL Pengurutan

Urutan adalah himpunan bilangan bulat 1, 2 3, … yang dihasilkan dalam rangka permintaan.Urutan yang sering digunakan dalam database karena banyak aplikasi membutuhkan setiap baris dalam sebuah tabel berisi nilai unik, dan urutan menyediakan cara mudah untuk menghasilkan mereka. Bab ini menjelaskan cara menggunakan urutan di MySQL .

Menggunakan kolom AUTO_INCREMENT :

Cara paling sederhana dalam MySQL menggunakan Sequences adalah untuk mendefinisikan kolom sebagai AUTO_INCREMENT dan meninggalkan sisanya dari hal-hal ke MySQL untuk mengurus .
Contoh :
Coba contoh berikut. Ini akan membuat tabel dan setelah itu akan memasukkan beberapa baris dalam tabel di mana tidak diperlukan untuk memberikan record ID karena auto bertambah oleh MySQL.
mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO insect (id,name,date,origin) VALUES
    -> (NULL,'housefly','2001-09-10','kitchen'),
    -> (NULL,'millipede','2001-09-10','driveway'),
    -> (NULL,'grasshopper','2001-09-10','front yard');
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0
mysql> SELECT * FROM insect ORDER BY id;
+----+-------------+------------+------------+
| id | name        | date       | origin     |
+----+-------------+------------+------------+
|  1 | housefly    | 2001-09-10 | kitchen    |
|  2 | millipede   | 2001-09-10 | driveway   |
|  3 | grasshopper | 2001-09-10 | front yard |
+----+-------------+------------+------------+
3 rows in set (0.00 sec)

Mendapatkan Nilai AUTO_INCREMENT :

LAST_INSERT_ID () adalah fungsi SQL, sehingga Anda dapat menggunakannya dari dalam setiap klien yang mengerti bagaimana mengeluarkan pernyataan SQL. script PERL dan PHH sebaliknya menyediakan fungsi eksklusif untuk mengambil nilai otomatis bertambah dari record terakhir.
PERL Contoh :
Gunakan atribut mysql_insertid untuk mendapatkan nilai AUTO_INCREMENT yang dihasilkan oleh query. Atribut ini diakses melalui sebuah menangani database atau menangani pernyataan, tergantung pada bagaimana Anda masalah query. Contoh berikut referensi itu melalui menangani database :
$dbh->do ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq = $dbh->{mysql_insertid};
PHP Contoh :
Setelah mengeluarkan query yang menghasilkan nilai AUTO_INCREMENT, mengambil nilai dengan memanggil mysql_insert_id () :
mysql_query ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id);

Ulang nomor suatu urutan yang ada :

Mungkin ada kasus ketika Anda memiliki banyak catatan dihapus dari tabel dan Anda ingin resequence semua catatan. Hal ini dapat dilakukan dengan menggunakan sebuah trik sederhana tetapi Anda harus sangat berhati-hati untuk melakukannya jika tabel Anda mengalami bergabung dengan tabel lainnya.
Jika Anda menentukan bahwa kolom AUTO_INCREMENT resequencing tidak dapat dihindari, cara untuk melakukannya adalah untuk drop kolom dari tabel, kemudian tambahkan lagi. Contoh berikut menunjukkan bagaimana nilai-nilai id nomor baru dalam tabel serangga menggunakan teknik ini :
mysql> ALTER TABLE insect DROP id;
mysql> ALTER TABLE insect
    -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
    -> ADD PRIMARY KEY (id);

Mulai Sequence pada Nilai khusus :

Secara default MySQL akan dimulai urutan dari 1 tetapi Anda dapat menentukan nomor lain serta pada saat pembuatan tabel . Berikut ini adalah contoh di mana MySQL akan dimulai urutan dari 100.
mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);
Atau, Anda dapat membuat tabel dan kemudian menetapkan nilai urutan awal dengan ALTER TABLE.
mysql> ALTER TABLE t AUTO_INCREMENT = 100;
 
Aktifkan javascript browser anda bos!




16. Tutorial MySQ Update Query

Mungkin ada persyaratan dimana data yang ada dalam tabel MySQL perlu dimodifikasi. Anda dapat melakukannya dengan menggunakan perintah SQL UPDATE. Ini akan memodifikasi nilai field dari setiap tabel MySQL.
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
sintaks:
Berikut ini adalah sintaks SQL generik perintah UPDATE untuk mengubah data ke dalam tabel MySQL:
  • Anda dapat memperbarui satu atau lebih lapangan bersama-sama.
  •  Anda dapat menentukan kondisi menggunakan klausa WHERE.
  •  Anda dapat memperbarui nilai dalam sebuah tabel tunggal pada suatu waktu.
Klausa WHERE sangat berguna ketika Anda ingin memperbarui baris yang dipilih dalam sebuah tabel.
Memperbarui Data dari Command Prompt:
Hal ini akan menggunakan perintah UPDATE SQL dengan klausa WHERE untuk memperbarui data yang dipilih ke MySQL tabel tutorials_tbl
contoh:
Contoh berikut akan memperbarui lapangan tutorial_title untuk sebuah record memiliki tutorial_id sebagai 3.
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> UPDATE tutorials_tbl
    -> SET tutorial_title='Learning JAVA'
    -> WHERE tutorial_id=3;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Memperbarui data Menggunakan PHP Script:

Anda dapat menggunakan perintah UPDATE SQL dengan atau tanpa MANA KLAUSUL ke fungsi PHP mysql_query (). Fungsi ini akan mengeksekusi perintah SQL dengan cara serupa itu dijalankan pada prompt mysql>.

Contoh:

contoh berikut untuk memperbarui bidang tutorial_title untuk sebuah record memiliki tutorial_id sebagai 3.
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'UPDATE tutorials_tbl
        SET tutorial_title="Learning JAVA"
        WHERE tutorial_id=3';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
?>

Aktifkan javascript browser anda bos!




17. Tutorial MySQL Join


Sejauh ini kita hanya mendapatkan data dari satu meja pada suatu waktu. Ini bagus untuk sederhana membutuhkan, tapi di sebagian besar dunia nyata penggunaan MySQL Anda akan sering perlu untuk mendapatkan data dari beberapa tabel dalam satu query tunggal.
Anda dapat menggunakan beberapa tabel dalam query tunggal SQL Anda. Tindakan bergabung di MySQL mengacu pada menghancurkan dua atau lebih tabel ke tabel tunggal.
Anda dapat menggunakan JOINdi SELECT, UPDATE dan DELETE laporan untuk bergabung tabel MySQL. Kita akan melihat contoh KIRI JOINjuga yang berbeda dari MySQL yang sederhana JOIN .

Menggunakan Join di Command Prompt:

Misalkan kita memiliki dua tabel tcount_tbl dan tutorials_tbl dalam tutorial. Sebuah daftar lengkap diberikan di bawah ini :
Contoh:
Coba contoh berikut :
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * FROM tcount_tbl;
+-----------------+----------------+
| tutorial_author | tutorial_count |
+-----------------+----------------+
| mahran          |             20 |
| mahnaz          |           NULL |
| Jen             |           NULL |
| Gill            |             20 |
| John Poul       |              1 |
| Sanjay          |              1 |
+-----------------+----------------+
6 rows in set (0.01 sec)
mysql> SELECT * from tutorials_tbl;
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           1 | Learn PHP      | John Poul       | 2007-05-24      |
|           2 | Learn MySQL    | Abdul S         | 2007-05-24      |
|           3 | JAVA Tutorial  | Sanjay          | 2007-05-06      |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.00 sec)
mysql>
Sekarang kita dapat menulis sebuah query SQL untuk bergabung dengan dua tabel. Query ini akan memilih semua penulis dari tutorials_tbl meja dan akan jumlah pengambilan yang sesuai tutorial dari tcount_tbl.
mysql> SELECT a.tutorial_id, a.tutorial_author, b.tutorial_count
    -> FROM tutorials_tbl a, tcount_tbl b
    -> WHERE a.tutorial_author = b.tutorial_author;
+-------------+-----------------+----------------+
| tutorial_id | tutorial_author | tutorial_count |
+-------------+-----------------+----------------+
|           1 | John Poul       |              1 |
|           3 | Sanjay          |              1 |
+-------------+-----------------+----------------+
2 rows in set (0.01 sec)
mysql>

Menggunakan JOIN dalam Script PHP:

Anda dapat menggunakan salah satu query SQL di atas disebutkan dalam naskah PHP. Anda hanya harus lulus query SQL ke fungsi PHP mysql_query () dan kemudian Anda akan mengambil hasil dalam cara biasa.
Contoh:
Coba contoh berikut :
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT a.tutorial_id, a.tutorial_author, b.tutorial_count
        FROM tutorials_tbl a, tcount_tbl b
        WHERE a.tutorial_author = b.tutorial_author';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Author:{$row['tutorial_author']}  <br> ".
         "Count: {$row['tutorial_count']} <br> ".
         "Tutorial ID: {$row['tutorial_id']} <br> ".
         "--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>

MySQL KIRI JOIN:

Sebuah MySQL kiri bergabung adalah berbeda dari yang sederhana bergabung. Sebuah MySQL KIRI JOIN memberikan pertimbangan tambahan ke meja yang ada di sebelah kiri.
Jika saya melakukan KIRI JOIN, saya mendapatkan semua catatan yang sesuai dengan cara yang sama dan SELAIN saya mendapatkan catatan tambahan untuk setiap record yang tak tertandingi dalam tabel kiri join- sehingga memastikan (dalam contoh saya) bahwa setiap PENULIS mendapat menyebutkan :
Contoh:
Coba contoh berikut untuk memahami LEFT JOIN:
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT a.tutorial_id, a.tutorial_author, b.tutorial_count
    -> FROM tutorials_tbl a LEFT JOIN tcount_tbl b
    -> ON a.tutorial_author = b.tutorial_author;
+-------------+-----------------+----------------+
| tutorial_id | tutorial_author | tutorial_count |
+-------------+-----------------+----------------+
|           1 | John Poul       |              1 |
|           2 | Abdul S         |           NULL |
|           3 | Sanjay          |              1 |
+-------------+-----------------+----------------+
3 rows in set (0.02 sec)
Anda akan perlu untuk melakukan praktik lebih untuk menjadi akrab dengan JOIN. Ini adalah sebuah konsep tetapi kompleks di MySQL / SQL dan akan menjadi lebih jelas saat melakukan contoh-contoh nyata.







18. Tutorial MySQ Delete Query

Jika Anda ingin menghapus catatan dari tabel MySQL maka Anda dapat menggunakan perintah SQL DELETE FROM.. Anda dapat menggunakan perintah ini di prompt mysql> maupun di script seperti PHP.

Syntax:

Berikut ini adalah sintaks SQL generik perintah DELETE untuk menghapus data dari tabel MySQL:
DELETE FROM nama_tabel [WHERE]
  • Jika klausa WHERE tidak ditentukan maka semua catatan akan dihapus dari tabel MySQL yang diberikan.
  •  Anda dapat menentukan kondisi menggunakan klausa WHERE.
  •  Anda dapat menghapus catatan dalam sebuah tabel tunggal pada suatu waktu.
Klausa WHERE sangat berguna ketika Anda ingin menghapus baris yang dipilih dalam sebuah tabel.

Menghapus Data dari Command Prompt:

Hal ini akan menggunakan perintah SQL DELETE dengan klausa WHERE untuk menghapus data yang dipilih ke MySQL tabel tutorials_tbl

Contoh:

Contoh berikut akan menghapus catatan dalam tutorial_tbl yang tutorial_id adalah 3.
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> DELETE FROM tutorials_tbl WHERE tutorial_id=3;
Query OK, 1 row affected (0.23 sec)

mysql>

Menghapus Data Menggunakan PHP Script:

Anda dapat menggunakan SQL DELETE perintah dengan atau tanpa MANA KLAUSUL ke fungsi PHP mysql_query (). Fungsi ini akan mengeksekusi perintah SQL dengan cara serupa itu dijalankan pada prompt mysql>.

Contoh:

Coba contoh berikut untuk menghapus catatan ke tutorial_tbl yang tutorial_id adalah 3.
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'DELETE FROM tutorials_tbl
        WHERE tutorial_id=3';

mysql_select_db('TUTORIALS');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not delete data: ' . mysql_error());
}
echo "Deleted data successfully\n";
mysql_close($conn);
?>






19. Tutorial MySQL Clone Tabel

Mungkin ada situasi ketika Anda membutuhkan salinan dari tabel, dan CREATE TABLE … PILIH tidak sesuai dengan tujuan Anda karena salin harus menyertakan indeks yang sama, nilai-nilai default, dan sebagainya.
Anda dapat menangani situasi ini dengan langkah-langkah berikut.
1.  Gunakan TUNJUKKAN CREATE TABLE untuk mendapatkan pernyataan CREATE TABLE yang menentukan struktur tabel sumber itu, indeks dan semua.
2. Memodifikasi pernyataan untuk mengubah nama tabel dengan tabel klon dan mengeksekusi pernyataan tersebut. Cara ini Anda akan memiliki tabel klon yang tepat.
3. Opsional, Jika Anda membutuhkan isi tabel disalin juga, masalah INSERT INTO … SELECT, juga.
contoh:
Coba contoh berikut untuk membuat tabel klon untuk tutorials_tbl
Langkah 1:
Mendapatkan struktur lengkap tentang tabel
mysql> SHOW CREATE TABLE tutorials_tbl \G;
*************************** 1. row ***************************
       Table: tutorials_tbl
Create Table: CREATE TABLE `tutorials_tbl` (
  `tutorial_id` int(11) NOT NULL auto_increment,
  `tutorial_title` varchar(100) NOT NULL default '',
  `tutorial_author` varchar(40) NOT NULL default '',
  `submission_date` date default NULL,
  PRIMARY KEY  (`tutorial_id`),
  UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
) TYPE=MyISAM
1 row in set (0.00 sec)

ERROR:
No query specified

Langkah 2:

 Ubah nama tabel ini dan membuat tabel lain
mysql> CREATE TABLE `clone_tbl` (
  -> `tutorial_id` int(11) NOT NULL auto_increment,
  -> `tutorial_title` varchar(100) NOT NULL default '',
  -> `tutorial_author` varchar(40) NOT NULL default '',
  -> `submission_date` date default NULL,
  -> PRIMARY KEY  (`tutorial_id`),
  -> UNIQUE KEY `AUTHOR_INDEX` (`tutorial_author`)
-> ) TYPE=MyISAM;
Query OK, 0 rows affected (1.80 sec)

Langkah 3:

 Setelah melaksanakan langkah 2 Anda akan tabel klon dalam 
database Anda. Jika Anda ingin menyalin data dari tabel lama 
maka Anda dapat melakukannya dengan menggunakan 
INSERT INTO ... SELECT.

mysql> INSERT INTO clone_tbl (tutorial_id,
    ->                        tutorial_title,
    ->                        tutorial_author,
    ->                        submission_date)
    -> SELECT tutorial_id,tutorial_title,
    ->        tutorial_author,submission_date,
    -> FROM tutorials_tbl;
Query OK, 3 rows affected (0.07 sec)
Records: 3  Duplicates: 0  Warnings: 0

Akhirnya anda akan memiliki tabel clone persis 
seperti Anda ingin memiliki.
 
 
 
Aktifkan javascript browser anda bos!
  
   

     




20. MySQL Database Metadata

Ada tiga informasi yang Anda ingin memiliki dari MySQL.
1. Informasi tentang hasil dari query: Ini termasuk jumlah record dipengaruhi oleh SELECT, UPDATE atau DELETE.
2. Informasi tentang tabel dan database: ini mencakup informasi yang berkaitan dengan struktur tabel dan database.
3. Informasi tentang server MySQL: Ini termasuk status database server, nomor versi dll
Yang sangat mudah untuk mendapatkan semua informasi ini di mysql prompt. Namun saat menggunakan PERL atau PHP API maka kita perlu memanggil berbagai API secara eksplisit untuk memperoleh semua informasi ini. Bagian berikut akan menunjukkan Anda bagaimana untuk mendapatkan informasi ini.
Mendapatkan jumlah baris yang terpengaruh oleh Query:
PERL Contoh:
Dalam script DBI, jumlah yang terkena-baris yang dikembalikan oleh lakukan () atau dengan mengeksekusi (), tergantung pada bagaimana Anda mengeksekusi query:
# Method 1 # execute $query using do( ) my $count = $dbh->do ($query); # report 0 rows if an error occurred printf "%d rows were affected\n", (defined ($count) ? $count : 0); # Method 2 # execute query using prepare( ) plus execute( ) my $sth = $dbh->prepare ($query); my $count = $sth->execute ( ); printf "%d rows were affected\n", (defined ($count) ? $count : 0); PHP Contoh: Dalam PHP, memanggil mysql_affected_rows () fungsi untuk mengetahui berapa banyak baris query berubah: $result_id = mysql_query ($query, $conn_id); # report 0 rows if the query failed $count = ($result_id ? mysql_affected_rows ($conn_id) : 0); print ("$count rows were affected\n"); Daftar Tabel dan Database: Hal ini sangat mudah untuk menampilkan daftar semua database dan tabel yang tersedia dengan database server. Hasil tes Anda akan null jika Anda tidak memiliki hak istimewa yang memadai. Terlepas dari metode yang saya telah disebutkan di bawah ini Anda dapat menggunakan SHOW TABLES atau SHOW DATABASES query untuk mendapatkan daftar tabel atau database baik di PHP atau di PERL. PERL Contoh: # Get all the tables available in current database. my @tables = $dbh->tables ( ); foreach $table (@tables ){ print "Table Name $table\n"; } PHP Contoh: <?php $con = mysql_connect("localhost", "userid", "password"); if (!$con) { die('Could not connect: ' . mysql_error()); } $db_list = mysql_list_dbs($con); while ($db = mysql_fetch_object($db_list)) { echo $db->Database . "<br />"; } mysql_close($con); ?>
 
 
Aktifkan javascript browser anda bos!
  
   

     




21. Tutorial MySQL Penanganan Duplikat

Tabel atau set hasil kadang-kadang berisi catatan duplikat. Kadang itu diperbolehkan tetapi kadang diperlukan untuk menghentikan duplikat catatan. Kadang diperlukan untuk mengidentifikasi dan menghapus duplikat catatan mereka dari meja. Bab ini akan menjelaskan bagaimana mencegah duplikat catatan dalam sebuah tabel yang terjadi dan bagaimana untuk menghapus duplikat catatan sudah ada

Mencegah Duplikat dari Kejadiannya Tabel:

Anda dapat menggunakan PRIMARY KEY atau UNIQUE Indeks di atas meja dengan bidang yang sesuai untuk menghentikan duplikat catatan. Mari kita mengambil satu contoh, Tabel berikut berisi ada indeks kunci primer atau, sehingga akan memungkinkan catatan duplikat untuk first_name dan last_name
CREATE TABLE person_tbl
(
first_name CHAR(20),
last_name CHAR(20),
sex CHAR(10)
);
Untuk mencegah beberapa catatan dengan nilai-nilai nama yang sama pertama dan terakhir dari
yang dibuat dalam tabel ini, menambahkan PRIMARY KEY untuk definisi. Ketika Anda melakukan ini,
itu juga perlu untuk menyatakan kolom diindeks menjadi NOT NULL, PRIMARY KEY karena
tidak mengijinkan nilai NULL:
CREATE TABLE person_tbl
(
first_name CHAR(20) NOT NULL,
last_name CHAR(20) NOT NULL,
sex CHAR(10)
PRIMARY KEY (last_name, first_name)
);
Kehadiran indeks yang unik dalam tabel biasanya menyebabkan kesalahan terjadi jika Anda
menyisipkan catatan ke dalam tabel yang duplikat catatan yang ada dalam kolom atau kolom yang
mendefinisikan indeks.
Gunakan INSERT IGNORE daripada INSERT. Jika catatan tidak menduplikasi catatan yang ada, MySQL
sisipan seperti biasa. Jika record merupakan duplikat, kata kunci IGNORE memberitahu MySQL untuk
membuangnya diam-diam tanpa menghasilkan kesalahan.
Berikut contoh kesalahan tidak keluar dan saat yang sama tidak akan menyisipkan duplikat catatan.
mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)
-> VALUES( ‘Jay’, ‘Thomas’);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT IGNORE INTO person_tbl (last_name, first_name)
-> VALUES( ‘Jay’, ‘Thomas’);
Query OK, 0 rows affected (0.00 sec)
Gunakan REPLACE bukan INSERT. Jika catatan yang baru, itu dimasukkan hanya sebagai dengan INSERT.
Jika itu duplikat, catatan baru menggantikan yang lama:
mysql> REPLACE INTO person_tbl (last_name, first_name)
-> VALUES( ‘Ajay’, ‘Kumar’);
Query OK, 1 row affected (0.00 sec)
mysql> REPLACE INTO person_tbl (last_name, first_name)
-> VALUES( ‘Ajay’, ‘Kumar’);
Query OK, 2 rows affected (0.00 sec)
INSERT Abaikan dan REPLACE harus dipilih sesuai dengan perilaku duplikat penanganan Anda ingin efek.
INSERT Abaikan menjaga pertama dari set catatan digandakan dan membuang sisanya. REPLACE terus
yang terakhir dari serangkaian duplikat dan menghapus apapun yang sebelumnya.
Cara lain untuk menegakkan keunikan adalah menambahkan indeks UNIK daripada PRIMARY KEY ke sebuah meja.
CREATE TABLE person_tbl
(
   first_name CHAR(20) NOT NULL,
   last_name CHAR(20) NOT NULL,
   sex CHAR(10)
   UNIQUE (last_name, first_name)
);

















Menghitung dan Mengidentifikasi Duplikat:

Berikut ini adalah query untuk menghitung catatan duplikat dengan first_name dan last_name dalam sebuah tabel.
mysql> SELECT COUNT(*) as repetitions, last_name, first_name
-> FROM person_tbl
-> GROUP BY last_name, first_name
-> HAVING repetitions > 1;
Query ini akan mengembalikan daftar semua duplikat catatan dalam tabel person_tbl.
Secara umum, untuk mengidentifikasi set nilai-nilai yang diduplikasi, lakukan hal berikut:
  •      Tentukan kolom yang berisi nilai-nilai yang dapat diduplikasi.
  •      Daftar orang-kolom dalam daftar pilihan kolom, bersama dengan COUNT (*).
  •      Daftar kolom dalam klausa GROUP BY juga.
  •      Tambahkan klausa HAVING yang menghilangkan nilai-nilai yang unik dengan mengharuskan jumlah kelompok lebih besar dari satu.

Menghilangkan Duplikat dari Hasil Query:

Anda dapat menggunakan DISTINCT bersama dengan pernyataan SELECT untuk mengetahui catatan unik yang tersedia dalam sebuah tabel.
mysql> SELECT DISTINCT last_name, first_name
-> FROM person_tbl
-> ORDER BY last_name;
Sebuah alternatif untuk DISTINCT adalah dengan menambahkan klausa GROUP BY nama kolom yang Anda memilih.
Hal ini memiliki efek menghilangkan duplikat dan memilih hanya kombinasi unik dari nilai-nilai dalam
kolom yang ditentukan:
mysql> SELECT last_name, first_name
    -> FROM person_tbl
    -> GROUP BY (last_name, first_name);


















Menghapus Duplikat Menggunakan Penggantian Tabel:

Jika Anda memiliki duplikat catatan dalam sebuah tabel dan Anda ingin menghapus semua duplikat catatan dari meja itu maka di sini adalah prosedur.
mysql> CREATE TABLE tmp SELECT last_name, first_name, sex
-> FROM person_tbl;
-> GROUP BY (last_name, first_name);
mysql> DROP TABLE person_tbl;
mysql> ALTER TABLE tmp RENAME TO person_tbl;
Cara mudah untuk menghilangkan duplikat catatan dari tabel adalah bahwa menambahkan atau
PRIMAY INDEKS KUNCI ke meja itu. Bahkan jika tabel ini sudah tersedia, anda dapat menggunakan
teknik ini untuk menghapus duplikat catatan dan Anda akan aman di masa depan juga.
mysql> ALTER IGNORE TABLE person_tbl
    -> ADD PRIMARY KEY (last_name, first_name);






22. Tutorial Menggunakan Urutan di MySQL

Urutan adalah himpunan bilangan bulat 1, 2 3, … yang dihasilkan dalam rangka permintaan. Urutan yang sering digunakan dalam database karena banyak aplikasi membutuhkan setiap baris dalam sebuah tabel berisi nilai unik, dan urutan menyediakan cara mudah untuk menghasilkan mereka. Bab ini menjelaskan cara menggunakan urutan di MySQL.
Menggunakan kolom AUTO_INCREMENT:
Cara paling sederhana dalam MySQL menggunakan Sequences adalah untuk mendefinisikan kolom sebagai AUTO_INCREMENT dan meninggalkan sisanya dari hal-hal ke MySQL untuk mengurus.
contoh:
Coba contoh berikut. Ini akan membuat tabel dan setelah itu akan memasukkan beberapa baris dalam tabel di mana tidak diperlukan untuk memberikan record ID karena auto bertambah oleh MySQL.
mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);
Query OK, 0 rows affected (0.02 sec)
mysql> INSERT INTO insect (id,name,date,origin) VALUES
    -> (NULL,'housefly','2001-09-10','kitchen'),
    -> (NULL,'millipede','2001-09-10','driveway'),
    -> (NULL,'grasshopper','2001-09-10','front yard');
Query OK, 3 rows affected (0.02 sec)
Records: 3  Duplicates: 0  Warnings: 0
mysql> SELECT * FROM insect ORDER BY id;
+----+-------------+------------+------------+
| id | name        | date       | origin     |
+----+-------------+------------+------------+
|  1 | housefly    | 2001-09-10 | kitchen    |
|  2 | millipede   | 2001-09-10 | driveway   |
|  3 | grasshopper | 2001-09-10 | front yard |
+----+-------------+------------+------------+
3 rows in set (0.00 sec)

Mendapatkan Nilai AUTO_INCREMENT:

LAST_INSERT_ID () adalah fungsi SQL, 
sehingga Anda dapat menggunakannya dari dalam setiap klien yang 
mengerti bagaimana mengeluarkan pernyataan SQL. 
script PERL dan PHH sebaliknya menyediakan fungsi eksklusif 
untuk mengambil nilai otomatis bertambah dari record terakhir.

PERL Contoh:

 Gunakan atribut mysql_insertid untuk mendapatkan nilai 
AUTO_INCREMENT yang dihasilkan oleh query. 
Atribut ini diakses melalui sebuah menangani database atau 
menangani pernyataan, tergantung pada bagaimana Anda masalah query.
 
Contoh berikut referensi itu melalui menangani database:

$dbh->do ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq = $dbh->{mysql_insertid};

PHP Contoh:

 Setelah mengeluarkan query yang menghasilkan nilai 
AUTO_INCREMENT, mengambil nilai dengan 
memanggil mysql_insert_id ():

mysql_query ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id);

Ulang nomor suatu urutan yang ada:

 Mungkin ada kasus ketika Anda memiliki banyak 
catatan dihapus dari tabel dan Anda ingin resequence semua catatan. 
Hal ini dapat dilakukan dengan menggunakan sebuah trik sederhana 
tetapi Anda harus sangat berhati-hati untuk melakukannya jika tabel 
Anda mengalami bergabung dengan tabel lainnya.

mysql> ALTER TABLE insect DROP id;
mysql> ALTER TABLE insect
    -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
    -> ADD PRIMARY KEY (id);

Mulai Sequence pada Nilai khusus:

 Secara default MySQL akan dimulai urutan dari 1 tetapi 
Anda dapat menentukan nomor lain serta pada saat pembuatan tabel. 
Berikut ini adalah contoh di mana MySQL akan dimulai 
urutan dari 100.

mysql> CREATE TABLE insect
    -> (
    -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,
    -> PRIMARY KEY (id),
    -> name VARCHAR(30) NOT NULL, # type of insect
    -> date DATE NOT NULL, # date collected
    -> origin VARCHAR(30) NOT NULL # where collected
);
 
 
 




23. Tutorial MySQL dan SQL Injection


Jika Anda mengambil input pengguna melalui halaman web dan memasukkannya ke dalam database MySQL ada kemungkinan bahwa Anda telah meninggalkan diri Anda terbuka lebar untuk masalah keamanan yang dikenal sebagai SQL Injection. Pelajaran ini akan mengajarkan Anda bagaimana untuk membantu mencegah hal ini terjadi dan membantu Anda mengamankan skrip Anda dan pernyataan MySQL. Injeksi biasanya terjadi ketika Anda meminta pengguna untuk masukan, seperti nama mereka, dan bukannya nama mereka memberikan pernyataan MySQL bahwa anda tidak sadar akan berjalan pada database Anda.
Jangan pernah percaya disediakan pengguna data, proses data ini hanya setelah validasi; sebagai suatu peraturan, hal ini dilakukan dengan pencocokan pola. Pada contoh di bawah, nama pengguna dibatasi untuk karakter alfanumerik ditambah menggarisbawahi dan panjang antara 8 dan 20 karakter – memodifikasi aturan ini sesuai kebutuhan.
if (preg_match(“/^\w{8,20}$/”, $_GET['username'], $matches))
{
$result = mysql_query(“SELECT * FROM users
WHERE username=$matches[0]“);
}
else
{
echo “username not accepted”;
}
Untuk menunjukkan masalah, pertimbangkan kutipan ini:
// supposed input
$name = “Qadir’; DELETE FROM users;”;
mysql_query(“SELECT * FROM users WHERE name=’{$name}’”);
Fungsi panggil seharusnya mengambil record dari tabel users dimana kolom nama sesuai dengan nama yang
ditentukan oleh pengguna. Dalam keadaan normal, $ nama hanya akan berisi karakter alfanumerik dan mungkin ruang,
seperti illa string. Tapi di sini, dengan menambahkan query sama sekali baru untuk $ nama, panggilan
ke database berubah menjadi bencana: DELETE query disuntikkan menghapus semua catatan dari pengguna.
Untungnya, jika Anda menggunakan MySQL, mysql_query () fungsi tidak mengizinkan permintaan susun,
atau mengeksekusi beberapa query dalam panggilan fungsi tunggal. Jika Anda mencoba untuk tumpukan pertanyaan,
panggilan gagal.
Namun, ekstensi database lain PHP, seperti SQLite dan PostgreSQL, dengan senang hati melakukan query ditumpuk,
mengeksekusi semua pertanyaan yang diberikan dalam satu string dan menciptakan masalah keamanan serius.

Mencegah SQL Injection:

Anda dapat menangani semua karakter melarikan diri cerdas dalam bahasa scripting seperti PERL dan PHP. Ekstensi MySQL untuk PHP menyediakan fungsi mysql_real_escape_string () untuk melarikan diri karakter input yang khusus untuk MySQL.
if (get_magic_quotes_gpc())
{
$name = stripslashes($name);
}
$name = mysql_real_escape_string($name);
mysql_query(“SELECT * FROM users WHERE name=’{$name}’”);

Para Quandary SEPERTI:

Untuk mengatasi kebingungan SEPERTI, mekanisme melarikan diri kustom harus mengkonversi pengguna yang disediakan% dan karakter _ untuk literal. Gunakan addcslashes (), fungsi yang memungkinkan anda menentukan berbagai karakter untuk melarikan diri.
$sub = addcslashes(mysql_real_escape_string("%something_"), "%_");
// $sub == \%something\_
mysql_query("SELECT * FROM messages WHERE subject LIKE '{$sub}%'");





24. MySQL Alter Command


MySQL perintah ALTERsangat berguna ketika Anda ingin mengubah nama tabel Anda, setiap bidang meja atau jika Anda ingin menambahkan atau menghapus kolom yang ada dalam sebuah tabel.
Mari kita mulai dengan membuat tabel yang disebut testalter_tbl
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> create table testalter_tbl
    -> (
    -> i INT,
    -> c CHAR(1)
    -> );
Query OK, 0 rows affected (0.05 sec)
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| i     | int(11) | YES  |     | NULL    |       |
| c     | char(1) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Menjatuhkan, Menambah, atau Reposisi Kolom:
Misalkan Anda ingin drop kolom yang ada saya dari atas tabel MySQL maka Anda akan menggunakan klausa DROP bersama dengan perintah ALTER sebagai berikut
mysql> ALTER TABLE testalter_tbl  DROP i;
DROP A tidak akan bekerja jika kolom adalah satu-satunya yang tersisa di meja.
Untuk menambahkan kolom, gunakan ADD dan menentukan definisi kolom.Pernyataan berikut mengembalikan kolom i ke testalter_tbl
mysql> ALTER TABLE testalter_tbl ADD i INT;
Setelah mengeluarkan pernyataan ini, testalter akan berisi dua kolom yang sama bahwa itu saat pertama kali membuat tabel, tetapi tidak akan memiliki cukup struktur yang sama. Itu karena kolom baru ditambahkan ke ujung meja secara default. Jadi meskipun saya awalnya adalah kolom pertama di mytbl, sekarang adalah yang terakhir:
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Untuk menunjukkan bahwa Anda ingin kolom pada posisi tertentu dalam tabel, baik menggunakan PERTAMA untuk membuat kolom pertama, atau SETELAH col_name untuk menunjukkan bahwa kolom baru harus ditempatkan setelah col_name.Coba berikut ALTER TABLE laporan, menggunakan KOLOM TUNJUKKAN setelah masing-masing untuk melihat apa efek masing-masing memiliki:
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT FIRST;
ALTER TABLE testalter_tbl DROP i;
ALTER TABLE testalter_tbl ADD i INT AFTER c;
Para penspesifikasi PERTAMA dan SETELAH bekerja hanya dengan klausa ADD. Ini berarti bahwa jika Anda ingin mengubah posisi suatu kolom yang ada dalam tabel, Anda harus terlebih dahulu DROP dan kemudian ADD itu di posisi baru.

Mengubah Definisi Kolom atau Nama:

Untuk mengubah definisi kolom, gunakan MENGUBAH atau klausa Ganti bersama dengan perintah ALTER.Sebagai contoh, untuk mengubah c kolom dari CHAR (1) ke CHAR (10), lakukan ini:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Dengan PERUBAHAN, sintaks yang sedikit berbeda. Setelah kata kunci Ganti, Anda nama kolom yang ingin Anda ubah, kemudian tentukan definisi baru, yang meliputi nama baru. Coba contoh berikut:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
Jika Anda sekarang menggunakan Ganti untuk mengubah j dari BIGINT kembali ke INA tanpa mengubah nama kolom, pernyataan itu akan seperti yang diharapkan:
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Pengaruh ALTER TABLE pada Null dan Atribut Default Value:
Ketika Anda memodifikasi atau mengubah kolom, Anda juga dapat menentukan apakah atau tidak kolom dapat berisi nilai NULL, dan apa nilai default adalah.Bahkan, jika Anda tidak melakukan ini, MySQL secara otomatis memberikan nilai untuk atribut tersebut.
Berikut adalah contoh di mana kolom NOT NULL akan memiliki nilai 100 secara default.
mysql> ALTER TABLE testalter_tbl
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Jika Anda tidak menggunakan perintah di atas maka MySQL akan mengisi nilai-nilai NULL di semua kolom.

Mengubah Default Value Kolom ini:

Anda dapat mengubah nilai default untuk setiap kolom menggunakan perintah ALTER. Coba contoh berikut.
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | 1000    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
Anda dapat menghapus kendala default dari setiap kolom dengan menggunakan klausa DROP bersama dengan perintah ALTER.
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
mysql> SHOW COLUMNS FROM testalter_tbl;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| c     | char(1) | YES  |     | NULL    |       |
| i     | int(11) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)

Mengubah Tabel Tipe:

Anda dapat menggunakan tipe tabel dengan menggunakan klausa JENIS perintah ALTER alongwith.Coba contoh berikut untuk mengubah testalter_tbl untuk tipe tabel MYISAM.
Untuk mengetahui jenis saat tabel, gunakan pernyataan SHOW TABLE STATUS.
mysql> ALTER TABLE testalter_tbl TYPE = MYISAM;
mysql>  SHOW TABLE STATUS LIKE 'testalter_tbl'\G
*************************** 1. row ****************
           Name: testalter_tbl
           Type: MyISAM
     Row_format: Fixed
           Rows: 0
 Avg_row_length: 0
    Data_length: 0
Max_data_length: 25769803775
   Index_length: 1024
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2007-06-03 08:04:36
    Update_time: 2007-06-03 08:04:36
     Check_time: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)

Mengganti Nama Tabel:

Untuk mengubah nama tabel, gunakan pilihan RENAME pernyataan ALTER TABLE.Coba contoh berikut untuk mengubah nama testalter_tbl untuk alter_tbl
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Anda dapat menggunakan perintah ALTER untuk membuat dan drop INDEKS pada file MySQL. Kita akan melihat fitur ini pada bab berikutnya.

Aktifkan javascript browser anda bos!




25. Tutorial Ekspor Database MySQL – Metode Cadangan

Cara termudah mengekspor data tabel ke file teks menggunakan SELECT … INTO OUTFILE bahwa ekspor hasil query langsung ke file pada server host.

Mengekspor Data dengan SELECT … Pernyataan INTO OUTFILE:

Sintaks untuk pernyataan ini menggabungkan SELECT INTO biasa dengan nama file OUTFILE di akhir. Format output default adalah sama seperti untuk LOAD DATA, sehingga pernyataan berikut ekspor tabel tutorials_tbl ke / tmp / tutorials.txt sebagai file tab-delimited, linefeed-dihentikan:
mysql> SELECT * FROM tutorials_tbl
-> INTO OUTFILE ‘/tmp/tutorials.txt’;
Anda dapat mengubah format output menggunakan opsi untuk menunjukkan bagaimana untuk mengutip dan
membatasi kolom dan catatan. Untuk mengekspor tabel tutorial_tbl dalam format CSV dengan CRLF-garis diakhiri,
menggunakan pernyataan ini:
mysql> SELECT * FROM passwd INTO OUTFILE ‘/tmp/tutorials.txt’
-> FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘”‘
-> LINES TERMINATED BY ‘\r\n’;
SELECT … INTO OUTFILE memiliki properti berikut:
  •      Output file dibuat secara langsung oleh server MySQL, sehingga nama file harus menunjukkan di mana Anda ingin file yang akan ditulis pada server host. Tidak ada versi LOKAL dari pernyataan analog ke versi LOKAL LOAD DATA.
  •      Anda harus memiliki hak istimewa FILE MySQL untuk mengeksekusi SELECT … INTO.
  •      File output tidak harus sudah ada. Hal ini mencegah MySQL dari clobbering file yang mungkin penting. Anda harus memiliki account login di host server atau beberapa cara untuk mengambil file dari host tersebut.
  • Jika tidak, SELECT … INTO OUTFILE kemungkinan akan menjadi tidak bernilai bagi Anda.
  •      Di Unix, file yang menciptakan dunia dibaca dan dimiliki oleh server MySQL. Ini berarti bahwa walaupun Anda akan dapat membaca file tersebut, Anda mungkin tidak mampu untuk menghapusnya.

Mengekspor Tabel sebagai Data mentah:

Program mysqldump digunakan untuk menyalin atau cadangan tabel dan database. Hal ini dapat menulis output tabel baik sebagai datafile mentah, atau sebagai satu set pernyataan INSERT yang menciptakan catatan dalam tabel.
Untuk dump tabel sebagai datafile, Anda harus menentukan opsi – tab yang menunjukkan direktori di mana Anda ingin server MySQL untuk menulis file. Sebagai contoh, untuk membuang tabel dari database tutorials_tbl tutorial untuk sebuah file di direktori / tmp, gunakan perintah seperti ini:
$ mysqldump -u root -p --no-create-info \
            --tab=/tmp TUTORIALS tutorials_tbl
password ******




















Mengekspor Isi Table atau Definisi Format SQL:

Untuk mengekspor tabel dalam format SQL untuk file, gunakan perintah seperti ini:
$ mysqldump -u root -p TUTORIALS tutorials_tbl > dump.txt
password ******
Ini akan membuat konten file memiliki sebagai berikut:
– MySQL dump 8.23

– Host: localhost Database: TUTORIALS
———————————————————
– Server version 3.23.58

– Table structure for table `tutorials_tbl`

CREATE TABLE tutorials_tbl (
tutorial_id int(11) NOT NULL auto_increment,
tutorial_title varchar(100) NOT NULL default ”,
tutorial_author varchar(40) NOT NULL default ”,
submission_date date default NULL,
PRIMARY KEY (tutorial_id),
UNIQUE KEY AUTHOR_INDEX (tutorial_author)
) TYPE=MyISAM;

– Dumping data for table `tutorials_tbl`

INSERT INTO tutorials_tbl
VALUES (1,’Learn PHP’,'John Poul’,’2007-05-24′);
INSERT INTO tutorials_tbl
VALUES (2,’Learn MySQL’,'Abdul S’,’2007-05-24′);
INSERT INTO tutorials_tbl
VALUES (3,’JAVA Tutorial’,'Sanjay’,’2007-05-06′);
Untuk dump beberapa tabel, nama mereka semua mengikuti argumen nama database. Untuk dump seluruh database,
jangan nama apapun tabel setelah database sebagai berikut:
$ mysqldump -u root -p TUTORIALS > database_dump.txt
password ******














Untuk backup semua database yang tersedia pada host Anda menggunakan berikut:
$ mysqldump -u root -p --all-databases > database_dump.txt
password ******
















- Semua-database pilihan yang tersedia pada MySQL 3.23.12. Metode ini dapat digunakan untuk menerapkan stretegy backup database.

Menyalin atau Tabel Database Host lain:

Jika Anda ingin menyalin tabel atau database dari satu server MySQL untuk lain kemudian menggunakan mysqldump dengan nama database dan nama tabel.
Jalankan perintah berikut pada host sumber. Ini akan dump database lengkap ke file dump.txt:
$ mysqldump -u root -p database_name table_name > dump.txt
password *****
Anda dapat menyalin database yang lengkap tanpa menggunakan nama tabel tertentu sebagai dijelaskan di atas.
Sekarang ftp file yang dump.txt pada host lain dan gunakan perintah berikut. Sebelum menjalankan perintah ini,
pastikan Anda telah membuat database_name pada server tujuan.
$ mysql -u root -p database_name < dump.txt
password *****
Cara lain untuk mencapai hal ini tanpa menggunakan file perantara adalah untuk mengirim output dari mysqldump
langsung melalui jaringan ke server MySQL jauh. Jika Anda dapat terhubung ke kedua server dari host dimana
database berada masak, gunakan perintah ini:
$ mysqldump -u root -p database_name \
            states | mysql -h other-host.com database_name














Setengah mysqldump perintah terhubung ke server lokal dan menulis output dump untuk pipa. Setengah mysql perintah menghubungkan ke server MySQL remote pada otherhost.com. Membaca pipa untuk input dan mengirimkan setiap pernyataan ke server lain-host.com.
Aktifkan javascript browser anda bos!



26. MySQL indexs

Sebuah indeks database adalah sebuah struktur data yang meningkatkan kecepatan operasi dalam sebuah tabel.Indeks dapat dibuat menggunakan satu atau lebih kolom, menyediakan dasar untuk kedua pencarian acak yang cepat dan efisien pemesanan akses ke catatan.
Sementara menciptakan indeks itu harus dipertimbangkan bahwa apa yang kolom yang akan digunakan untuk membuat query SQL dan membuat satu atau lebih indeks pada kolom tersebut.
Praktis, Indeks juga jenis tabel yang menjaga kunci primer atau bidang indeks dan pointer ke setiap record dalam ke meja yang sebenarnya.
Para pengguna tidak dapat melihat index, mereka hanya digunakan untuk mempercepat query dan akan digunakan oleh Database Engine Search untuk mencari catatan sangat cepat.
INSERT dan UPDATE laporan membutuhkan waktu lebih lama di meja memiliki indeks di mana sebagai pernyataan SELECT menjadi cepat pada mereka tabel.Alasannya adalah bahwa saat melakukan insert atau update, database perlu inert atau memperbarui nilai indeks juga.

IndekSederhana dan Unik :

Anda dapat membuat indeks yang unik di atas meja.Sebuah indeks yang unik berarti bahwa dua baris tidak dapat memiliki nilai index yang sama. Here is the syntax to create an Index on a table Berikut adalah sintaks untuk membuat indeks di atas meja
CREATE UNIQUE INDEX index_name
ON table_name ( column1, column2,...);
Anda dapat menggunakan satu atau lebih kolom untuk membuat indeks.Sebagai contoh kita dapat membuat indeks pada tutorials_tbl menggunakan tutorial_author
CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author)
Anda dapat membuat index sederhana di atas meja. Hanya menghilangkan UNIQUE dari query untuk membuat indeks sederhana.Indeks sederhana ini memungkinkan nilai-nilai duplikat dalam sebuah tabel.
Jika Anda ingin indeks nilai dalam sebuah kolom di urutan, Anda dapat menambahkan kata DESC dicadangkan setelah nama kolom:
mysql> CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author DESC)

perintah ALTER untuk menambahkan dan drop INDEKS:

Ada empat jenis laporan untuk menambahkan indeks untuk tabel:
  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): Pernyataan ini menambahkan PRIMARY KEY, yang berarti bahwa nilai-nilai diindeks harus unik dan tidak dapat menjadi NULL.
  • ALTER TABLE ADD UNIQUE tbl_name nama_index (column_list): Pernyataan ini membuat index yang nilai harus unik (dengan pengecualian nilai NULL, yang mungkin muncul beberapa kali).
  • ALTER TABLE ADD INDEX nama_index tbl_name (column_list): ini menambahkan indeks biasa di mana nilai apapun mungkin muncul lebih dari sekali.
  • ALTER TABLE ADD FULLTEXT tbl_name nama_index (column_list): ini menciptakan indeks FULLTEXT khusus yang digunakan untuk teks-mencari tujuan.
Berikut adalah contoh untuk menambahkan indeks dalam tabel yang ada.
mysql> ALTER TABLE testalter_tbl ADD INDEX (c);
Anda dapat drop INDEKS saja dengan menggunakan klausa DROP bersama dengan perintah ALTER.Coba contoh berikut untuk drop di atas indeks dibuat.
mysql> ALTER TABLE testalter_tbl DROP INDEX (c);
Anda dapat drop INDEKS saja dengan menggunakan klausa DROP bersama dengan perintah ALTER. Coba contoh berikut untuk drop di atas x. merdeka dibuat

Perintah ALTER untuk menambah dan drop PRIMARY KEY:

Anda dapat menambahkan kunci utama juga dalam cara yang sama. Tapi pastikan Primary Key bekerja pada kolom yang NOTNULL.
Berikut adalah contoh untuk menambahkan kunci utama dalam tabel yang adaIni akan membuat sebuah kolom NOT NULL pertama dan kemudian menambahkannya sebagai kunci primer.
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
Anda dapat menggunakan perintah ALTER untuk menjatuhkan primary key sebagai berikut:
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
Untuk mengurangi indeks yang tidak PRIMARY KEY, Anda harus menentukan nama indeks.

Menampilkan Informasi INDEKS:

Anda dapat menggunakan perintah SHOW INDEX ke daftar semua indeks yang terkait dengan meja.Vertikal-format output (ditentukan oleh \ G) sering berguna dengan pernyataan ini, untuk menghindari sampul garis panjang:
Coba contoh :

mysql> SHOW INDEX FROM table_name\G
……..j






27. MySQL Temporary Tables


Tabel sementara bisa sangat berguna dalam beberapa kasus untuk menyimpan data sementara. Yang paling penting yang harus tahu untuk tabel sementara adalah bahwa mereka akan dihapus ketika sesi klien saat ini berakhir.
Temporary tables where added in MySQL version 3.23. Tabel sementara dimana ditambahkan di MySQL versi 3,23. Jika Anda menggunakan versi lama dari MySQL dari 3,23 Anda tidak dapat menggunakan tabel sementara, namun Anda dapat menggunakan tabel tumpukan.
Tabel sebelumnya sementara seperti yang dinyatakan hanya akan berlangsung selama sesi hidup. Jika Anda menjalankan kode dalam naskah PHP, tabel sementara akan hancur secara otomatis ketika script selesai mengeksekusiJika anda terhubung ke server database MySQL melalui program klien MySQL, maka tabel sementara akan ada sampai Anda menutup klien atau secara manual menghancurkan meja.

Contoh

Berikut adalah contoh yang menunjukkan Anda penggunaan tabel sementara. Kode yang sama dapat digunakan dalam skrip PHP menggunakan mysql_query () fungsi.
mysql> CREATE TEMPORARY TABLE SalesSummary (
    -> product_name VARCHAR(50) NOT NULL
    -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
    -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
    -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO SalesSummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> VALUES
    -> ('cucumber', 100.25, 90, 2);

mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)
Ketika Anda mengeluarkan perintah SHOW TABLES maka tabel sementara Anda tidak akan tercantum dalam daftar.Sekarang jika Anda akan log out dari sesi MySQL dan kemudian Anda akan mengeluarkan perintah SELECT maka Anda akan menemukan tidak ada data yang tersedia dalam database.Bahkan tabel sementara Anda juga akan tidak ada.

Menjatuhkan Tabel Temporary:

Secara default semua tabel sementara akan dihapus oleh MySQL ketika koneksi database Anda akan berakhir.Masih Anda ingin menghapus mereka di antara maka Anda melakukannya dengan mengeluarkan perintah DROP TABLE.
Berikut ini adalah contoh di meja temproary menjatuhkan.
mysql> CREATE TEMPORARY TABLE SalesSummary (
    -> product_name VARCHAR(50) NOT NULL
    -> , total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00
    -> , avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00
    -> , total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO SalesSummary
    -> (product_name, total_sales, avg_unit_price, total_units_sold)
    -> VALUES
    -> ('cucumber', 100.25, 90, 2);

mysql> SELECT * FROM SalesSummary;
+--------------+-------------+----------------+------------------+
| product_name | total_sales | avg_unit_price | total_units_sold |
+--------------+-------------+----------------+------------------+
| cucumber     |      100.25 |          90.00 |                2 |
+--------------+-------------+----------------+------------------+
1 row in set (0.00 sec)
mysql> DROP TABLE SalesSummary;
mysql>  SELECT * FROM SalesSummary;
ERROR 1146: Table 'TUTORIALS.SalesSummary' doesn't exist


                                   SELAMAT  BELAJAR !!!!!!



 

 




 







Tidak ada komentar:

Posting Komentar