Pada tutorial kali ini kita akan membahas cara menampilkan data dari tabel MySQL dengan query SELECT. Perintah SELECT akan dibahas 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:
mysql> SHOW DATABASES; +--------------------+ | Database          | +--------------------+ | information_schema | | mahasiswa         | | mysql             | | performance_schema | | test              | +--------------------+ 5 rows in set (0.13 sec) mysql> USE mahasiswa; Database changed mysql> CREATE TABLE daftar_dosen (NIP CHAR(10) PRIMARY KEY, nama_dosen VARCHAR(50) NOT NULL, no_hp CHAR(13), alamat VARCHAR(100)); Query OK, 0 rows affected (0.10 sec) mysql> DESC daftar_dosen; +------------+--------------+------+-----+---------+-------+ | Field     | Type        | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+-------+ | NIP       | char(10)    | NO  | PRI | NULL   |      | | nama_dosen | varchar(50) | NO  |    | NULL   |      | | no_hp     | char(13)    | YES |    | NULL   |      | | alamat    | varchar(100) | YES |    | NULL   |      | +------------+--------------+------+-----+---------+-------+ 4 rows in set (0.08 sec) mysql> CREATE TABLE mata_kuliah (kode_matkul CHAR(6) PRIMARY KEY, nama_matkul VARCHAR(50) NOT NULL, jumlah_SKS TINYINT UNSIGNED DEFAULT '2', semester TINYINT,NIP_dosen CHAR(10)); Query OK, 0 rows affected (0.04 sec) mysql> DESC mata_kuliah; +-------------+---------------------+------+-----+---------+-------+ | Field      | Type               | Null | Key | Default | Extra | +-------------+---------------------+------+-----+---------+-------+ | kode_matkul | char(6)            | NO  | PRI | NULL   |      | | nama_matkul | varchar(50)        | NO  |    | NULL   |      | | jumlah_SKS | tinyint(3) unsigned | YES |    | 2      |      | | semester   | tinyint(4)         | YES |    | NULL   |      | | NIP_dosen  | char(10)           | YES |    | NULL   |      | +-------------+---------------------+------+-----+---------+-------+ 5 rows in set (0.00 sec)
Berikutnya adalah mengisi tabel tersebut dengan data sample. Dalam contoh ini saya menggunakan data sample seperti pada tabel dibawah ini:
Data input untuk tabel daftar_dosen:
NIP | Nama Dosen | No HP | Alamat |
---|---|---|---|
0160436012 | Sabrina Sari | 0812349900 | Pekanbaru |
0260432002 | Maya Ari Putri | 0812345234 | Palembang |
0275430005 | Susi Indriani | 0812656532 | Bogor |
0480432066 | Tia Santrini | 0812451177 | Padang |
0576431001 | M. Siddiq | 0812979005 | Jakarta |
0770435006 | Rubin Hadi | 0812567678 | Papua |
0869437003 | Mustalifah | 0812338877 | Aceh |
1080432007 | Arif Budiman | 0812456345 | Makasar |
Data input untuk tabel mata_kuliah:
Kode Mata Kuliah | Nama Matakuliah | Jumlah SKS | Semester | Nip Dosen |
---|---|---|---|---|
MATDAS | Matematika Dasar | 4 | 1 | 0160436012 |
FISDAS | Fisika Dasar | 2 | 1 | 0480432066 |
TEKKOM | Teknik Kompilasi | 2 | 6 | 0480432066 |
JARKOM | Jaringan Komputer | 3 | 3 | 0770435006 |
DTBASE | Database | 4 | 4 | 0275430005 |
SISOPR | Sistem Operasi | 2 | 4 | 0160436012 |
MIKROP | Mikro Prosesor | 2 | 5 | 0480432066 |
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.
Selain itu 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 menginput data melalui perintah LOAD DATA INFILE, berikut query yang diperlukan (saya berasumsi anda meletakkan file mata_kuliah.txt dan daftar_dosen.txt pada folder D:\MySQL )
mysql> LOAD DATA INFILE 'D:\\MySQL\\daftar_dosen.txt' INTO TABLE daftar_dosen FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; Query OK, 8 rows affected (0.06 sec) Records: 8 Deleted: 0 Skipped: 0 Warnings: 0 mysql> SELECT * FROM daftar_dosen; +------------+----------------+------------+-----------+ | NIP       | nama_dosen    | no_hp     | alamat   | +------------+----------------+------------+-----------+ | 0160436012 | Sabrina Sari  | 0812349900 | Pekanbaru | | 0260432002 | Maya Ari Putri | 0812345234 | Palembang | | 0275430005 | Susi Indriani | 0812656532 | Bogor    | | 0480432066 | Tia Santrini  | 0812451177 | Padang   | | 0576431001 | M. Siddiq     | 0812979005 | Jakarta  | | 0770435006 | Rubin Hadi    | 0812567678 | Papua    | | 0869437003 | Mustalifah    | 0812338877 | Aceh     | | 1080432007 | Arif Budiman   | 0812456345 | Makasar  | +------------+----------------+------------+-----------+ 8 rows in set (0.00 sec) mysql> LOAD DATA INFILE 'D:\\MySQL\\mata_kuliah.txt' INTO TABLE mata_kuliah FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; Query OK, 7 rows affected (0.04 sec) Records: 7 Deleted: 0 Skipped: 0 Warnings: 0 mysql> SELECT * FROM mata_kuliah; +-------------+-------------------+------------+----------+------------+ | kode_matkul | nama_matkul      | jumlah_SKS | semester | NIP_dosen | +-------------+-------------------+------------+----------+------------+ | DTBASE     | Database         |         4 |       4 | 0275430005 | | FISDAS     | Fisika Dasar     |         2 |       1 | 0480432066 | | JARKOM     | Jaringan Komputer |         3 |       3 | 0770435006 | | MATDAS     | Matematika Dasar |         4 |       1 | 0160436012 | | MIKROP     | Mikro Prosesor   |         2 |       5 | 0480432066 | | SISOPR     | Sistem Operasi   |         2 |       4 | 0160436012 | | TEKKOM     | Teknik Kompilasi |         2 |       6 | 0480432066 | +-------------+-------------------+------------+----------+------------+ 7 rows in set (0.00 sec)
Dengan seluruh tabel sample dan isinya selesai dibuat, kita siap untuk menampilkan data dari tabel tersebut dengan query SELECT MySQL.
Format Dasar Penulisan query SELECT
Pada saat ingin menampilkan data, biasanya kita butuh 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 MySQL:
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 terlihat, MySQL menyediakan banyak sekali perintah opsional yang dapat dipilih untuk membantu kita menampilkan data dari database.
Sebagian besar tidak akan kita butuhkan, namun setidaknya MySQL menyediakan banyak pilihan untuk menampilkan hasil query SELECT. Kita akan bahas beberapa diantaranya.
Cara Menampilkan Seluruh Isi Tabel 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_tabel
Tanda bintang (*) adalah wildcard sebagai pengganti 'pilih semua kolom'.
Sebagai contoh, berikut adalah query untuk menampilkan seluruh isi tabel daftar_dosen :
mysql> SELECT * FROM daftar_dosen; +------------+----------------+------------+-----------+ | NIP       | nama_dosen    | no_hp     | alamat   | +------------+----------------+------------+-----------+ | 0160436012 | Sabrina Sari  | 0812349900 | Pekanbaru | | 0260432002 | Maya Ari Putri | 0812345234 | Palembang | | 0275430005 | Susi Indriani | 0812656532 | Bogor    | | 0480432066 | Tia Santrini  | 0812451177 | Padang   | | 0576431001 | M. Siddiq     | 0812979005 | Jakarta  | | 0770435006 | Rubin Hadi    | 0812567678 | Papua    | | 0869437003 | Mustalifah    | 0812338877 | Aceh     | | 1080432007 | Arif Budiman  | 0812456345 | Makasar  | +------------+----------------+------------+-----------+ 8 rows in set (0.00 sec)
Cara Menampilkan Kolom Tertentu dari Tabel MySQL (SELECT … FROM)
Jika ingin menampilkan hanya sebagian 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 ditampilkan. Misalnya kita ingin menampilkan kolom nama_dosen dan alamat dari tabel daftar_dosen, maka querynya adalah sebagai berikut:
mysql> SELECT nama_dosen, alamat FROM daftar_dosen; +----------------+-----------+ | nama_dosen    | alamat   | +----------------+-----------+ | Sabrina Sari  | Pekanbaru | | Maya Ari Putri | Palembang | | Susi Indriani | Bogor    | | Tia Santrini  | Padang   | | M. Siddiq     | Jakarta  | | Rubin Hadi    | Papua    | | Mustalifah    | Aceh     | | Arif Budiman  | Makasar  | +----------------+-----------+ 8 rows in set (0.05 sec)
Cara Menfilter/Menyeleksi data dari Tabel MySQL (SELECT…WHERE…)
Jika kita ingin menampilkan hanya data yang memenuhi kriteria tertentu saja, maka dapat dilakukan dengan menambah perintah WHERE pada query SELECT.
Kondisi WHERE pada perintah SELECT dipakai untuk menyeleksi data yang diinginkan saja, sedangkan data yang tidak memenuhi kriteria tidak akan ditampilkan.
Format dasar query SELECT…WHERE adalah:
SELECT nama_kolom1, nama_kolom2,... FROM nama_tabel WHERE kondisi
Contohnya untuk menampilkan data dosen yang beralamat di Padang, bisa menggunakan query berikut:
mysql> SELECT NIP,nama_dosen FROM daftar_dosen WHERE alamat='Padang'; +------------+--------------+ | NIP       | nama_dosen  | +------------+--------------+ | 0480432066 | Tia Santrini | +------------+--------------+ 1 row in set (0.00 sec)
Kondisi WHERE sangat fleksibel dan kita bisa menggunakan berbagai operasi kondisi seperti lebih besar (>), lebih kecil (<), tidak sama (<>), dan lain-lain.
List lengkap dari penggunaan kondisi yang dapat digunakan pada SELECT…WHERE adalah:
Operasi Aritmatika
Operator | Penjelasan |
---|---|
+ | Penambahan |
– | Pengurangan |
* | Pengalian |
/ | Pembagian |
% | Sisa hasil bagi (modulus) |
Operasi Logika
Operator | Penjelasan |
---|---|
NOT atau ! | Logika bukan |
AND atau && | Logika dan |
OR atau || | Logika atau |
XOR | Logika bukan atau (XOR) |
Operasi Perbandingan
Operator | Penjelasan |
---|---|
= | Sama dengan |
<> atau != | Tidak sama dengan |
<=> | sama dengan (null safe) |
< | kurang dari |
<= | kurang dari atau sama dengan |
> | lebih besar dari |
>= | lebih besar atau sama dengan |
BETWEEN | Berada pada batas tertentu |
IN | Berada di dalam |
IS NULL | Pengecekan apakah berisi NULL |
IS NOT NULL | Pengecekan apakah bukan berisi NULL |
LIKE | Pencarian menggunakan wildcard |
REGEXP atau RLIKE | Pencarian menggunakan Regular Expression |
Contohnya jika ingin menampilkan seluruh mata kuliah yang diajarkan di semester 4 ke atas, maka querynya adalah:
mysql> SELECT * FROM mata_kuliah WHERE semester >= 4; +-------------+------------------+------------+----------+------------+ | kode_matkul | nama_matkul     | jumlah_SKS | semester | NIP_dosen | +-------------+------------------+------------+----------+------------+ | DTBASE     | Database        |         4 |       4 | 0275430005 | | MIKROP     | Mikro Prosesor  |         2 |       5 | 0480432066 | | SISOPR     | Sistem Operasi  |         2 |       4 | 0160436012 | | TEKKOM     | Teknik Kompilasi |         2 |       6 | 0480432066 | +-------------+------------------+------------+----------+------------+ 4 rows in set (0.00 sec)
Penggabungan beberapa kondisi juga dapat dilakukan, misalnya ingin menampilkan seluruh mata kuliah dengan jumlah SKS=2 dan diajarkan pada semester dibawah 5, maka querynya:
mysql> SELECT * FROM mata_kuliah WHERE jumlah_SKS=2 AND semester < 5; +-------------+----------------+------------+----------+------------+ | kode_matkul | nama_matkul   | jumlah_SKS | semester | NIP_dosen | +-------------+----------------+------------+----------+------------+ | FISDAS     | Fisika Dasar  |         2 |       1 | 0480432066 | | SISOPR     | Sistem Operasi |         2 |       4 | 0160436012 | +-------------+----------------+------------+----------+------------+ 2 rows in set (0.07 sec)
Cara Mengurutkan hasil tampilan data MySQL (SELECT…ORDER BY)
MySQL menyediakan perintah opsional ORDER BY untuk mengurutkan data yang di hasilkan. Query dasar 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 urutkan. 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 memakai ASC.
Contohnya jika kita ingin menampilkan mata kuliah dengan jumlah SKS lebih dari 2 secara berurutan dari yang paling kecil, querynya adalah:
mysql> SELECT * FROM mata_kuliah WHERE jumlah_SKS > 2 ORDER BY jumlah_SKS; +-------------+-------------------+------------+----------+------------+ | kode_matkul | nama_matkul      | jumlah_SKS | semester | NIP_dosen | +-------------+-------------------+------------+----------+------------+ | JARKOM     | Jaringan Komputer |         3 |       3 | 0770435006 | | DTBASE     | Database         |         4 |       4 | 0275430005 | | MATDAS     | Matematika Dasar |         4 |       1 | 0160436012 | +-------------+-------------------+------------+----------+------------+ 3 rows in set (0.06 sec)
Jika kita ingin menampilkan seluruh dosen pada tabel daftar_dosen dan diurutan kolom alamat secara abjad, maka querynya adalah sebagai berikut:
mysql> SELECT * FROM daftar_dosen ORDER BY alamat ASC; +------------+----------------+------------+-----------+ | NIP       | nama_dosen    | no_hp     | alamat   | +------------+----------------+------------+-----------+ | 0869437003 | Mustalifah    | 0812338877 | Aceh     | | 0275430005 | Susi Indriani | 0812656532 | Bogor    | | 0576431001 | M. Siddiq     | 0812979005 | Jakarta  | | 1080432007 | Arif Budiman  | 0812456345 | Makasar  | | 0480432066 | Tia Santrini  | 0812451177 | Padang   | | 0260432002 | Maya Ari Putri | 0812345234 | Palembang | | 0770435006 | Rubin Hadi    | 0812567678 | Papua    | | 0160436012 | Sabrina Sari  | 0812349900 | Pekanbaru | +------------+----------------+------------+-----------+ 8 rows in set (0.00 sec)
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:
mysql> SELECT * FROM daftar_dosen ORDER BY nama_dosen ASC LIMIT 0,3; +------------+----------------+------------+-----------+ | NIP       | nama_dosen    | no_hp     | alamat   | +------------+----------------+------------+-----------+ | 1080432007 | Arif Budiman  | 0812456345 | Makasar  | | 0576431001 | M. Siddiq     | 0812979005 | Jakarta  | | 0260432002 | Maya Ari Putri | 0812345234 | Palembang | +------------+----------------+------------+-----------+ 3 rows in set (0.00 sec)
Jika kita hanya menulis 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:
mysql> SELECT * FROM mata_kuliah ORDER BY nama_matkul LIMIT 5; +-------------+-------------------+------------+----------+------------+ | kode_matkul | nama_matkul      | jumlah_SKS | semester | NIP_dosen | +-------------+-------------------+------------+----------+------------+ | DTBASE     | Database         |         4 |       4 | 0275430005 | | FISDAS     | Fisika Dasar     |         2 |       1 | 0480432066 | | JARKOM     | Jaringan Komputer |         3 |       3 | 0770435006 | | MATDAS     | Matematika Dasar |         4 |       1 | 0160436012 | | MIKROP     | Mikro Prosesor   |         2 |       5 | 0480432066 | +-------------+-------------------+------------+----------+------------+ 5 rows in set (0.00 sec)
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.
Berikutnya akan lanjut membahas Cara Pencarian Data dari Tabel MySQL dengan Query LIKE.
Yang sintaks like dong gan kasih contohnya terimakasih.
Iya gan, udah lama pending lanjutin tutorial MySQLnya gara-gara ganti tema blog, hehe.. ditunggu aj y gan..
dari awal bab 1 sampe bab 20 saya mengerti dengan mudah… anda hebat dalam memberikan teori dan keterngannya… seandainy saya bisa belajar lebih, saya pengen bisa kursus dgn anda.. tp dgn segini setidakny sudah menjadi dasar pengenalan saya terhadap program database MySQL.. terima kasih banyak..
Terimakasih komentarnya mas Arief, jadi tambah semangat ni melanjutkan tutorial MySQL. Ilmu saya belum seberapa untuk buat kursus mas, hehe.. Tp saya senang tutorial ini ternyata mudah diikuti, mudah-mudahan bermanfaat juga bagi rekan-rekan yang lain :)
Super sekali Æ m… (Y) bahasanya mudah dicerna oleh saya yg newbie banget ttg dbms khususnya mysql. Saya harap website ini kedepannya lebih maju lg. Dan website ini jg sdh saya bookmark spy gk lupa.
maaf sbelumnya.. saya pengen buat query yg dikirim via sms, isinya berupa nilai siswa..
misal keyword sms= nilai#nis => reply sms= nim 123 nilai mtk:90,bhs=75,ipa=87 (semua mapel keluar)
logika select nya gimana.. sama sebaiknya tabel nilai tiap mapel sendiri2 ato 1tabel nilai untuk beberapa mapel..
sya udah lama pusing karena ini.. maklum sya belajarnya loncat2 :)
klo reply nya hanya nilai dari 1 mapel udah bisa… kalo yg reply nya semua nilai dari semua mapel ini yg saya masih bingung.. thx sebelumnya.. maaf klo banyak nanya..
tutorialnya lengkap banget..niat banget buat ngajarinnya…n gampang dipahamin..kebetulan lagi ngerjain tugas yang pake mysql..thanks banget infonya…
Makasih atas kunjunganny mas bayu.. hehe…Itung-itung bagi2 ilmu buat yang sedang belajar mas.. :)
pagi mas
mas saya mau tanya kalau perintah Mysqlnya mengambil 3 kriteria dari satu tabel bisa ndak mas????
saya coba pakai script ini kok ndak bisa…..
"SELECT * FROM soal WHERE id_mapel='$id_mapel', id_kelas='$id_kelas' AND level=1 ORDER BY RAND() LIMIT 0,10"
bingunggg
mohon penjelasannya
terima kasihhh,,,,
Pagi juga mas yue, jawabannya: bisa mas, malah bisa lebih dari 3 kriteria jika tabel kita memang membutuhkannya. Tinggal mengkombinasikan logika AND dan OR.
Dari query yang saya lihat,sepertinya kurang operator perbandingannya 1 lagi mas. Karena kalau untuk 3 kriteria, harusnya ada query '… where a=1 and b=2 and c=3',
kalau dari contohnya, boleh dicoba:
"SELECT * FROM soal WHERE id_mapel='$id_mapel' AND id_kelas='$id_kelas' AND level=1 ORDER BY RAND() LIMIT 0,10″
Mudah2an bisa membantu…
Pagi bang, saya punya masalah menampikan 2 tabel yg tidak memiliki hubungan bisa di bilang tabel satu dan dua.
tabel satu memiliki field id nama, umur dan tanggal lahir sedangkan tabel dua memiliki field nomor,a dan b.
Record dari tabel satu dengan field id = 1,2,3 dan field nama= a,b,c dan filed umur=27,23,25 tanggal lahir = 1991-01-01,1992-01-01,1993-01-01.
Record dari tabel dua dengan field nomor=7,8,9 dan field a=adhi,taufik,hidayat dan field b= c,d,e.
disini saya akan menampilkan field id,nama dari tabel satu bersama field b tabel dua dengan perintah select id,nama,b from satu,dua, namun hasilnya berulang.
Jadi menurut abang bisa tidak hasilnya tidak berulang – ulang yaitu dengan hasil field id =1,2,3 dan field nama=a,b,c dan field b=c,d,f dari penggabungan tabel tersebut??
bagaima bentuk perintahnya bang??
mohon bantuannya!!
Kalau menggunakan perintah SELECT tersebut, hasilnya akan sama dengan perintah JOIN. Syarat untuk perintah SELECT..JOIN adalah harus ada salah satu kolom yang menjadi penghubung kedua tabel. Namun jika tidak ada kolom yang menjadi penghubung, hasilnya akan berulang.
Terlepas dari desain database dan tabel yang mungkin sebaiknya dirubah agar ada hubungan, cara alternatif menurut saya bisa dengan membuat tabel laporan sementara untuk menampung hasil query. Contoh querynya: CREATE TABLE report SELECT * from a;
Perintah query untuk membuat tabel dari hasil query ini rencananya juga akan saya bahas pada materi MySQL selanjutnya, semoga berkenan menunggu…
Ribuan terima kasih telah berbagi. Semoga duniailkom semakin maju, dan berkahnya mengalir terus. Aamiin !!! Izinkan saya sedot utk belajar!
Terimakasih atas kunjungannya mas Mus, semoga bisa bermanfaat…
Permisi mau tanya tentang limit kalo kaya gini artinya apa ya?
LIMIT 30 , 300"
trims
Penjelasan tentang perintah limit sudah saya jelaskan dalam tutorial ini, LIMIT 30,300 berarti membatasi hasil tampilan data dari tabel dimulai dari hasil baris ke 30, dan ambil sebanyak 300 baris data setelahnya.
Mas, saya mau tanya ni, bagaimana caranya menampilkan data dari 3 tabel? kemudian bagaimana kalau kita mau memasukan field kuncinya data-data dari field tersebut bisa tampil?
Untuk query menampilkan data dari 2 tabel atau lebih, bisa menggunakan query JOIN. duniailkom telah membuat tutorialnya di Tutorial MySQL: Menggabungkan Tabel MySQL dengan INNER JOIN
Mudah2an bisa membantu :)
tanya mas.. tiap tabel itu PK nya harus berbentuk id(int) ya? kalau berbentuk varchar gimana bisa gak?
contoh ada 2 tabel (1 tabel PK nya integer) & (1 tabel lainnya varchar) di relasi bisa gk?
trus kalau mau menampilkan data di tabel (PK varchar) itu gimana ya (query sql nya)?
Primary Key (PK) di dalam tabel tidak harus bertipe data int kok, tapi bisa juga berupa tipe data lainnya seperti varchar, atau bahkan gabungan dari 2 kolom.
Untuk menggabungkan tabel (di relasi-kan), keduanya harus memiliki tipe data yang sama, atau dalam teori database, Primary Key dan Foreign Key harus bertipe sama agar bisa digabung.
Untuk menampilkan data dari tabel dengan primary key tidak ada perbedaan dengan tabel yang tanpa primary key, bisa menggunakan query SELECT yang kita bahas pada halaman ini.
Semoga bisa membantu :)
tanya lagi mas. saya punya 2 tabel. sebut saja tabel A dan tabel B. ke2 tabel saling berhubungan.
Saya ingin menampilkan data di tabel B, nah bagaimana menampilkan data di tabel B, sekaligus menampilkan 1 data dari tabel A? kalau tabel B langsung ditampilkan, maka akan ada data yg berbentuk angka karena itu FK dari tabel A. saya ingin FK nya itu berbentuk data dari tabel A bukan angka. thanksss
Untuk query menampilkan kolom dari 2 tabel, ucok bisa menggunakan query JOIN. duniailkom telah membuat tutorialnya di Tutorial MySQL: Menggabungkan Tabel MySQL dengan INNER JOIN
Mudah2an bisa membantu.
master mau tanya
querynya gmn? kalau pengen menampilakan siswa yang belum dapat kelas?? aq pny tabel siswa, kelas dan ruang.. kita menampilkan data dari siswa yang belum pernah diinputkan di ruang. itu carana gimana terimakasih
Untuk kasus ini, bisa menggunakan query NOT IN.
Misalkan dari tabel siswa dan ruang ada kolom 'nama' yang menghubungkan kedua tabel, sehingga query untuk menampilkan seluruh nama yang tidak ada di tabel ruang adalah : SELECT * FROM siswa WHERE nama NOT IN (SELECT * FROM RUANG).
Saya memang belum sempat membuat tutorialnya, mudah2an nanti kesampaian untuk membuat tutorial yang lebih detail. Semoga bisa membantu :)
Alhamdulillah sob… sungguh sangat membantu… tutorialnya sungguh sangat mudah dicerna… ini yang ane cari selama ini… sukses selalu buat admin blog ini… aminnn ya rabb…
Amiin… terima kasih atas doa dan dukungannya mas Firman, saya juga senang bisa membantu rekan-rekan yang lain, mudah-mudahan apa yang saya bagi bisa bermanfaat..
terimakasih sangat membantu sekali :DD
Terimakasih juga atas kunjungannya, semoga bisa bermanfaat…
bagus sekali mas web tutorialnya hehe
sistematis dan langsung nyantol
saya jadi cepet keinget lagi, g usah buka buku yg gede
maturnuwun …..
Terimakasih kunjungannya mas arya.. semoga situs duniailkom ini bisa bermanfaat.. :)
Akhirnya… Ada juga Tutorial yang Lengkap..setelah berlama-lama stres di php database…ketemu juga solusinya disini…thx ya tutorialnya,,..
Terimakasih juga atas kunjungannya mas edwin,
Saya juga senang tutorialnya bisa bermanfaat…
min,saya mau nannya
kalo sql untuk menampilkan data yang paling awal gimana ya?
soalnya saya lagi bikin program aplikasi metode fifo
mohon bantuannya ya..
MySQL menyimpan data tidak memperhitungkan kapan data tersebut di input. Namun jika Winda ingin menampilkan data dengan cara 'First in First out', bisa diakali dengan menambahkan 1 kolom untuk 'tanggal input'.
Kolom tanggal_input ini bisa di rancang secara otomatis (misalnya dengan PHP) sehingga pada saat ada penambahan data baru, kolom tanggal_input bisa langsung terisi dengan waktu saat itu. Untuk menampilkan data, kita tinggal mengurutkannya berdasarkan tanggal_input.
oiya saya ngerti,
tapi yg bikin saya bingung tuh saya bikin sistem pembelian dan penjualan obat metode fifo,
misal saya beli obat A pada tgl 01/08/2014 = 10 buah
terus saya beli obat A lagi pada tgl 02/08/2014 = 3 buah
pada tgl 03/08/2014 ada penjualan sbanyak 12 buah, sehingga datanya diambil pada tgl 01/08/2014 sebanyak 10 buah dan tgl 02/08/2014 sebanyak 2 buah.
kira-kira formulanya gimana yah?
Kalau menurut saya, prosesnya akan banyak dilakukan melalui bahasa pemograman induknya. Misalkan winda menggunakan PHP MySQL, maka prosesnya akan banyak dilakukan di sisi PHP.
Misalkan tabel obat berisi kolom nama_obat, tgl_input, dan jumlah. Maka jika terjadi penjualan obat A, kita query terlebih dahulu seluruh isi tabel obat dengan nama_obat=A dan diurutkan berdasarkan tgl_input.
Kemudian dengan PHP kita kurangi jumlah penjualan dengan jumlah kolom pertama, dan jika masih belum cukup, masuk ke kolom berikutnya, dst.
Sebagai langkah terakhir lakukan update jumlah sisa obat A kedalam tabel.
makasih mas, sangat membantu
mas klo select data dari 3 tabel caranya gmn ya??
Untuk menampilkan data dari 3 tabel, berarti harus ada 1 kolom pada tiap tabel yang berfungsi sebagai penghubung. Untuk pembahasan lebih lanjut, desta bisa mempelajari pada Tutorial MySQL Inner Join.
makasih ya mas, sangat membantu :)
Makasih info nya. sangat membantu :cheers
Terimakasih juga atas kunjungannya mas jamal.. :)
Thank !
Thank you for visiting.. :)
Mau nanyak mas, kalau menambahkan field lebih dari 1 gimana? sama mengisi kolom pada field ny? Thanks
Maksudnya cara menambah field pada tabel dan cara mengisi tabel y mas? untuk pembahasan mengenai hal itu, silahkan di baca di tutorial MySQL: cara membuat dan menghapus tabel, tutorial MySQL: cara merubah tabel (ALTER TABLE) serta tutorial MySQL: cara menambahkan data (query INSERT)
Semoga bisa membantu.. :)
Mas tanya lagi dong . . . .
Pada field alamat di atas isinya :
Pekanbaru
Palembang
Bogor
Padang
Jakarta
Papua
Aceh
Makasar
Saya mau munculkan alamat yg 2 huruf di depannya Pa,
(Palembang-Padang-Papua)
Saya uda coba dengan :
select alamat from nm_tabel WHERE substr(alamat,0,2)='Pa'
tapi gak bisa, salahnya di mana ya Mas ?
Kalau tujuannya untuk menampilkan alamat dengan 2 huruf depan 'pa', akan lebih cocok jika menggunakan query pencarian di MySQL. Untuk lebih jelasnya, alung bisa membaca di Tutorial MySQL: Pencarian Data Tabel (query Like).
Mudah2an bisa membantu.
makasih kk atas postinganya. mbantu banget….
Terimakasih juga atas kunjungannya ery..
mau tanya nih mas..
kalau misal id buku nya ada 5 digit.
"SELECT * FROM buku WHERE idbuku='…'"
kita memanggil id buku dengan input 1 digit saja paling kiri, trus nilai tengah, dan nilai kanan aja gimana ya mas tanpa harus 5 digit sesuai dengan id bukunya tapi hanya dengan nilai kiri,tengah,dan kanan saja..
mohon pencerahannya mas :D
Sepertinya akan lebih cocok jika menggunakan query pencarian di MySQL. Untuk lebih jelasnya, arie bisa membaca di Tutorial MySQL: Pencarian Data Tabel (query Like).
Kira-kira query yang dibutuhkan seperti ini: "SELECT * FROM buku WHERE idbuku LIKE '1_3_5'
Semoga bisa membantu :)
oke mas,, makasih udah bisa..
kalo kita input suatu nilai di textbox kemudian nilai dari inputan itu kita ambil dan kita pisah (misal : 12345)kita pisah untuk mendapatkatn nilai 1, nilai 12, dan nilai 13 dan nilai itu akan kita
gunakan untuk memanggil tabel itu gmn ya mas ..
cth :
<?php
//$kode 5 digit
$kode = $_GET['kode'];
if ($kode == " disini pecahan kode 1 digit dari kiri hasil get kode")
{
//disini mysql query nya dari tabel pertama
$tipe=$hasil['…'];
$model=$hasil['…'];
}
else
if ($kode == " disini pecahan kode 2 digit dari kiri hasil get kode")
{
//disini mysql query nya dari tabel kedua
$tipe=$hasil['…'];
$model=$hasil['…'];
}
else
if ($kode == " disini pecahan kode 3 digit dari kiri hasil get kode")
{
//disini mysql query nya dari tabel ketiga
$tipe=$hasil['…'];
$model=$hasil['…'];
}
else
{
$tipe=$hasil['…'];
$model=$hasil['…'];
}
header("content-type: text/xml");
echo "
$tipe
$model
";
?>
udah begadang 5 hari gk nemu2 x_x
Oh, kode PHP y gan? berarti variabel $kode sudah berisi 5 angka itu y? Untuk mengambil sebagian karakter dari sebuah string di dalam PHP, kita bisa menggunakan fungsi substr(). Fungsi ini membutuhkan 3 argumen, yakni: variabel yang menampung string, index posisi karakter yang akan diambil, dan berapa jumlah karakter yang ingin diambil (dihitung dari nilai index posisi pada argumen kedua).
Untuk mengambil 1 digit pertama, perintahnya: substr($kode, 0,1);
Untuk mengambil 2 digit berikutnya, perintahnya: substr($kode, 1,2);
Untuk mengambil 3 digit terakhir, perintahnya: substr($kode, 2,3);
Untuk lebih jelasnya, bisa dibaca di manual PHP di : http://php.net/manual/en/function.substr.php.
Semoga bisa membantu :)
pagi bang, kalo mau shortir tanggal gimana yaaa
misalnya : 2001-02-9, 2001-09-08, 2001-09-12,2002-01-04,2001,2002-08-07 jadi misal yg pengen ditampilin cuma tahun 2002 doang gitu gimana caranya bang
terima kasih
Pagi Elhajary,..
Sebagai solusinya, kita bisa menggunakan query SELECT … WHERE… dengan menambahkan kondisi BETWEEN. Sebagai contoh, jika kita memiliki kolom tgl_lahir dalam tabel mahasiswa, maka contoh querynya:
SELECT * FROM mahasiswa WHERE tgl_lahir BETWEEN '2002-01-01' AND '2002-12-31';
Query diatas akan menampilkan seluruh baris dengan kolom tgl_lahir bernilai antara 01-01-2002 sampai dengan 31-12-2002, yang berarti cuma tahun 2002 saja.
Mudah2an bisa membantu :)
terima kasih mas blog nya sangat membantu :) oh ya mau tanya juga skalian hehe kalo mau menambahkan kolom dr 3 gabungan tabel gimana ya?
misalnya ada tabel barang, pembeli, dan transaksi.. trus ke-3 tabel itu digabungin, tabel yg suda digabung itu mau ditambah lagi dengan jumlah harga.. itu gimana caranya ya??
terima kasih sebelumnya ^^
Kalau kolom yang mau ditambah itu cuma sekedar untuk ditampilkan, dan berasal dari kolom yang sudah ada (menggunakan rumus), maka kita tinggal menambahkannya di dalam query, seperti contoh berikut:
SELECT nama_matkul, jumlah_SKS, nama_dosen
FROM mata_kuliah INNER JOIN daftar_dosen USING (NIP_dosen);
Query diatas digunakan untuk menampilkan hasil dari dua buah tabel: mata_kuliah dan daftar_dosen menggunakan INNER JOIN (akan dibahas pada Tutorial MySQL Menggabungkan Tabel dengan INNER JOIN), saya akan menambahkan 1 kolom lagi yang akan menampilkan harga_sks, dimana kolom ini dihasilkan dari perkalian jumlah_SKS * 20000. Berikut querynya:
SELECT nama_matkul, jumlah_SKS, nama_dosen,jumlah_SKS*20000
FROM mata_kuliah INNER JOIN daftar_dosen USING (NIP_dosen);
terima kasih mas udah bisa :D oh ya mas mau nanya lagi nama tabel yg didapat dr hasil perkalian itu bisa dirubah atau tidak?
sore om..
ma tanya nih..
saya mau buat laporan peminjaman buku..
ada tabel "buku", "pustaka" dan tabel "detailpustaka"
isi tabel pustaka : idpustaka, idmember, tglpinjam
isi tabel detailpustaka : idpustaka, idbuku, tglkembali, denda, statusbuku
isi tabel buku : idbuku, judul, pengarang, penerbit, gambar.
bagaimana cara buat laporan dengan tidak ada data yang sama.. sedangkan 1 member bisa meminjam sampai 3 buku..
misal spt ini :
|ID Pustaka | ID Member | Jumlah buku dipinjam |ID buku| Judul buku | Denda|
123 22 2 732 judul1 0
733 judul2 0
mohon bantuannya om :D
Ilmu yang sangat bermanfaat.. Terimakasih atas berbagi ilmunya..
Thanks.. Blognya sangat membantu.
Mau nanya mas, kalau mau menampilkan 2 opsi sortir gimana ya?
Contoh tabel penjualan : Tanggal, No_Faktur, Nama_barang
logika query : menampilkan penjualan sortirnya by tanggal.
nah, jika tanggalnya sama maka sortir selanjutnya by no_faktur
Mohon solusinya mas. Thanks Before..!!
mohon maaf agak telat balasnya…
Untuk keperluan tersebut, kita bisa menggunakan 2 kolom setelah perintah ORDER BY, seperti berikut ini:
SELECT * FROM penjualan ORDER BY tanggal ASC, no_faktur ASC
Semoga bisa membantu :)
Thanks banget.. sekarang sdh bisa..
mas saya mau tanya
1) query banyaknya jurusan yang mendapat nilai akreditasi 'B'
2) query untuk menghitun banyaknya matakuliah per semester dan dikelompokan berdasarkan semester.
3) query untuk menghitung banyaknya dosen mengajar pada semester 3 dikelompokan berdasarkan no induk dosen
Wah, ini tugas sekolah/kuliah y? :) saran saya coba dipelajari tutorial MySQL yang ada di duniailkom ini mulai dari awal hingga akhir, mudah2an bisa menjawab pertanyaan diatas…
mas, saya mau tanya
saya punya tabel isian kuisioner
ada tiga kolom terdiri dari id pengguna, nomor kuisioner, dan jawaban.
kolom jawaban saya bikin dengan nilai input yang dimasukkan adalah 1 sampai 5.
Saya mau menampilkan jumlah dari setiap nilai input di kolom kolom yang berbeda di sebuah tabel.
Bagaimana cara saya untuk menampilkan data tersebut mas?
Apa script sql dan php nya mas?
Mohon maaf mas, saya belum ada kode script untuk keperluan ini. Untuk membuatnya kita harus menggabungkan HTML, PHP dan MySQL. Kodenya akan cukup panjang, tapi kalau sudah paham HTML + PHP saya rasa bisa dibuat dengan mudah.
Mengenai cara menampilkan data MySQL menggunakan PHP sudah saya bahas dengan lengkap di bagian tutorial PHP-MySQL.
kita ada tabel dengan beberapa nama perusahaan yang sama gimana kalo kita mau menampilkan satu baris aja tiap perusahaan kalo select all dia kadang satu perusahaan keluar beberapa baris karena di tabel nya memang begitu
Ini bisa menggunakan query DISTINCT gan, silahkan lanjut kesini: Menghapus Duplikasi Data dengan Query DISTINCT
mas bro,, saya mau nanya..?
saya punya 2 tabel yakni tabel mata pelajaran dan tabel nilai. ke2 tabel tsb terhubung dengan field id_mata_pelajaran.
saya pengen nampilin tabel nilai tapi saya ingin field nama_mata_pelajaran yang keluar. bukan id_mata_pelajaran. gimana mass brow caranya??
kasarnya sih saya mau ambil 2 tabel sekaligus tapi saya sortir gitu.
Gan, mohon pencerahannya ;
saya coba bikin script php untuk filter nama produk dengan relasi 3 tabel (produk, penjualan dan penjualan_item)
tapi sampai sekarang tidak pernah bisa, mohon bantuannya ya ..
Boleh gan..tapi saya bingung mau bantu apa, hehe…
Menurut saya agan bisa perdalam kemampuan PHP dan yang paling penting Query MySQLnya. Kebanyakan programmer PHP hanya
mempelajari MySQL 'seadanya' sebatas bisa menampilkan data dari PHP. Padahal kunci untuk membuat aplikasi sendiri ada di kemampuan membuat query MySQL.
gan gmana ya caranya mnggil 2 kolom jadi satu. cotoh
tabel_siswa(nis,nama_depan,nama_belakang,kelas) terus mau manggil nama_depan + nama_belakang jadi satu kolom????
Menggunakan fungsi CONCAT gan, langsung saya buatkan tutorialnya di sini: Tutorial Belajar MySQL – Cara Menyambung String di dalam Query MySQL (CONCAT)
Semoga bisa membantu :)
mau nanya lagi mas
saya punya masalah, bagaimana cara menampilkan customer yang dimana dia sudah cetak tiket namun belum teralokasikan di bus? dengan struktur table seperti ini
tabel customer : customer_id, nama, jenkel, alamat
tabel transheader : transheader_id, customer_id, tujuan, status
tabel alokasi : id_alokasi, transheader_id, bus_id, no_kursi
dan status yang di table transheader di isi oleh : pembayaran, confirm, not confirm, cetak tiket, tidak cetak tiket, check in dan not check in
mohon bantuannya mas saya masih bingung query nya gimana.
Query yang dibutuhkan cukup kompleks mas, misalnya untuk menampilkan nama customer yang sudah cetak tiket saja, bisa seperti ini:
SELECT nama FROM customer WHERE customer.customer_id IN (SELECT transheader.customer_id FROM transheader WHERE transheader.status = 'cetak tiket' )
Dalam query ini saya menggunakan perintah IN untuk menggabungkan 2 query SELECT. Jika ditambah dengan 1 kondisi lagi, jadi makin rumit…
Untuk menyederhanakan prosesnya, mungkin bisa ditambahkan sejenis 'flag' di tabel transheader, misalnya menambahkan 1 kolom lagi: 'alokasi_flag', nilainya hanya 2 saja: 'sudah' dan 'belum', jadi pada saat tabel ini diisi, kolom alokasi_flag otomatis diisi 'belum', dan nanti ketika sudah dialokasikan ke dalam tabel alokasi, kolom ini diubah jadi 'sudah'. Dengan demikian kita bisa memantau status alokasi dari tabel transheader.
Ini cuma salah satu ide saja, bisa jadi ada query yang lebih mudah daripada contoh saya diatas :)
makasih mas, sangat membantu bagi saya
Sama2 mas, senang bisa membantu :)
Kang , gimana kalo mau menampilkan seluruh tabel dalam suatu database?
Cukup dengan query: SHOW TABLES; gan… Penjelasannya bisa lanjut kemari: Cara Membuat dan Menghapus Tabel MySQL
mas. bagaimana cara kita menampilkan isi dari tabel foreign key . contoh kita mau menampilakan nama barang, berdasarkan kode dari id.. apa kodingnya ya mas? trma kasih
Min, mendesak..
saya ingin menampilkan nama yang mengandung 2 buah huruf 'L', caranya bagaimana ya?
Mendesak mau kemana gan? hehe..
Bisa dicoba dengan contoh query berikut:
SELECT * FROM daftar_dosen WHERE nama_dosen LIKE '%l%l%'
Query diatas akan menampilkan nama_dosen dari tabel daftar_dosen yang setidaknya mengandung 2 buah huruf 'L'. Semoga bisa membantu :)
maunya kemana ?? hehe..
Oke min, ane coba.. sebelumnya makasih min (y)
Tanya lagi min..
misal saya punya kolom gaji, sata ingin menampilkan gaji+15% dengan alias "New Salary", dan New salary – gaji. caranya bagaimana min?
aku punya table abc, dalam tabel itu ada group A dengan nilai (1,2,3) dan group B (1,4,5)
aku mau munculin nilai (2,3,4,5) query SQL nya gimana yah?
Mas, gmn cara klo ngurut 2 tabel sekaligus..??
misal tanggal :
1 ada 3 data (a,b,c)
2 ada 3 data (a,c,b)
klo mau ngurut berdasarkan tanggal, tapi di kolom selanjutnya juga ngurut gmn ya??
jadi tanggal :
1 = a
1 = b
1 = c
2 = a
2 = b
2 = c
Maksudnya mengurutkan 2 kolom y mas? caranya bisa dengan menambahkan 2 kolom setelah query ORDER BY, seperti:
SELECT nip, nama, tempat_lahir
FROM data_mahasiswa
ORDER BY nama ASC, tempat_lahir ASC
Makasih Mas,..
terlanjur dapat solusinya..
maaf mas saya baru belajar pemprograman nih. saya mau nanyak.saya punya 6 tabel kmudian saya mau menampilkan satu kolom dari tiap tiap tabel. gmana ya mas.
Mau ditampilkan dimana mas? Kalau mau di proses dengan PHP, kita bisa membuat 6 query SELECT secara berurutan, lalu ditampilkan bersamaan.
mysql mas dengan cmd
Bisa dibantu nggaj gan.
Gimana cara menampilkan mahasiswa yg berumur 1991-1995
Wah, kalau ini harus melihat struktur database yang agan rancang dulu, misalnya kolomnya apa, tipe data yang digunakan apa, dll. Nanti bisa pakai operasi perbandinggan di bagian WHERE nya.
mas nanya donk apa kah bisa setelah query inner join ditambah query where?
Kalau dilihat dari format penulisannya, query WHERE diletakkan sebelum INNER JOIN mas…
Pagi Master,
Bagaimana cara menampilkan data dikolom (Vertikal) menjadi kesamping (Horizontal) pada sql server 2012
terima kasih.
Wah, kalau SQL Server saya belum pernah coba gan, masih setia dengan MySQL, hehe..
Gan kalau scripp buat sorting data dari tanggal masuk yang terbaru gymana yah gan
Nanti semua data yang baru masuk berada di urutan teratas
masih newbee gan
Mumet cari literarur itu…
Bisa pakai query SELECT…ORDER BY saja gan, dengan catatan nama kolomnya harus bertipe "date" biar bisa diurutkan. Tentang tipe data date sudah saya bahas dalam tutorial lain di duniailkom…
Ok gan makasih saranya
Satu lagy ketinggalan
Saya punya program php tapi database nya itu berupa vb bukan format sql..
Waktu saya jalanin error database ya gg konek.
Ada solusi gag gan buat ngonekin data base itu atau ada cara lain ngejalanin program itu…
"vb" ini maksudnya apa gan? visual basic? setahu saya visual basic g berhubungan dengan PHP.
Lebih enak coba tanya ke yang buat programnya gan, karena setiap aplikasi punya cara tententu untuk proses instalasi. Bisa jadi harus buat database dulu, atau harus menggunakan PHP versi tertentu..
Slmt Mlm dunia ilkom,
saya ingin bertanya, bagaimana jika memanggil data dari kolom seperti ini:
———————————————————————————————————————
type nama kelas
———————————————————————————————————————
ipa A 1
ipa B 2
ipa C 3
ips D 4
ips E 5
nah saya ingin menampilkan semua field "nama" dengan field "type" "ipa". Bagaimana caranya nya ya?
terima kasih banyak atas jawabannya…
Please help me by email…
thank you very much..
Saya rasa jika mau membaca seluruh tutorial MySQL di duniailkom ini, akan paham sendiri kok sis, soalnya querynya relatif sederhana.
Mungkin bisa coba ini: SELECT nama FROM nama_tabel WHERE type='ipa';
gan, cara nampilin table mysql itu ke halaman website gmn…???
pdhl itu bukan gambar kan…
Silahkan diikuti seluruh tutorial PHP di duniailkom ini gan, saya sudah menyediakan tutorial khusus mengenai cara koneksi PHP dan MySQL (syaratnya agan juga harus paham HTML).
bukan itu gan mksdnya :)…
mksd sya cara nampilin cnth table ke hlmn wordpress kyk agan gitu gmn…???
Oh, kalau itu saya pakai plugin gan: https://wordpress.org/plugins/syntaxhighlighter/
Sebenarnya tampilan tabel itu hanya teks biasa (copy dari cmd Windows). Plugin diatas saya gunakan untuk menformat tampilannya agar lebih rapi :)
oallaaah tak kiro nganggo opo gan -_-…
tpi cara agan ini tak terpikirkan oleh saya hahaha
maaf mau tanya, saya punya data dengan pk type char seperti ini: A1 A2 ……A55
bagaimana cara mengurutkannya sehingga menghasilkan output : A1 A2 A3….A55, karena jika diurutkan ASC saja akan menghasilkan output : A1 A10 A11….A19 A2 A20…..A29 A3 A30……A39 A4 dst. Terima kasih sebelumnya
Kalau datanya sudah bercampur seperti itu agak susah sih gan, tapi coba seperti ini:
SELECT no_id FROM nama_tabel ORDER BY LENGTH(no_id), no_id;
sudah dicoba gan dan berhasil, terima kasih banyak :)
Siip gan.. :)
kalau ada id lain yang abjadnya beda, misalnya B1, B2,….dst itu ada cara nggak ya biar waktu select bisa nampilin A dulu sampai habis, baru B nyampe habis. Karena kalau pakai query yg itu akan menampilkan datanya sesuai panjang id, jadi nanti di awalnya akan seperti ini: A1,….,A9,B1,…..,B9,A(Nyampe abis), B(Nyampe abis) -,-a
Kalau memunculkan data base di form register gmn ya? misalkan untuk membagikan id secara manual dan id tersebut muncul di form register lalu id yg sudah terpakai tidak bisa di exsekusi lagi .. mohon bantuaanya master.. thx
Wah, cukup kompleks tuh gan, lebih banyak buat kode program di PHP daripada MySQL. Kode programnya bisa ratusan baris tuh. Saran saya sebaiknya cari buku yang membahas PHP dan MySQL saja (biar pembahasannya lebih lengkap).
mohon bantuannya mas,,saya sedang membuat program menggunkan delphi dg database mysqll….saya ingin melakukan pengecekan data berdasarkan kode…cek apakah kode sudah ada atau belum?jika belum simpan, jika sudah ada lakukan perintah kedua sampai menemukan kode yang belum ada…bagaimana scriptnya??saya sudah membuat script spt ini tp ketika di hapus sering terjadi duplicate data kode
zQuery2.SQL.Text:='SELECT*FROM OBAT WHERE KODE_OBAT LIKE "%'+LeftStr(txtkode.Text,1)+'%" AND KODE_OBAT="'+txtkode.text+'" order by kode_obat desc';
zquery2.Open;
if zQuery2.RecordCount=0 then
begin
txtkode.Text:=LeftStr(txtnama.Text,1)+IntToStr(zQuery2.recordcount+1);
end
else
begin
zquery2.Open;
txtkode.Text:=LeftStr(txtnama.Text,1)+IntToStr(zQuery2.recordcount+2);
end
Mohon maaf nih sis, saat ini saya masih fokus ke web programming. Untuk pemrograman Delphi sudah lama g megang lagi. Tp mudah2an ada temen lain yang bisa bantu…
saya mau nanyak gimana caranya untuk menampilkan data yang hanya berawalan huruf s dan bagai mana menampilkan data yang tidak ada pada tabel?
mohon bantuannya ya gan soalnya ini tugas kuliah
Min, mau nanya dong. kalo sorting sekaligus ngubah status berapa teratas(misal 10 teratas di ubah) lima teratas lulus yg lain ngga gimana ya caranya. misalnya ada kolom isinya nim, nama_mahasiswa, total nilai, status. setelah disort 5 teratas statusnya lulus
Kalau langsung dari MySQL cukup rumit gan, mesti menggunakan query di dalam query (kalaupun bisa).
Untuk alur seperti ini akan lebih mudah dibuat dari kode PHPnya. Pertama ambil 5 query teratas (mengunakan LIMIT 5), lalu simpan nim ke variabel atau array PHP. Selanjutnya array yang berisi nim 5 mahasiswa ini diproses kembali dalam query UPDATE, mungkin bisa menggunakan loop/perulangan agar lebih mudah.
boleh minta emailmu gan,, mau konsultasi via email biar enak . hehe
Mohon maaf nih gan, untuk saat ini saya belum bisa handle konsultasi langsung via email, berhubung sedang ada kerjaan lain…
mohon bantuannya kak :
saya lagi bikin program sederhana untuk melakukan absen karyawan.
setiap pengguna/user punya no induk karyawan (NIK) untuk login ke halaman utama. laaa itu di halaman utama ada beberapa menu salah satunya menampilkan data karyawan . yang jadi masalah saya masih binggung gimana nampilin data tersebut sesuai user yang sedang login . mohon bantuannya kak. saya masih pemula jadi belum begitu mengerti . terimakasih
Halaman loginnya sudah dibuat? Kalau sudah, biasanya fitur login ini menggunakan cookie atau session, jadi nanti kita bisa ambil informasi user yang sedang login dari cookie ini.
Selanjutnya buat query MySQL sesuai dengan user, misalnya seperti berikut:
$username = $_COOKIE["username"];
$query = "SELECT * FROM karyawan WHERE username=$username";
Tp kalau belum terlalu paham cara membuat halaman login dan cookie, saran saya coba cari buku PHP saja, soalnya cukup panjang pembahasannya. Di eBook PHP Uncover saya butuh ratusan halaman untuk menjelaskan prinsip kerja halaman login dan cookie, hehe….
terimakasih kak..
paling ngak udah dapet gambaran.
halaman loginnya udah di buat kok tinggal nampilin data aja sesuai user yang login. itu aja yang jadi masalah
Siang mas, saya mau tanya nih.
Saya punya tabel mahasiswa dengan data :
Nama Tgl lahir
xxxxxx 01-aug-1997
xxxxxx 05-jan-1998
xxxxxx 28-mei-1996
yang ingin saya tampilkan siswa yang tahun lahirnya antara tahun 1997 sampai 1998.
bagai mana ya mas untuk querynya?
Itu field "Tgl lahir" tipe datanya apa gan? kalau string (char atau varchar), susah membuat querynya. Sebaiknya data tesebut menggunakan kolom bertipe "date" MYSQL, dan format tanggalnya akan menjadi yyyy-mm-dd.
Dengan demikian kita bisa menggunakan fungsi2 date MySQL.
mas, saya mau tanya.saya sedang membuat program java dan ingin get sebagian isi dari databases. dan saya sudah mencoba menggunakan select substring tpi ketika di set terjadi Error : java.sql.SQLException: Column 'tmtjabatan' not found
ini source code:
public void cariData(String namas){
try {
String url; // koneksi ke database
url = "jdbc:mysql://localhost:3306/bpba";
String user="root";
String pass="";
java.sql.Connection conn = (java.sql.Connection) koneksi.koneksiDB();
java.sql.Statement stm = conn.createStatement();
//java.sql.ResultSet sql = stm.executeQuery("select * from pegawai Where nama='"+namas+"'");
java.sql.ResultSet sql = stm.executeQuery("SELECT SUBSTRING(tmtjabatan,12,4) FROM pegawai");
while(sql.next()){
//jTextArea2.setText(sql.getString("nama"));
jTextArea4.setText(sql.getString("tmtjabatan"));
}
} catch (Exception DBException) {
System.err.println("Error : " + DBException);
}
}
mohon bantuanya :)
Kalau melihat errornya, compiler JAVA tidak menemukan kolom "tmtjabatan" di tabel "pegawai". Apakah sudah dipastikan kolom ini ada?
mas bagaimana ya menampilkan hasil penjumlahan , hasil tersebut di letakkan di field record
atau gini mas contohnya ,
saya punya 3 field
field a , field b dan field c .
field a + field b lalu hasil tersebut dimasukkan field c ….
begitu mas , itu yg masih saya bingung
mas, saya mau tanya
saya mempunyai 2 tabel kelas dan nama_kelas
isi tabel kelas :
id_kelas || kelas
1 kelas x
2 kelas xi
isi tabel nama kelas :
id || nama_kelas || id_kelas
1 melati 1
2 mawar 1
3 anggrek 2
4 matahari 2
5 tulip 2
saya ingin membuat query memunculkan :
kelas || jml_kelas
x || 2
xi || 3
itu gmn ya mas? atau mungkin ada saran cara lain biar mudah dalam penyusunan tabel, mohon bantuannya mas
Terimakasih :)
min saya mau tanya misal tabel data siswa lama itu isinya, siswa a, siswa f ,siswa y.
lalu saya input lagi siswa c, gimana caranya siswa c ada di urutan atas tabel siswa?
jadi bagai mana caranya data yang baru saya input itu di urutan atas?
Min boleh tanya jika nama field sama tapi tabelnya berbeda, dan saya ingin merelasikan kedua tabel tersebut tapi ada kesalahan sintaks.
Jadi bagaimana carannya supaya bisa merelasikan kedua tabel tersebut ?
Bisa coba kesini gan: https://www.duniailkom.com/tutorial-belajar-menggabungkan-tabel-mysql-dengan-inner-join/
ka kalau perintah untuk nampilin huruf pertama S di c: windows\system32 tanpa masuk ke directory nya gimana yaa?
Saya bingung dengan pertanyaannya gan… hubungannya dengan MySQL yang dibahas disini apa y?
Mas… Mau tanya. Saya ada masalah menampilkan data di hari ini… Masal.. Di db saya ada buku A di pinjam tgl 08-08-2013 dan buku B di pinjam tanggal 08-08-2013… tuk saat ini saya pake DATE(NOW())… Ketika di jalankan… Yang tampil hanya salah satu dari buku saja misal… Hanya buku A aja…
Pdhl saya ingin menampilkan semua buku yg d pinjam di hari itu… Kira" bagaimana ya…
Selecet anggota.nama_anggota , buku.judul buku
From buku
Join anggota ON anggota.id_anggota = buku.id_anggota
Where ………………..
Seharusnya bisa langsung jalah tuh (tampil keduanya), karena tanggalnya sama. Tp apakah kedua buku itu dipinjam oleh 1 orang saja? atau beda orang?
Saya lihat di querynya ada "ON anggota.id_anggota = buku.id_anggota". Kalau ini dipakai, tentu yang tampil hanya buku yang dimiliki 1 anggota saja.
Analisis lebih jauh mesti lihat seluruh kolom dari kedua tabel, tp mungkin akan makan waktu lama, hehe…
Nama peminjamnya berbeda….
Kalau misal nama peminjam sama dan buku yg d pinjam berbeda…apakah yang nampil tetap satu??
mau tanya kalau saya mau menampilkan 3 kolom dalam satu query, terus mau mengurutkan kolom 2 dan 3 secara descending itu gimana ya?
saya mau tanya nih mas, saya kan punya 2 tabel, tabelkamar isinya = no_kamar(PK), kelas, tarif.
nah di tabelpesan isinya= id_pelanggan, no_kamar, durasi_sewa. gini mas, saya mau melakukan perkalian antara field tarif yang ada di tabelkamar dengan durasi_sewa yang ada di tabelpesan,,,gimana query nya mas , mohon dibantu
Min mau tanya. Kalo mau nampilin data di table berdasarkan huruf depan itu pake apa ya ?
Saya coba pake "=>" gak bisa.
Trims min