TERIMAKASIH ANDA TELAH MENGUNJUNGI DAMANIK'S BLOG, JANGAN LUPA LIKE FACEBOOK FAN PAGENYA YA..!!!
Home » , » Mengelola tabel pada mysql

Mengelola tabel pada mysql


Berikut inin adalah cara - cara mengelola tabel pada mySQL:

1. Menambah Data

Bagaimana kita menambah data dalam tabel ?

Sebagai latihan kita, bangunlah sebuah database yang baru dengan nama 'akademikdb'

    mysql> CREATE database akademikdb;
Kemudian aktifkan database tersebut

    mysql> USE akademikdb;

Kemudian bangun sebuah tabel dengan nama 'mahasiswa'

    mysql> CREATE TABLE mahasiswa (nim varchar(8), nama varchar(20), tglhr date,
        -> almt varchar(25), agama varchar(15), jk char(1), primary key(nim));

tampilkanlah tabel dan strukturnya untuk memastikan tabel sudah ada

    mysql> SHOW TABLES;
    +----------------------+
    | Tables_in_akademikdb |
    +----------------------+
    | mahasiswa            |
    +----------------------+
    1 row in set (0.00 sec)


    mysql> DESC MAHASISWA;

    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | nim   | varchar(8)  |      | PRI |         |       |
    | nama  | varchar(20) | YES  |     | NULL    |       |
    | tglhr | date        | YES  |     | NULL    |       |
    | almt  | varchar(25) | YES  |     | NULL    |       |
    | agama | varchar(15) | YES  |     | NULL    |       |
    | jk    | char(1)     | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    6 rows in set (0.01 sec)


Untuk menambahkan data kedalam tabel mahasiswa diatas lakukan perintah query berikut ini:    mysql> INSERT INTO mahasiswa VALUES
           -> ('07310001', 'ALI OPAN', '1980-03-21', 'JL. LUKU 20', 'KATOLIK', 'L'),
            -> ('07310002', 'SANUSI', '1981-05-11', 'JL. SAWO 21', 'ISLAM', 'L'),
           -> ('07310003', 'ISPANI', '1980-02-13', 'JL. SAMPUNA 23', 'ISLAM', 'L'),
            -> ('07310004', 'SANTI', '1985-09-19', 'JL. BROMO 22', 'KRISTEN', 'P'),
            -> ('07310005', 'TITIN', '1988-11-29', 'JL. BROMO 342', 'KRISTEN', 'P');
    Query OK, 5 rows affected (0.06 sec)
    Records: 5  Duplicates: 0  Warnings: 0

Untuk melihat data dalam tabel lakukan perintah query berikut ini:

    mysql> SELECT * FROM mahasiswa;

    +----------+----------+------------+----------------+---------+------+
    | nim      | nama     | tglhr      | almt           | agama   | jk   |
    +----------+----------+------------+----------------+---------+------+
    | 07310001 | ALI OPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK | L    |
    | 07310002 | SANUSI   | 1981-05-11 | JL. SAWO 21    | ISLAM   | L    |
    | 07310003 | ISPANI   | 1980-02-13 | JL. SAMPUNA 23 | ISLAM   | L    |
    | 07310004 | SANTI    | 1985-09-19 | JL. BROMO 22   | KRISTEN | P    |
    | 07310005 | TITIN    | 1988-11-29 | JL. BROMO 342  | KRISTEN | P    |
    +----------+----------+------------+----------------+---------+------+
    5 rows in set (0.00 sec)



menambah data kedalam tabel dapat juga dilakukan per satu record seperti berikut ini:

    mysql>INSERT INTO mahasiswa VALUES
           -> ('07310006', 'BERNAD ', '1985-01-29', 'JL. TUKUL 20', 'BUDHA', 'L');


    mysql>INSERT INTO mahasiswa VALUES
           -> ('07310007', 'CHEN SYI', '1985-01-31', 'JL. ASIA 21', 'BUDHA', 'P');


Untuk melihat data yang diinputkan ke dalam tabel lakukan perintah query berikut

    mysql> SELECT * FROM mahasiswa;

    +----------+----------+------------+----------------+---------+------+
    | nim      | nama     | tglhr      | almt           | agama   | jk   |
    +----------+----------+------------+----------------+---------+------+
    | 07310001 | ALI OPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK | L    |
    | 07310002 | SANUSI   | 1981-05-11 | JL. SAWO 21    | ISLAM   | L    |
    | 07310003 | ISPANI   | 1980-02-13 | JL. SAMPUNA 23 | ISLAM   | L    |
    | 07310004 | SANTI    | 1985-09-19 | JL. BROMO 22   | KRISTEN | P    |
    | 07310005 | TITIN    | 1988-11-29 | JL. BROMO 342  | KRISTEN | P    |
    | 07310006 | BERNAD   | 1985-01-29 | JL. TUKUL 20   | BUDHA   | L    |
    | 07310007 | CHEN SYI | 1985-01-31 | JL. ASIA 21    | BUDHA   | P    |
    +----------+----------+------------+----------------+---------+------+
    5 rows in set (0.00 sec)



