Sabtu, 20 November 2010

Penulisan My SQL

PENULISAN MY SQL
 

Dasar SQL Query
SQL (Structured Query Language) adalah bahasa yang khusus digunakan untuk mengoperasikan database. Untuk memudahkan pelajaran, SQL query akan dikelompokkan menjadi tiga:
a. Query untuk mengelola database
b. Query untuk mengakses data dalam satu tabel
c. Query yang melibatkan lebih dari satu tabel
Query pengelolaan database
Yang termasuk ke dalam kelompok ini adalah query yang bertujuan untuk:
a. Membuat database
b. Menghapus database
c. Membuat tabel
d. Memodifikasi tabel
e. Menghapus tabel
f. Menambah user
g. Mengatur permission
h. Menghapus user

Membuat database dilakukan dengan perintah sebagai berikut :
CREATE DATABASE

Contohnya : untuk aplikasi Content Management, kita akan membuat atabase ContentManager dengan query sebagai berikut :
CREATE DATABASE ContactManager

Menghapus database dilakukan dengan perintah :
DROP DATABASE
Contoh :
DROP DATABASE ContactManager

Membuat tabel dilakukan dengan memberikan perintah sebagai berikut:
CREATE TABLE (
,
,
……………………………….,

);

Contohnya:
CREATE TABLE userTable(
UserId INT (3),
UserName VARCHAR (50),
Password VARCHAR (50),
NamaLengkap VARCHAR (50)
);

Menghapus tabel dilakukan dengan menggunakan query
DROP TABLE ;


Contoh :
DROP TABLE userTable;


Query satu tabel
Query satu tabel digunakan untuk mengelola data dalam satu tabel. Berapa hal yang dapat dilakukan pada satu tabel adalah :
Tujuan Query
Memasukkan data
Memodifikasi data
Mengambil data
Menghapus data
Menghitung banyaknya data
Menghitung penjumlahan data
Menghitung nilai minimal
Menghitung nilai maksimal
Menghitung nilai rata-rata INSERT
UPDATE
SELECT
DELETE
COUNT
SUM
MIN
MAX
AVG


Untuk memasukkan data ke dalam database, kita menggunakan perintah INSERT. Aturan penulisannya adalah :
INSERT INTO (, < nama kolom
1>, ..)
VALUES (, , ..);

Contoh :
INSERT INTO userTable VALUES (
1,
'agus',
'inipaswod',
'Agus Pratondo'
);


Untuk mengubah data dalam database, digunakan perintah UPDATE, dengan aturan penulisan sebagai berikut :
UPDATE
SET =
WHERE


Contoh :
UPDATE userTable
SET password=’test’
WHERE UserName=’agus’


Untuk menampilkan data dalam tabel, gunakan perintah SELECT. Aturan penulisannya adalah sebagai berikut:
SELECT
FROM
WHERE




Contoh : 
SELECT *
FROM UserTable
WHERE UserId=1


Untuk menghapus data dari dalam tabel, gunakan perintah DELETE. Aturan penulisannya adalah :
DELETE FROM WHERE


Contoh :
DELETE FROM UserTable
WHERE NamaLengkap=’Agus Pratondo’


Query banyak tabel
Query banyak tabel digunakan untuk menghubungkan data di lebih dari satu database. Pembahasan tentang join berada di luar materi PHP Programming dan ada di pembahasan tentang relational database.

11.2 Membuat koneksi ke database
Sebelum mulai, kita terlebih dahulu akan membuat database. Kita membutuhkan tabel user untuk menyimpan data sebagai berikut :
Nama Field Tipe Data
UserId
UserName
Password
NamaLengkap int(3)
varchar(50)
varchar(50)
varchar(50)

Tabel dibuat dengan memberikan query sebagai berikut:
CREATE TABLE userTable(
UserId INT (3) AUTO_INCREMENT PRIMARY KEY,
UserName VARCHAR (50),
Password VARCHAR (50),
NamaLengkap VARCHAR (50)
);

tabel siap digunakan.
Kita akan mulai dengan halaman daftar, karena kita belum punya user. File register.php akan menangani pendaftaran user baru. Tugasnya adalah memasukkan data yang diisi dalam form ke dalam database. Selanjutnya, kita akan melakukan langkah-langkah seperti yang disebutkan di atas.

Membuka sambungan dengan database server
Untuk membuka sambungan, kita membutuhkan alamat server serta username dan password untuk database.
Setelah itu, kita membuka sambungan dengan perintah sebagai berikut :
$dbServer = "localhost";
$dbUser = "agus";
$dbPass = "test";
$dbConn = mysql_pconnect($dbServer, $dbUser, $dbPass);

