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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| 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) |
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 |
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 D:\MySQL )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| 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) |
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.
SELECT apa_yang_akan_ditampilkan FROM tabel_apa WHERE kondisi_apa_data_ditampilkan; |
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]] |
Reviews:
Posting Komentar