menampilkan data secara parsial juga dapat dilakukan seperti berikut ini:

    mysql> SELECT nim, nama, jk FROM mahasiswa;

    +----------+----------+------+
    | nim      | nama     | jk   |
    +----------+----------+------+
    | 07310001 | ALI OPAN | L    |
    | 07310002 | SANUSI   | L    |
    | 07310003 | ISPANI   | L    |
    | 07310004 | SANTI    | P    |
    | 07310005 | TITIN    | P    |
    | 07310006 | BERNAD   | L    |
    | 07310007 | CHEN SYI | P    |
    +----------+----------+------+
    5 rows in set (0.00 sec)


menampilkan data mahasiswa dan diurutkan berdasarkan nama;

    mysql> SELECT * FROM mahasiswa ORDER BY nama;

    +----------+-----------+------------+----------------+-----------+------+
    | nim      | nama      | tglhr      | almt           | agama     | jk   |
    +----------+-----------+------------+----------------+-----------+------+
    | 07310001 | ALI OPAN  | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
    | 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA     | L    |
    | 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA     | P    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | KRISTEN   | P    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
    | 07310005 | TITIN     | 1988-11-29 | JL. BROMO 342  | KRISTEN   | P    |
    +----------+-----------+------------+----------------+-----------+------+
    7 rows in set (0.38 sec)



menmpilkan data mahasiswa khusus untuk yang berjenis kelamin jk = P dan diurutkan
berdasarkan nama

    mysql> SELECT * FROM mahasiswa WHERE jk='P' ORDER BY nama;

    +----------+----------+------------+---------------+-----------+------+
    | nim      | nama     | tglhr      | almt          | agama     | jk   |
    +----------+----------+------------+---------------+-----------+------+
    | 07310007 | CHEN SYI | 1985-01-31 | JL. ASIA 21   | BUDHA     | P    |
    | 07310004 | SANTI    | 1985-09-19 | JL. BROMO 22  | KRISTEN   | P    |
    | 07310005 | TITIN    | 1988-11-29 | JL. BROMO 342 | KRISTEN   | P    |
    +----------+----------+------------+---------------+-----------+------+
    3 rows in set (0.00 sec)


menampilkan data mahasiswa dengan nama ALI OPAN dan SANTI

    mysql> SELECT * FROM mahasiswa WHERE nim='07310001' OR nim='07310004';

    +----------+-----------+------------+--------------+-----------+------+
    | nim      | nama      | tglhr      | almt         | agama     | jk   |
    +----------+-----------+------------+--------------+-----------+------+
    | 07310001 | ALI  OPAN | 1980-03-21 | JL. LUKU 20  | KATOLIK   | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22 | KRISTEN   | P    |
    +----------+-----------+------------+--------------+-----------+------+
    2 rows in set (0.00 sec)


Menampilkan data mahasiswa yang beragama KRISTEN dan yang jenis kelamin jk = P

    mysql> SELECT * FROM mahasiswa WHERE agama='KRISTEN' AND  jk='P';

    +----------+-------+------------+---------------+---------+------+
    | nim      | nama  | tglhr      | almt          | agama   | jk   |
    +----------+-------+------------+---------------+---------+------+
    | 07310005 | TITIN | 1988-11-29 | JL. BROMO 342 | KRISTEN | P    |
    +----------+-------+------------+---------------+---------+------+
    1 row in set (0.00 sec)


menampilkan data jumlah mahasiswa berdasarkan kelompok agama

    mysql> SELECT agama, COUNT(*) AS jumlah FROM mahasiswa GROUP BY agama;
    +-----------+--------+
    | agama     | jumlah |
    +-----------+--------+
    | BUDHA     |      2 |
    | ISLAM     |      2 |
    | KATOLIK   |      1 |
    | KRISTEN   |      1 |
    | PROTESTAN |      1 |
    +-----------+--------+
    5 rows in set (0.38 sec)



menampilkan data jumlah mahasiswa berdasarkan kelompok jenis kelamin jk

    mysql> SELECT jk AS 'Jenis Kelamin', COUNT(*) AS jumlah FROM mahasiswa GROUP BY jk;

    +---------------+--------+
    | Jenis Kelamin | jumlah |
    +---------------+--------+
    | L             |      4 |
    | P             |      3 |
    +---------------+--------+
    2 rows in set (0.00 sec)


menampilkan data jumlah mahasiswa berdasarkan kelompok jenis kelamin jk

    mysql> SELECT IF(jk='L','LAKI-LAKI','PEREMPUAN') AS 'jenis kelamin',
            -> COUNT(*) AS 'jumlah' FROM mahasiswa GROUP BY jk;

    +---------------+--------+
    | jenis kelamin | jumlah |
    +---------------+--------+
    | LAKI-LAKI     |      4 |
    | PEREMPUAN     |      3 |
    +---------------+--------+
    2 rows in set (0.00 sec)


