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,
Contoh:
Berikut adalah contoh untuk memilih tutorial database yang disebut:
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.
contoh:
Berikut adalah contoh yang menghapus tutorials_tbl:
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.
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>
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.
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:
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:
contoh:
Coba contoh berikut untuk menghapus database:
Sekarang kita akan membuat tabel dalam database tutorial berikut.
Berikut beberapa item perlu penjelasan:
Contoh:
Berikut adalah contoh yang menciptakan tutorials_tbl:
CATATAN: MySQL tidak mengakhiri perintah sampai Anda memberikan titik koma (;) pada akhir perintah SQL.
Contoh:
Berikut adalah contoh untuk membuat tabel menggunakan script PHP:
Aktifkan javascript browser anda bos!
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:
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!
Sekarang kita akan membuat tabel dalam database tutorial berikut.
Berikut beberapa item perlu penjelasan:
Contoh:
Berikut adalah contoh yang menciptakan tutorials_tbl:
CATATAN: MySQL tidak mengakhiri perintah sampai Anda memberikan titik koma (;) pada akhir perintah SQL.
Contoh:
Berikut adalah contoh untuk membuat tabel menggunakan script PHP:
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);
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 )
);
- 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.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>
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
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
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.
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:
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:
contoh:
Coba contoh berikut untuk membuat database:
Aktifkan javascript browser anda bos!
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.
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:
Ini akan membuat tutorial database MySQL.[root@host]# mysqladmin -u root -p create TUTORIALS Enter password:******
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. |
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>
6. Tutorial MySQL Insert Query
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.
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:
Ini akan memberi Anda peringatan dan akan mengkonfirmasi jika Anda benar-benar ingin menghapus ini database atau tidak.[root@host]# mysqladmin -u root -p drop TUTORIALS Enter password:******
Jatuhkan Database menggunakan PHP Script: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
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. |
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);
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 )
);
- 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.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>
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
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 .
Contoh:
Contoh berikut akan mengembalikan semua catatan dari meja yang tutorials_tbl nama penulis berakhir dengan jay :
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 :
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
Untuk mencari kolom yang NULL atau tidak, menggunakan IS NULL atau IS NOT NULL.
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.
Query untuk menemukan semua nama dimulai dengan ‘st’
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
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:
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.
Gunakan REPLACE bukan INSERT. Jika catatan yang baru, itu dimasukkan hanya sebagai dengan INSERT.
Jika itu duplikat, catatan baru menggantikan yang lama:
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.
Query ini akan mengembalikan daftar semua duplikat catatan dalam tabel person_tbl.
Secara umum, untuk mengidentifikasi set nilai-nilai yang diduplikasi, lakukan hal berikut:
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:
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.
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.
Untuk menunjukkan masalah, pertimbangkan kutipan ini:
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.
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_tblContoh:
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
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
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:Anda dapat melihat bahwa = dan = tidak bekerja dengan nilai-nilai NULL sebagai 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>
Untuk menemukan catatan di mana kolom tutorial_count atau tidak NULL, pertanyaan harus ditulis seperti ini: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)
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
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’
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 person_tbl MANA 'ok $' nama regexp;
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.
Anda dapat mengeksekusi perintah SQL ini di PHP dengan menggunakan mysql_query () fungsi.
Anda dapat mengeksekusi perintah SQL ini di PHP dengan menggunakan mysql_query () fungsi.
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:
Anda dapat menggunakan tabel jenis lain seperti GEMINI atau BDB tapi itu tergantung pada instalasi Anda jika mendukung kedua jenis.
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:
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.
contoh:
Contoh berikut akan mengembalikan semua catatan dari meja yang tutorials_tbl nama penulis adalah Sanjay:root@host# mysql -u root -p password;
contoh:
Contoh berikut akan mengembalikan semua catatan dari meja yang tutorials_tbl nama penulis adalah Sanjay:
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 .
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.
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 :
Setelah mengeluarkan query yang menghasilkan nilai AUTO_INCREMENT, mengambil nilai dengan memanggil mysql_insert_id () :
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 :
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.
Berikut ini adalah sintaks SQL generik perintah UPDATE untuk mengubah data ke dalam tabel MySQL:
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.
Aktifkan javascript browser anda bos!
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.
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
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); ?>
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.
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 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.
- Mulai transaksi dengan menerbitkan perintah SQL BEGIN BEKERJA
- Masalah satu atau lebih perintah SQL seperti SELECT, INSERT, UPDATE atau DELETE
- Periksa apakah ada kesalahan ada dan semuanya sesuai dengan kebutuhan Anda.
- 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:
Periksa link berikut untuk tahu lebih banyak tentang: InnoDBroot @ 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)
Anda dapat menggunakan tabel jenis lain seperti GEMINI atau BDB tapi itu tergantung pada instalasi Anda jika mendukung kedua jenis.
14. Tutorial MySQL Where
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…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.
[WHERE condition1 [AND [OR]] condition2…..
- 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.
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_tblcontoh:
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;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.
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>
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
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 :
PHP Contoh :$dbh->do ("INSERT INTO insect (name,date,origin) VALUES('moth','2001-09-14','windowsill')"); my $seq = $dbh->{mysql_insertid};
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.Atau, Anda dapat membuat tabel dan kemudian menetapkan nilai urutan awal dengan ALTER TABLE.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 );
mysql> ALTER TABLE t AUTO_INCREMENT = 100;
Aktifkan javascript browser anda bos!
16. Tutorial MySQ Update Query
sintaks:UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
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.
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 .
Contoh:
Coba contoh berikut :
Contoh:
Coba contoh berikut :
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:
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 :
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.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>
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:
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.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)
18. Tutorial MySQ Delete Query
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.
Menghapus Data dari Command Prompt:
Hal ini akan menggunakan perintah SQL DELETE dengan klausa WHERE untuk menghapus data yang dipilih ke MySQL tabel tutorials_tblContoh:
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
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
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
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_nameCREATE TABLE person_tbl
(
first_name CHAR(20),
last_name CHAR(20),
sex CHAR(10)
);
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)
);
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)
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 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;
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;
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;
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
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.
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”;
}
// supposed input
$name = “Qadir’; DELETE FROM users;”;
mysql_query(“SELECT * FROM users WHERE name=’{$name}’”);
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
Misalkan Anda ingin drop kolom yang ada saya dari atas tabel MySQL maka Anda akan menggunakan klausa DROP bersama dengan perintah ALTER sebagai berikut
Untuk menambahkan kolom, gunakan ADD dan menentukan definisi kolom.Pernyataan berikut mengembalikan kolom i ke testalter_tbl
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.
Untuk mengetahui jenis saat tabel, gunakan pernyataan SHOW TABLE STATUS.
Aktifkan javascript browser anda bos!
Cara termudah mengekspor data tabel ke file teks menggunakan
SELECT … INTO OUTFILE bahwa ekspor hasil query langsung ke file pada
server host.
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:
SELECT … INTO OUTFILE memiliki properti berikut:
Ini akan membuat konten file memiliki sebagai berikut:
Untuk dump beberapa tabel, nama mereka semua mengikuti argumen nama database. Untuk dump seluruh database,
jangan nama apapun tabel setelah database sebagai berikut:
Jalankan perintah berikut pada host sumber. Ini akan dump database lengkap ke file dump.txt:
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.
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:
Mari kita mulai dengan membuat tabel yang disebut testalter_tbl
Menjatuhkan, Menambah, atau Reposisi Kolom: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)
Misalkan Anda ingin drop kolom yang ada saya dari atas tabel MySQL maka Anda akan menggunakan klausa DROP bersama dengan perintah ALTER sebagai berikut
DROP A tidak akan bekerja jika kolom adalah satu-satunya yang tersisa di meja.mysql> ALTER TABLE testalter_tbl DROP i;
Untuk menambahkan kolom, gunakan ADD dan menentukan definisi kolom.Pernyataan berikut mengembalikan kolom i ke testalter_tbl
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> ALTER TABLE testalter_tbl ADD i INT;
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: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)
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.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;
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: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 MODIFY c CHAR(10);
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 i j BIGINT;
Pengaruh ALTER TABLE pada Null dan Atribut Default Value:mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
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.
Jika Anda tidak menggunakan perintah di atas maka MySQL akan mengisi nilai-nilai NULL di semua kolom.mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
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_tblAnda dapat menggunakan perintah ALTER untuk membuat dan drop INDEKS pada file MySQL. Kita akan melihat fitur ini pada bab berikutnya.mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
Aktifkan javascript browser anda bos!
25. Tutorial Ekspor Database MySQL – Metode Cadangan
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’;
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’;
- 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 ******
– 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′);
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 *****
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 *****
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!
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.
Jika Anda ingin indeks nilai dalam sebuah kolom di urutan, Anda dapat menambahkan kata DESC dicadangkan setelah nama kolom:
Berikut adalah contoh untuk menambahkan kunci utama dalam tabel yang adaIni akan membuat sebuah kolom NOT NULL pertama dan kemudian menambahkannya sebagai kunci primer.
Coba contoh :
26. MySQL indexs
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 mejaAnda dapat menggunakan satu atau lebih kolom untuk membuat indeks.Sebagai contoh kita dapat membuat indeks pada tutorials_tbl menggunakan tutorial_authorCREATE UNIQUE INDEX index_name ON table_name ( column1, column2,...);
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.CREATE UNIQUE INDEX AUTHOR_INDEX ON tutorials_tbl (tutorial_author)
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.
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 ADD INDEX (c);
Anda dapat drop INDEKS saja dengan menggunakan klausa DROP bersama dengan perintah ALTER. Coba contoh berikut untuk drop di atas x. merdeka dibuatmysql> ALTER TABLE testalter_tbl DROP INDEX (c);
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.
Anda dapat menggunakan perintah ALTER untuk menjatuhkan primary key sebagai berikut:mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
Untuk mengurangi indeks yang tidak PRIMARY KEY, Anda harus menentukan nama indeks.mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
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.
Berikut ini adalah contoh di meja temproary menjatuhkan.
SELAMAT BELAJAR !!!!!!
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.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.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)
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