Belajar MySQL Part 17 : Menampilkan Data dari Table MySQL (SELECT)
Pada tutorial kali ini kita akan membahas cara menampilkan data dari tabel MySQL dengan query SELECT. Perintah SELECT akan dibahas secara lengkap dengan opsi query WHERE, ORDER BY, dan LIMIT.
Menampilkan data dari sebuah tabel merupakan hal paling sering kita lakukan dalam menangani database. Pembuatan tabel MySQL hanya perlu di lakukan sekali di awal implementasi, namun input data (INSERT) dan menampilkannya kembali (SELECT) dalam format yang diinginkan merupakan rutinitas selama database masih digunakan.
Mempersiapkan Tabel Contoh: mata_kuliah dan daftar_dosen
Karena pembahasan query SELECT memiliki banyak variasi yang membuatnya memiliki banyak fitur, dalam tutorial kali ini saya akan membuat 2 buah tabel dengan nama mata_kuliah dan daftar_dosen. Tabel ini juga akan digunakan untuk beberapa tutorial selanjutnya.
Berikut adalah query yang digunakan untuk merancang tabel mata_kuliah dan daftar_dosen:
Berikutnya adalah mengisi tabel tersebut dengan data sample. Dalam contoh ini saya menggunakan data sample seperti pada tabel dibawah ini:
Data input untuk table daftar_dosen :
Data Input untuk tabel mata_kuliah :
Anda boleh menginputnya satu per satu dengan perintah INSERT seperti yang telah kita pelajari pada Tutorial Cara Menambahkan data ke dalam Tabel dengan query INSERT, tetapi saya juga menyediakan file text untuk diinput melalui query LOAD DATA INFILE, seperti pada Tutorial Menambahkan data dari File (LOAD DATA INFILE), file text tersebut dapat diambil dari link berikut: sample data tabel daftar_dosen dan mata_kuliah.
Khusus untuk yang mencoba meninput data melalui perintah LOAD DATA INFILE, berikut query yang diperlukan (saya berasumsi anda meletakkan file mata_kuliah.txt dan daftar_dosen.txt pada folder /home/forbidden/ )
Format Dasar Penulisan query SELECT
Biasanya pada saat ingin menampilkan data, kita butuh setidaknya 3 hal:
Query SELECT pada dasarnya juga terdiri dari 3 hal tersebut. Berikut adalah format dasar penulisan query SELECT:
Ketiga faktor tersebut akan kita bahas dalam tutorial kali ini, dan karena kebutuhan menampilkan data sangat beragam, MySQL memiliki banyak opsi yang dapat digunakan, berikut adalah format dasar query SELECT yang saya ambil dari manual MySQL:
Seperti yang anda lihat, MySQL menyediakan banyak sekali perintah opsional yang dapat dipilih untuk membantu kita menampilkan data dari database. Sebagian besar kita tidak akan membutuhkan kebanyakan opsi tersebut, namun setidaknya MySQL menyediakan banyak pilihan untuk menampilkan hasil query SELECT. Kita akan membahas beberapa diantaranya.
Cara Menampilkan Seluruh isi Table MySQL
Mungkin inilah query SELECT yang paling mudah diingat dan paling populer, yaitu bagaimana cara menampilkan seluruh data dari sebuah tabel.
Format dasar query select untuk menampilkan seluruh isi tabel adalah sebagai berikut:
Tanda bintang (*) adalah wildcard sebagai pengganti ‘pilih semua kolom‘.
Sebagai contoh, berikut adalah query untuk menampilkan seluruh isi tabel daftar_dosen :
Cara Menampilkan Kolom Tertentu dari Tabel MySQL (SELECT ... FROM)
Jika kita ingin menampilkan hanya sebahagian kolom saja dari dalam tabel, kita dapat menentukan kolom mana saja yang akan ditampilkan.
Format dasarnya adalah sebagai berikut:
nama_kolom1 dan nama_kolom2 adalah nama kolom yang ingin kita tampilkan. Misalkan kita ingin menampilkan kolom nama_dosen dan alamat dari tabel daftar_dosen, maka querynya adalah sebagai berikut:
Cara Meyeleksi data dari Table MySQL (SELECT .. WHERE .. )
Jika kita ingin menampilkan hanya data yang memenuhi kriteria tertentu saja, maka hal ini dapat dilakukan dengan menambahkan perintah WHERE pada query SELECT.
Kondisi WHERE pada perintah SELECT digunakan untuk menyeleksi data yang diinginkan, sedangkan data yang tidak memenuhi kriteria, tidak akan ditampilkan.
Format dasar query SELECT…WHERE adalah:
Kondisi WHERE sangat fleksibel dan kita juga bisa menggunakan kondisi operasi slain eperti lebih besar (>), lebih kecil (<), tidak sama (<>), dan lain-lain. List lengkap dari penggunaan kondisi yang dapat digunakan pada SELECT…WHERE adalah:
Contohnya jika kita ingin menampilkan seluruh mata kuliah yang diajarkan di semester 4 keatas, maka querynya adalah:
Penggabungan beberapa kondisi juga dapat dilakukan, contohnya kita ingin menampilkan seluruh mata kuliah dengan jumlah SKS=2 dan diajarkan pada semester dibawah 5 , maka querynya :
Cara Mengurutkan Hasil Tampilan data MySQL (SELECT ... ORDER BY)
MySQL menyediakan perintah opsional ORDER BY untuk mengurutkan data yang di hasilkan , Querydasar untuk SELECT ... ORDER BY adalah :
nama_kolom_urut adalah kolom yang akan kita ututkan. Pengurutan bisa dari paling kecil ke besar, ataupun besar ke kecil. Pilihan ini dapat diatur dengan penambahan instruksi ASC (singkatan dari ascending) untuk pengurutan dari kecil ke besar, dan DESC (singkatan dari descending) untuk urutan dari besar ke kecil. Jika tidak di dijelaskan, secara default bawaan MySQL perintah ORDER BY akan menggunakan ASC.
Contohnya jika kita menginginkan tampilan mata kuliah dengan jumlah SKS lebih dari 2 secara berurutan dari yang paling kecil, maka querynya:
Jika kita ingin menampilkan seluruh dosen pada tabel daftar_dosen dan diurutan kolom alamat secara abjad, maka querynya adalah sebagai berikut:
Cara Membatasi Hasil query SELECT (SELECT…LIMIT)
MySQL Menyediakan pilihan opsional LIMIT untuk membatasi hasil query SELECT,Format dasar query SELECT ... LIMIT adalah sebagai berikut :
Jika kita hanya memberikan 1 angka saja di belakang instruksi LIMIT, maka MySQL menganggap bahwa angka dihitung dari baris teratas (baris ke 0). Contohnya jika kita ingin menampilkan 5 baris teratas mata kuliah yang diurutkan berdasarkan nama, maka querynya:
Keterangan !
Dalam Tutorial MySQL cara menampilkan data dari tabel ini kita telah membahas query dasar SELECT. Query SELECT masih memiliki banyak perintah-perintah lain yang digunakan untuk mendapatkan hasil yang lebih spesifik. Kita akan membahasnya dalam tutorial-tutorial MySQL lain. Salah satunya adalah menampilkan hasil pencarian di dalam MySQL dengan query LIKE. Kita akan membahas ini dalam tutorial selanjutnya.
Menampilkan data dari sebuah tabel merupakan hal paling sering kita lakukan dalam menangani database. Pembuatan tabel MySQL hanya perlu di lakukan sekali di awal implementasi, namun input data (INSERT) dan menampilkannya kembali (SELECT) dalam format yang diinginkan merupakan rutinitas selama database masih digunakan.
Mempersiapkan Tabel Contoh: mata_kuliah dan daftar_dosen
Karena pembahasan query SELECT memiliki banyak variasi yang membuatnya memiliki banyak fitur, dalam tutorial kali ini saya akan membuat 2 buah tabel dengan nama mata_kuliah dan daftar_dosen. Tabel ini juga akan digunakan untuk beberapa tutorial selanjutnya.
Berikut adalah query yang digunakan untuk merancang tabel mata_kuliah dan daftar_dosen:
Berikutnya adalah mengisi tabel tersebut dengan data sample. Dalam contoh ini saya menggunakan data sample seperti pada tabel dibawah ini:
Data input untuk table daftar_dosen :
Data Input untuk tabel mata_kuliah :
Anda boleh menginputnya satu per satu dengan perintah INSERT seperti yang telah kita pelajari pada Tutorial Cara Menambahkan data ke dalam Tabel dengan query INSERT, tetapi saya juga menyediakan file text untuk diinput melalui query LOAD DATA INFILE, seperti pada Tutorial Menambahkan data dari File (LOAD DATA INFILE), file text tersebut dapat diambil dari link berikut: sample data tabel daftar_dosen dan mata_kuliah.
Khusus untuk yang mencoba meninput data melalui perintah LOAD DATA INFILE, berikut query yang diperlukan (saya berasumsi anda meletakkan file mata_kuliah.txt dan daftar_dosen.txt pada folder /home/forbidden/ )
Format Dasar Penulisan query SELECT
Biasanya pada saat ingin menampilkan data, kita butuh setidaknya 3 hal:
- Apa saja kolom yang ingin ditampilkan.
- Nama tabel yang akan ditampilkan.
- Kondisi untuk menampilkan data.
Query SELECT pada dasarnya juga terdiri dari 3 hal tersebut. Berikut adalah format dasar penulisan query SELECT:
SELECT apa_yang_akan_ditampilkan FROM tabel_apa WHERE kondisi_apa_data_ditampilkan;
Ketiga faktor tersebut akan kita bahas dalam tutorial kali ini, dan karena kebutuhan menampilkan data sangat beragam, MySQL memiliki banyak opsi yang dapat digunakan, berikut adalah format dasar query SELECT yang saya ambil dari manual MySQL:
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
Seperti yang anda lihat, MySQL menyediakan banyak sekali perintah opsional yang dapat dipilih untuk membantu kita menampilkan data dari database. Sebagian besar kita tidak akan membutuhkan kebanyakan opsi tersebut, namun setidaknya MySQL menyediakan banyak pilihan untuk menampilkan hasil query SELECT. Kita akan membahas beberapa diantaranya.
Cara Menampilkan Seluruh isi Table MySQL
Mungkin inilah query SELECT yang paling mudah diingat dan paling populer, yaitu bagaimana cara menampilkan seluruh data dari sebuah tabel.
Format dasar query select untuk menampilkan seluruh isi tabel adalah sebagai berikut:
SELECT * FROM nama_table;
Tanda bintang (*) adalah wildcard sebagai pengganti ‘pilih semua kolom‘.
Sebagai contoh, berikut adalah query untuk menampilkan seluruh isi tabel daftar_dosen :
Cara Menampilkan Kolom Tertentu dari Tabel MySQL (SELECT ... FROM)
Jika kita ingin menampilkan hanya sebahagian kolom saja dari dalam tabel, kita dapat menentukan kolom mana saja yang akan ditampilkan.
Format dasarnya adalah sebagai berikut:
SELECT nama_kolom1, nama_kolom2,... FROM nama_tabel
nama_kolom1 dan nama_kolom2 adalah nama kolom yang ingin kita tampilkan. Misalkan kita ingin menampilkan kolom nama_dosen dan alamat dari tabel daftar_dosen, maka querynya adalah sebagai berikut:
Cara Meyeleksi data dari Table MySQL (SELECT .. WHERE .. )
Jika kita ingin menampilkan hanya data yang memenuhi kriteria tertentu saja, maka hal ini dapat dilakukan dengan menambahkan perintah WHERE pada query SELECT.
Kondisi WHERE pada perintah SELECT digunakan untuk menyeleksi data yang diinginkan, sedangkan data yang tidak memenuhi kriteria, tidak akan ditampilkan.
Format dasar query SELECT…WHERE adalah:
SELECT nama_kolom1, nama_kolom2,... FROM nama_tabel WHERE kondisiContohnya untuk menampilkan data dosen yang beralamat di Padang, dapat menggunakan query berikut:
Kondisi WHERE sangat fleksibel dan kita juga bisa menggunakan kondisi operasi slain eperti lebih besar (>), lebih kecil (<), tidak sama (<>), dan lain-lain. List lengkap dari penggunaan kondisi yang dapat digunakan pada SELECT…WHERE adalah:
Operasi Aritmatik
Operasi Logika
Operasi Perbandingan
Contohnya jika kita ingin menampilkan seluruh mata kuliah yang diajarkan di semester 4 keatas, maka querynya adalah:
Penggabungan beberapa kondisi juga dapat dilakukan, contohnya kita ingin menampilkan seluruh mata kuliah dengan jumlah SKS=2 dan diajarkan pada semester dibawah 5 , maka querynya :
SELECT * FROM mata_kuliah WHERE jumlah_SKS=2 AND semester < 5;
Cara Mengurutkan Hasil Tampilan data MySQL (SELECT ... ORDER BY)
MySQL menyediakan perintah opsional ORDER BY untuk mengurutkan data yang di hasilkan , Querydasar untuk SELECT ... ORDER BY adalah :
SELECT nama_kolom1,... FROM nama_tabel WHERE kondisi ORDER BY nama_kolom_urut
nama_kolom_urut adalah kolom yang akan kita ututkan. Pengurutan bisa dari paling kecil ke besar, ataupun besar ke kecil. Pilihan ini dapat diatur dengan penambahan instruksi ASC (singkatan dari ascending) untuk pengurutan dari kecil ke besar, dan DESC (singkatan dari descending) untuk urutan dari besar ke kecil. Jika tidak di dijelaskan, secara default bawaan MySQL perintah ORDER BY akan menggunakan ASC.
Contohnya jika kita menginginkan tampilan mata kuliah dengan jumlah SKS lebih dari 2 secara berurutan dari yang paling kecil, maka querynya:
SELECT * FROM mata_kuliah WHERE jumlah_SKS > 2 ORDER BY jumlah_SKS;
Jika kita ingin menampilkan seluruh dosen pada tabel daftar_dosen dan diurutan kolom alamat secara abjad, maka querynya adalah sebagai berikut:
SELECT * FROM daftar_dosen ORDER BY alamat ASC;
Cara Membatasi Hasil query SELECT (SELECT…LIMIT)
MySQL Menyediakan pilihan opsional LIMIT untuk membatasi hasil query SELECT,Format dasar query SELECT ... LIMIT adalah sebagai berikut :
SELECT nama_kolom1 FROM nama_tabel WHERE kondisi LIMIT baris_awal, jumlah_baris
Dimana baris_awal adalah awal nomor baris yang ingin ditampilkan, dan jumlah_baris adalah jumlah baris yang diurutkan dari baris_awal. Nomor baris pada MySQL diawali dengan nomor 0.
Misalkan kita ingin menampilkan data 3 nama dosen paling atas yang dirutkan berdasarkan nama, maka querynya adalah:
SELECT * FROM daftar_dosen ORDER BY nama_dosen ASC LIMIT 0,3;
Jika kita hanya memberikan 1 angka saja di belakang instruksi LIMIT, maka MySQL menganggap bahwa angka dihitung dari baris teratas (baris ke 0). Contohnya jika kita ingin menampilkan 5 baris teratas mata kuliah yang diurutkan berdasarkan nama, maka querynya:
SELECT * FROM mata_kuliah ORDER BY nama_matkul LIMIT 5 ;
Keterangan !
Dalam Tutorial MySQL cara menampilkan data dari tabel ini kita telah membahas query dasar SELECT. Query SELECT masih memiliki banyak perintah-perintah lain yang digunakan untuk mendapatkan hasil yang lebih spesifik. Kita akan membahasnya dalam tutorial-tutorial MySQL lain. Salah satunya adalah menampilkan hasil pencarian di dalam MySQL dengan query LIKE. Kita akan membahas ini dalam tutorial selanjutnya.
No comments