menampilkan data nama mahasiswa dan menentukan jumlah karakternya

    mysql> SELECT nama, length(nama) AS 'panjag karakter' FROM mahasiswa;

    +-----------+-----------------+
    | nama      | panjang karakter|
    +-----------+-----------------+
    | ALI OPAN  |               8 |
    | SANUSI    |               6 |
    | ISPANI    |               6 |
    | SANTI     |               5 |
    | TITIN     |               5 |
    | CHEN SYI  |               8 |
    | BERNAD    |               6 |
    +-----------+-----------------+
    7 rows in set (0.36 sec)



2. Merubah Data

Jika ada terjadi kesalahan data yang dientri kedalam tabel dan akan dilakukan perubahan
terhadap isi tabel dapat dilakukan perintah query berikut ini:

    mysql> UPDATE nama_tabel SET nama_field_yg_dirubah='isikan data yang sebenarnya'

sebagai contoh pada tabel mahasiswa terdapat kesalahan nama untuk nim = 07310001 maka
untuk merubahnya dapat dilakukan query berikut ini:

    mysql> UPDATE mahasiswa SET nama='ALI TOPAN' WHERE nim='07310001';
    Query OK, 1 row affected (0.09 sec)
    Rows matched: 1  Changed: 1  Warnings: 0

kemudian cek kembali data dalam tabel lihat perubahan nama pada data nim='07310001'

    mysql> SELECT * FROM mahasiswa;

    +----------+-----------+------------+----------------+---------+------+
    | nim      | nama      | tglhr      | almt           | agama   | jk   |
    +----------+-----------+------------+----------------+---------+------+
    | 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK | L    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM   | L    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM   | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | KRISTEN | P    |
    | 07310005 | TITIN     | 1988-11-29 | JL. BROMO 342  | KRISTEN | P    |
    | 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA   | L    |
    | 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA   | P    |
    +----------+-----------+------------+----------------+---------+------+
    7 rows in set (0.00 sec)

sebagai latihan rubahlah data untuk field agama dari KRISTEN menjadi PROTESTAN. Dapat di
lakukan query berikut ini:

    mysql> UPDATE mahasiswa SET agama='PROTESTAN' WHERE agama='KRISTEN';
    Query OK, 2 rows affected (0.00 sec)
    Rows matched: 2  Changed: 2  Warnings: 0

kemudian cek kemabli data mahasiswa

    mysql> SELECT * FROM mahasiswa;

    +----------+-----------+------------+----------------+-----------+------+
    | nim      | nama      | tglhr      | almt           | agama     | jk   |
    +----------+-----------+------------+----------------+-----------+------+
    | 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | PROTESTAN | P    |
    | 07310005 | TITIN     | 1988-11-29 | JL. BROMO 342  | PROTESTAN | P    |
    | 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA     | L    |
    | 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA     | P    |
    +----------+-----------+------------+----------------+-----------+------+
    7 rows in set (0.00 sec)



3. Menghapus Data

Jika hehdak melakukan penghapusan data dari dalam tabel maka dapat dilakukan sebagai berikut:

    mysql> DELETE FROM nama_tabel WHERE kriteria

lakukanlah penghapusan data untuk data TITIN

    mysql> DELETE FROM mahasiswa WHERE nim='07310005';
    Query OK, 1 row affected (0.00 sec)

    mysql> SELECT * FROM mahasiswa;

    +----------+-----------+------------+----------------+-----------+------+
    | nim      | nama      | tglhr      | almt           | agama     | jk   |
    +----------+-----------+------------+----------------+-----------+------+
    | 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | PROTESTAN | P    |
    | 07310006 | BERNAD    | 1985-01-29 | JL. TUKUL 20   | BUDHA     | L    |
    | 07310007 | CHEN SYI  | 1985-01-31 | JL. ASIA 21    | BUDHA     | P    |
    +----------+-----------+------------+----------------+-----------+------+
    6 rows in set (0.00 sec)

Jika akan menghapus data secara per group dapat dilakukan seprti berikut ini:

    mysql> DELETE FROM mahasiswa WHERE agama='BUDHA';
    Query OK, 2 rows affected (0.00 sec)

    mysql> SELECT * FROM mahasiswa;

    +----------+-----------+------------+----------------+-----------+------+
    | nim      | nama      | tglhr      | almt           | agama     | jk   |
    +----------+-----------+------------+----------------+-----------+------+
    | 07310001 | ALI TOPAN | 1980-03-21 | JL. LUKU 20    | KATOLIK   | L    |
    | 07310002 | SANUSI    | 1981-05-11 | JL. SAWO 21    | ISLAM     | L    |
    | 07310003 | ISPANI    | 1980-02-13 | JL. SAMPUNA 23 | ISLAM     | L    |
    | 07310004 | SANTI     | 1985-09-19 | JL. BROMO 22   | PROTESTAN | P    |
    +----------+-----------+------------+----------------+-----------+------+
    4 rows in set (0.00 sec)

semoga bermanfaat...!!!!
Jika Anda menyukai Artikel di blog ini, Silahkan klik disini untuk berlangganan gratis via email, dengan begitu Anda akan mendapat kiriman artikel setiap ada artikel yang terbit di Damanik's Blog
 
Support : Creating Website | Damanik | Team
Copyright © 2009. Damanik's Blog - All Rights Reserved
Template Modify by bg Damanik
Proudly powered by Blogger