sambungan dengan database disimpan dalam variabel $dbConn untuk digunakan pada langkah-langkah selanjutnya.
Memilih dan membuka database yang diinginkan
Selanjutnya, kita akan menggunakan database tutorial, yang sebelumnya telah dibuat dengan menggunakan PHPMyAdmin. Gunakan kode berikut untuk memilih dan membuka database phpTutorial.
$dbName = "phpTutorial";
mysql_select_db($dbName);

sekarang database telah siap untuk digunakan. Kita dapat melangkah ke tahap selanjutnya, yaitu memasukkan data.

Mengirim perintah untuk mengambil / mengubah / menghapus
data.
Perintah untuk memasukkan data dibuat dengan menggunakan aturan SQL, dijelaskan lebih lengkap pada bagian selanjutnya. Query (perintah) untuk memasukkan data adalah :
INSERT INTO userTable VALUES (
1,
'agus',
'inipaswod',
'Agus Pratondo'
);

perintah tersebut dieksekusi di dalam script PHP sebagai berikut :

$query = "
INSERT INTO userTable VALUES (
1,
'agus',
'inipaswod',
'Agus Pratondo'
);
";
$hasil = mysql_query($query);
if($hasil){
echo(mysql_affected_rows()." orang ditambahkan ke dalam
sistem");
}

Script kita harus mengambil data dari HTML Form (register.htm) dan memasukkannya ke dalam database. Untuk itu, kita akan membuat file register.php yang berisi kode sebagai berikut :
$dbServer = "localhost";
$dbUser = "agus";
$dbPass = "test";
$dbConn = mysql_pconnect($dbServer, $dbUser, $dbPass);
$dbName = "phpTutorial";
mysql_select_db($dbName);
$query = "
INSERT INTO userTable
(UserName, Password, NamaLengkap)
VALUES (
'$user',
'$pass',
'$namaLengkap'
);
";
$hasil = mysql_query($query);
if($hasil){
echo(mysql_affected_rows()." orang ditambahkan ke dalam
sistem");
}
?>

11.3 Mengakses hasil query
Setelah register.htm dieksekusi dengan sukses, kita telah memiliki satu user dalam database. Dengan demikian, kita dapat menguji halaman login yang telah kita buat. Untuk itu, kita perlu mengakses data dalam database dan mencocokkannya dengan input yang diberikan user.
Langkah-langkah untuk mengakses data dalam database adalah :
 Membuat sambungan database
 Memilih database
 Membuat query
 Menjalankan query
 Mengambil hasilnya
 Memproses hasil
Query yang akan digunakan adalah :
SELECT * FROM UserTable WHERE userName=’input dari user’


Query ini akan dimasukkan ke dalam script menjadi :
$query = SELECT * FROM UserTable WHERE userName=’$login’


Dan dieksekusi dengan kode :
$hasil = mysql_query($query);


Bila userName yang diinputkan user tidak ada dalam database, query akan mengembalikan 0 (nol) baris hasil. Bila ada, query akan menghasilkan array yang berisi data pada masingmasing kolom dalam database.
Untuk mengetahui jumlah hasil yang didapat dari query, digunakan kode
sebagai berikut:
$jumlahHasil = mysql_num_rows($hasil);

Apabila hasilnya tidak nol (berarti username telah terdaftar dalam sistem), kita akan mengambil data password. Untuk itu, kita gunakan perintah:
$data = mysql_fetch_array($hasil);


data password ada dalam array, diakses dengan cara :
$passDb = $data[‘Password’];


Dengan demikian, keseluruhan script login.php akan menjadi :

// variabel yang diperlukan untuk akses database
$user = "agus";
$pass = "test";
$db = "ContentManager";
$server = "localhost";
// membuat koneksi
$koneksi = mysql_connect($server, $user, $pass);
// memeriksa koneksi
if(!$koneksi){
echo("Koneksi ke database gagal");
exit;
}
// membuka database
mysql_select_db($db);
// membuat query
$query = "SELECT * FROM userTable WHERE
userName='".$login."'";
// mengeksekusi query
$hasil = mysql_query($query);
// mengakses hasil
$jumlahHasil = mysql_num_rows($hasil);
if($jumlahHasil < 1){
echo("User $login tidak ada dalam database
");
}else{
echo("User $login ada dalam database
");
$data = mysql_fetch_array($hasil);
$passwordAsli = $data["password"];
if($password == $passwordAsli){
echo("Password untuk user $login benar
");
}else{
echo("Password untuk user $login salah
");
}
?>

Tidak ada komentar:

Posting Komentar