Saturday, October 4, 2014

Laporan Praktikum Desain Basis Data III : Perintah SQL


Teori

A. Pengertian SQL
   Structure Query Language (SQL) merupakan bahasa standar yang ditetapkan oleh Americ National Standars Institute (ANSI) untuk mengakses dan memanipulasi data pada Database Relational.Karena sifatnya standar maka setiap software RDMS harus menerapkan bahasa SQL dengan diperbolehkan untuk mengembangkan atau menyertakan perintah-perintah yang non standar.

B. Beberapa Fungsinya Perintah SQL
1. Query
   Perintah yang digunakan untuk menampilkan data dari database, perintah yang digunakan adalah SELECT.


2.DML (Data Manipulation Language)
   Perintah yang digunakan untuk manipulasi data seperti menambah, mengedit, menghapus data. Perintah yang digunakan INSERT, DELETE, UPDATE, MERGE

3. DDL (Data Definition Language)
   Perintah yang digunakan untuk mendefiniskan struktur Objek database seperti membuat tabel, mengubah struktur tabel, menghapus tabel. Perintah yang digunakan CREATE, ALTER, DROP, TRUNCATE, RENAME

4. DCL (Data Control Language)
   Perintah yang digunakan untuk mengatur perijinan akses terhadap database. Perintah yang digunakan GRANT, REVOKE

5. TCL (Transaction Control Language)
   Perintah yang digunakan untuk menentukan suatu transaksi diterapkan secara permanen atau dibatalkan. Perintah yang digunakan COMMIT, ROLLBACK, SAVEPOINT.

C. Aturan Penulisan Perintah SQL
  1. Perintah dapat ditulis dalam huruf besar maupun kecil.
  2. Setiap perintah diakhiri dengan tanda titik koma “ ; “
  3. Perintah dapat ditulis satu atau beberapa baris untuk memberikan komentar pada perintah SQL. Gunakan tanda minus “ - - “ untuk  komentar 1 baris, atau di antara tanda “ \* “ dan “ *\ “ untuk komentar beberapa baris. 

D. Perintah Dasar SQL dengan Fungsinya
1. Perintah SELECT
Berfungsi untuk menampilkan data dari tabel, sintak dasarnya seperti berikut :
SELECT namakolom, namakolom,… FROM namatabel WHERE kriteria;
Contoh :
  1. SELECT nis,nama,kelas FROM siswa;
  2. SELECT * FROM siswa;
  3. SELECT nis,nama,kelas FROM siswa WHERE kelas = ‘3C’;
  4. SELECT * FROM siswa WHERE nama like ‘AN%’ ORDER BY nama ASC;

Keterangan :
  • Perintah WHERE merupakan Optional tidak harus disertakan seperti SELECT dan FROM.
  •  Contoh ‘a’ menampilkan semua informasi nis,nama,kelas dari data siswa.
  • Contoh ‘b’ menampilkan semua data siswa.
  • Contoh ‘c’ menampilkan semua informasi nis,nama,kelas dari data siswa kelas 3C.
  • Contoh ‘d’ menampilkan semua data siswa yang namanya diawali dengan “AN” dan diurutkan berdasarkan nama secara Ascending.

2. Perintah INSERT
Berfungsi untuk menambah informasi/data baru kedalam tabel. Sintak dasarnya seperti berikut :   
INSERT INTO namatabel (kolom) VALUES (value); Contoh :
  •  INSERT INTO siswa (nis,nama,kelas) VALUES (‘103099981’,’AIDA AGUSTINA’,’3C’); atau
  •   INSERT INTO siswa VALUES (‘103099981’,’AIDA AGUSTINA’,’3C’);

3. Perintah DELETE
 Berfungsi untuk menghapus informasi/data pada tabel. Sintaknya sebagai berikut :
 DELETE FROM namatabel WHERE keriteria;
  •  Contoh : DELETE FROM siswa WHERE nama = ‘AIDA AGUSTINA’;
  • Keterangan : Menghapus data siswa yang memiliki nama “AIDA AGUSTINA”

4. Perintah UPDATE
 Berfungsi untuk memperbaiki informasi/data pada tabel. Sintaknya sebagai berikut:
 UPDATE namatabel SET namakolom=value WHERE keriteria;
  • Contoh : UPDATE siswa SET nama=’HERDI’ WHERE nis=’10309965’;
  • Keterangan : Mengganti nama menjadi “HERDI” untuk siswa yang mempunyaI nis “10309965”
    Source >> http://siteblogforu.blogspot.com/2013/09/pengertian-dan-perintah-sql.html

       Hubungan Antar Tabel (Reference)  
       Dalam hal hubungan antar tabel, ada beberapa syarat yang harus terpenuhi seperti, antara tabel yang ingin dihubungkan harus memiliki sebuah field atau kolom dengan tipe data yang sama. Dengan kata lain ada tabel yang memiliki primary key sebagai kunci untuk menghubungkan ke tabel yang lain dimana terdapat field yang mempunyai tipe data yang sama dengan kata lain yang disebut foreign key. Misalnya, terdapat tabel barang dan macam_barang. Berikut query kedua tabel tersebut :
    • create table macam_barang (id_mac integer not null, nama_mac varchar(15), guna_mac varchar(40), primary key (id_mac)); 
    • create table barang (id_bar integer not null, nama_bar varchar(15), id_mac integer not null references macam_barang, primary key (id_bar, id_mac));  
    Atau ketika kita lupa memberikan references pada tabel macam barang kita dapat memberikan query sebagai berikut : 

    • alter table barang add constraint relasi_barang foreign key (id_mac) references macam_barang (id_mac) on update no action on delete no action
      Source >> Musthofa, Aziz. Modul Praktikum Desain Basis Data. Malang

      Tugas & Praktikum

         PostgreSQL (shell) :

       Server [localhost]:
      Database [postgres]:
      Port [5432]:
      Username [postgres]:
      Password for user postgres:
      psql (9.3.5)
      WARNING: Console code page (850) differs from Windows code page (1252)
               8-bit characters might not work correctly. See psql reference
               page "Notes for Windows users" for details.
      Type "help" for help.

      postgres=# \du
                                   List of roles
       Role name |                   Attributes                   | Member of
      -----------+------------------------------------------------+-----------
       innamul   | Create DB                                      | {}
       postgres  | Superuser, Create role, Create DB, Replication | {}


      postgres=# \l
                                                         List of databases
            Name       |  Owner   | Encoding |          Collate          |           C
      type           |   Access privileges
      -----------------+----------+----------+---------------------------+------------
      ---------------+-----------------------
       innamul13650019 | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
      Indonesia.1252 |
       postgres        | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
      Indonesia.1252 |
       template0       | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
      Indonesia.1252 | =c/postgres          +
                       |          |          |                           |
                     | postgres=CTc/postgres
       template1       | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
      Indonesia.1252 | =c/postgres          +
                       |          |          |                           |
                     | postgres=CTc/postgres
      (4 rows)


      postgres=# /c innamul13650019;
      ERROR:  syntax error at or near "/"
      LINE 1: /c innamul13650019;
              ^
      postgres=# /c innamul13650019
      postgres-# ;
      ERROR:  syntax error at or near "/"
      LINE 1: /c innamul13650019
              ^
      postgres=# \c innamul13650019
      WARNING: Console code page (850) differs from Windows code page (1252)
               8-bit characters might not work correctly. See psql reference
               page "Notes for Windows users" for details.
      You are now connected to database "innamul13650019" as user "postgres".
      innamul13650019=# create table fakultas (id_fak integer not null, nama_fak varch
      ar (20), primary key (id_fak));
      CREATE TABLE
      innamul13650019=# \z
                                    Access privileges
       Schema |     Name     | Type  | Access privileges | Column access privileges
      --------+--------------+-------+-------------------+--------------------------
       public | fakultas     | table |                   |

      (1 rows)


      innamul13650019=# select * from fakultas
      innamul13650019-# ;
       id_fak | nama_fak
      --------+----------
      (0 rows)


      innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
      char (20), alamat_mah text, id_fak integer not null references from fakultas, pr
      ymary key (nim_mah, id_fak));
      ERROR:  syntax error at or near "from"
      LINE 1: ...amat_mah text, id_fak integer not null references from fakul...
                                                                   ^
      innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
      char (20), alamat_mah text, id_fak integer not null references to fakultas, prym
      ary key (nim_mah, id_fak));
      ERROR:  syntax error at or near "to"
      LINE 1: ...amat_mah text, id_fak integer not null references to fakulta...
                                                                   ^
      innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
      char (20), alamat_mah text, id_fak integer not null references fakultas, prymary
       key (nim_mah, id_fak));
      ERROR:  type "key" does not exist
      LINE 1: ...fak integer not null references fakultas, prymary key (nim_m...
                                                                   ^
      innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
      char (20), alamat_mah text, id_fak integer not null references fakultas, primary
       key (nim_mah, id_fak));
      CREATE TABLE
      innamul13650019=# /z
      innamul13650019-# ;
      ERROR:  syntax error at or near "/"
      LINE 1: /z
              ^
      innamul13650019=# \z
                                    Access privileges
       Schema |     Name     | Type  | Access privileges | Column access privileges
      --------+--------------+-------+-------------------+--------------------------
       public | fakultas     | table |                   |
       public | identitasnim | table |                   |
       public | mahasiswa    | table |                   |
       public | pekerjanim   | table |                   |
      (4 rows)


      innamul13650019=# select * from mahasiswa;
       nim_mah | mana_mah | alamat_mah | id_fak
      ---------+----------+------------+--------
      (0 rows)


      innamul13650019=# \d mahasiswa
                  Table "public.mahasiswa"
         Column   |         Type          | Modifiers
      ------------+-----------------------+-----------
       nim_mah    | integer               | not null
       mana_mah   | character varying(20) |
       alamat_mah | text                  |
       id_fak     | integer               | not null
      Indexes:
          "mahasiswa_pkey" PRIMARY KEY, btree (nim_mah, id_fak)
      Foreign-key constraints:
          "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) REFERENCES fakultas(id_fak)


      innamul13650019=# insert into fakultas values (1, 'SAINTEK', 2, "PSIKOLOGI');
      innamul13650019"# "
      innamul13650019(# )
      innamul13650019-# ;
      ERROR:  column "PSIKOLOGI');
      " does not exist
      LINE 1: insert into fakultas values (1, 'SAINTEK', 2, "PSIKOLOGI');
                                                            ^
      innamul13650019=# insert into fakultas values (1, 'SAINTEK');
      INSERT 0 1
      innamul13650019=# insert into fakultas values (2, 'PSIKOLOGI');
      INSERT 0 1
      innamul13650019=# select * from fakultas
      innamul13650019-# ;
       id_fak | nama_fak
      --------+-----------
            1 | SAINTEK
            2 | PSIKOLOGI
      (2 rows)

      innamul13650019=# \d mahasiswa
                 Table "public.mahasiswa"
      Column  |         Type          | Modifiers
      ------------+-----------------------+-----------
       nim_mah    | integer               | not null
       nama_mah   | character varying(20) |
       alamat_mah | text                  |
       id_fak     | integer               | not null
       no_hp      | integer               |
      Indexes:
          "mahasiswa_pkey" PRIMARY KEY, btree (nim_mah, id_fak)
      Foreign-key constraints:
          "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) REFERENCES fakultas(id_fak)


      innamul13650019=# \d fakultas
                 Table "public.fakultas"
        Column  |         Type          | Modifiers
      ----------+-----------------------+-----------
       id_fak   | integer               | not null
       nama_fak | character varying(20) |
      Indexes:
          "fakultas_pkey" PRIMARY KEY, btree (id_fak)
      Referenced by:
          TABLE "mahasiswa" CONSTRAINT "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) RE
      FERENCES fakultas(id_fak)


      innamul13650019=# select * from fakultas
      innamul13650019-# ;
       id_fak | nama_fak
      --------+-----------
            1 | SAINTEK
            2 | PSIKOLOGI
      (2 rows)


      innamul13650019=# \d mahasiswa
                  Table "public.mahasiswa"
         Column   |         Type          | Modifiers
      ------------+-----------------------+-----------
       nim_mah    | integer               | not null
       nama_mah   | character varying(20) |
       alamat_mah | text                  |
       id_fak     | integer               | not null
       no_hp      | integer               |
      Indexes:
          "mahasiswa_pkey" PRIMARY KEY, btree (nim_mah, id_fak)
      Foreign-key constraints:
          "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) REFERENCES fakultas(id_fak)


      innamul13650019=# insert into mahasiswa values (12, 'Edi','Malang', 1, 085645342
      8)
      innamul13650019-# ;
      INSERT 0 1
      innamul13650019=# select * from mahasiswa
      innamul13650019-# ;
       nim_mah | nama_mah | alamat_mah | id_fak |   no_hp
      ---------+----------+------------+--------+-----------
            12 | Edi      | Malang     |      1 | 856453428
      (1 row)


      innamul13650019=# insert into mahasiswa values (13, 'Shinta','Jogja',1, 08133475
      65675);
      ERROR:  integer out of range
      innamul13650019=# insert into mahasiswa values (13, 'Shinta','Jogja',1, 08133475
      65673);
      ERROR:  integer out of range
      innamul13650019=# alter table mahasiswa  alter column no_hp type varchar(15);
      ALTER TABLE
      innamul13650019=# select * from mahasiswa
      innamul13650019-# ;
       nim_mah | nama_mah | alamat_mah | id_fak |   no_hp
      ---------+----------+------------+--------+-----------
            12 | Edi      | Malang     |      1 | 856453428
      (1 row)
      Server [localhost]:
      Database [postgres]:
      Port [5432]:
      Username [postgres]:
      Password for user postgres:
      psql (9.3.5)
      WARNING: Console code page (850) differs from Windows code page (1252)
               8-bit characters might not work correctly. See psql reference
               page "Notes for Windows users" for details.
      Type "help" for help.

      postgres=# \du
                                   List of roles
       Role name |                   Attributes                   | Member of
      -----------+------------------------------------------------+-----------
       innamul   | Create DB                                      | {}
       postgres  | Superuser, Create role, Create DB, Replication | {}


      postgres=# \l
                                                         List of databases
            Name       |  Owner   | Encoding |          Collate          |           C
      type           |   Access privileges
      -----------------+----------+----------+---------------------------+------------
      ---------------+-----------------------
       innamul13650019 | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
      Indonesia.1252 |
       postgres        | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
      Indonesia.1252 |
       template0       | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
      Indonesia.1252 | =c/postgres          +
                       |          |          |                           |
                     | postgres=CTc/postgres
       template1       | postgres | UTF8     | Indonesian_Indonesia.1252 | Indonesian_
      Indonesia.1252 | =c/postgres          +
                       |          |          |                           |
                     | postgres=CTc/postgres
      (4 rows)


      postgres=# /c innamul13650019;
      ERROR:  syntax error at or near "/"
      LINE 1: /c innamul13650019;
              ^
      postgres=# /c innamul13650019
      postgres-# ;
      ERROR:  syntax error at or near "/"
      LINE 1: /c innamul13650019
              ^
      postgres=# \c innamul13650019
      WARNING: Console code page (850) differs from Windows code page (1252)
               8-bit characters might not work correctly. See psql reference
               page "Notes for Windows users" for details.
      You are now connected to database "innamul13650019" as user "postgres".
      innamul13650019=# create table fakultas (id_fak integer not null, nama_fak varch
      ar (20), primary key (id_fak));
      CREATE TABLE
      innamul13650019=# \z
                                    Access privileges
       Schema |     Name     | Type  | Access privileges | Column access privileges
      --------+--------------+-------+-------------------+--------------------------
       public | fakultas     | table |                   |
       public | identitasnim | table |                   |
       public | pekerjanim   | table |                   |
      (3 rows)


      innamul13650019=# select * from fakultas
      innamul13650019-# ;
       id_fak | nama_fak
      --------+----------
      (0 rows)


      innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
      char (20), alamat_mah text, id_fak integer not null references from fakultas, pr
      ymary key (nim_mah, id_fak));
      ERROR:  syntax error at or near "from"
      LINE 1: ...amat_mah text, id_fak integer not null references from fakul...
                                                                   ^
      innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
      char (20), alamat_mah text, id_fak integer not null references to fakultas, prym
      ary key (nim_mah, id_fak));
      ERROR:  syntax error at or near "to"
      LINE 1: ...amat_mah text, id_fak integer not null references to fakulta...
                                                                   ^
      innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
      char (20), alamat_mah text, id_fak integer not null references fakultas, prymary
       key (nim_mah, id_fak));
      ERROR:  type "key" does not exist
      LINE 1: ...fak integer not null references fakultas, prymary key (nim_m...
                                                                   ^
      innamul13650019=# create table mahasiswa (nim_mah integer not null, mana_mah var
      char (20), alamat_mah text, id_fak integer not null references fakultas, primary
       key (nim_mah, id_fak));
      CREATE TABLE
      innamul13650019=# /z
      innamul13650019-# ;
      ERROR:  syntax error at or near "/"
      LINE 1: /z
              ^
      innamul13650019=# \z
                                    Access privileges
       Schema |     Name     | Type  | Access privileges | Column access privileges
      --------+--------------+-------+-------------------+--------------------------
       public | fakultas     | table |                   |
       public | identitasnim | table |                   |
       public | mahasiswa    | table |                   |
       public | pekerjanim   | table |                   |
      (4 rows)


      innamul13650019=# select * from mahasiswa;
       nim_mah | mana_mah | alamat_mah | id_fak
      ---------+----------+------------+--------
      (0 rows)


      innamul13650019=# \d mahasiswa
                  Table "public.mahasiswa"
         Column   |         Type          | Modifiers
      ------------+-----------------------+-----------
       nim_mah    | integer               | not null
       mana_mah   | character varying(20) |
       alamat_mah | text                  |
       id_fak     | integer               | not null
      Indexes:
          "mahasiswa_pkey" PRIMARY KEY, btree (nim_mah, id_fak)
      Foreign-key constraints:
          "mahasiswa_id_fak_fkey" FOREIGN KEY (id_fak) REFERENCES fakultas(id_fak)


      innamul13650019=# insert into fakultas values (1, 'SAINTEK', 2, "PSIKOLOGI');
      innamul13650019"# "
      innamul13650019(# )
      innamul13650019-# ;
      ERROR:  column "PSIKOLOGI');
      " does not exist
      LINE 1: insert into fakultas values (1, 'SAINTEK', 2, "PSIKOLOGI');
                                                            ^
      innamul13650019=# insert into fakultas values (1, 'SAINTEK');
      INSERT 0 1
      innamul13650019=# insert into fakultas values (2, 'PSIKOLOGI');
      INSERT 0 1
      innamul13650019=# select * from fakultas
      innamul13650019-# ;
       id_fak | nama_fak
      --------+-----------
            1 | SAINTEK
            2 | PSIKOLOGI
      (2 rows)


      innamul13650019=# insert into mahasiswa values (13, 'Shinta','Jogja',1, 08133475
      65673);
      INSERT 0 1
      innamul13650019=# select * from mahasiswa;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            12 | Edi      | Malang     |      1 | 856453428
            13 | Shinta   | Jogja      |      1 | 813347565673
      (2 rows)


      innamul13650019=# insert into mahasiswa values (14, 'Luki', 'Ponorogo', 2, '0825
      76568798);
      innamul13650019'#
      innamul13650019'# select * from mahasiswa
      innamul13650019'# insert into mahasiswa values (13, 'Shinta','Jogja',1, 08133475
      65673');
      ERROR:  syntax error at or near "Shinta"
      LINE 4: insert into mahasiswa values (13, 'Shinta','Jogja',1, 081334...
                                                 ^
      innamul13650019=# insert into mahasiswa values (14, 'Luki', 'Ponorogo', 2, '0825
      76568798');
      INSERT 0 1
      innamul13650019=# select * from mahasiswa;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            12 | Edi      | Malang     |      1 | 856453428
            13 | Shinta   | Jogja      |      1 | 813347565673
            14 | Luki     | Ponorogo   |      2 | 082576568798
      (3 rows)


      innamul13650019=# select * from fakultas;
       id_fak | nama_fak
      --------+-----------
            1 | SAINTEK
            2 | PSIKOLOGI
      (2 rows)


      innamul13650019=# delete from mahasiswa where nim_mah= 12;
      DELETE 1
      innamul13650019=# delete from mahasiswa where nim_mah= 13;
      DELETE 1
      innamul13650019=# select * from mahasiswa; nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            14 | Luki     | Ponorogo   |      2 | 082576568798
      (1 row)


      innamul13650019=# insert into mahasiswa values (13, 'Shinta','Jogja',1, '0813347
      565673');
      INSERT 0 1
      innamul13650019=# insert into mahasiswa values (12, 'Edi','Malang', 1, '08564534
      28');
      INSERT 0 1
      innamul13650019=# select * from mahasiswa;
       nim_mah | nama_mah | alamat_mah | id_fak |     no_hp
      ---------+----------+------------+--------+---------------
            14 | Luki     | Ponorogo   |      2 | 082576568798
            13 | Shinta   | Jogja      |      1 | 0813347565673
            12 | Edi      | Malang     |      1 | 0856453428
      (3 rows)


      innamul13650019=#  select nim_mah, nama_mah from mahasiswa;
       nim_mah | nama_mah
      ---------+----------
            14 | Luki
            13 | Shinta
            12 | Edi
      (3 rows)


      innamul13650019=# select * from mahasiswa where nim_mah=13;
       nim_mah | nama_mah | alamat_mah | id_fak |     no_hp
      ---------+----------+------------+--------+---------------
            13 | Shinta   | Jogja      |      1 | 0813347565673
      (1 row)


      innamul13650019=# select nim_mah, nama_mah, nama_fak from mahasiswa, fakultas wh
      ere id_fak.mahasiswa=id_fak.fakultas;
      ERROR:  missing FROM-clause entry for table "id_fak"
      LINE 1: ...nama_mah, nama_fak from mahasiswa, fakultas where id_fak.mah...
                                                                   ^
      innamul13650019=# select nim_mah, nama_mah, nama_fak from mahasiswa, fakultas wh
      ere mahasiswa.id_fak=fakultas.id_fak;
       nim_mah | nama_mah | nama_fak
      ---------+----------+-----------
            14 | Luki     | PSIKOLOGI
            13 | Shinta   | SAINTEK
            12 | Edi      | SAINTEK
      (3 rows)


      innamul13650019=# delete from mahasiswa where nim_mah= 13;
      DELETE 1
      innamul13650019=# select * from mahasiswa;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            14 | Luki     | Ponorogo   |      2 | 082576568798
            12 | Edi      | Malang     |      1 | 0856453428
      (2 rows)


      innamul13650019=# update mahasiswa set alamat_mah='Solo' where nim_mah=12;
      UPDATE 1
      innamul13650019=# update mahasiswa set no_hp='0857688788' where nim_mah=12;
      UPDATE 1
      innamul13650019=# select * from mahasiswa;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            14 | Luki     | Ponorogo   |      2 | 082576568798
            12 | Edi      | Solo       |      1 | 0857688788
      (2 rows)


      innamul13650019=# select * from mahasiswa order by nim_mah;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            12 | Edi      | Solo       |      1 | 0857688788
            14 | Luki     | Ponorogo   |      2 | 082576568798
      (2 rows)


      innamul13650019=# select * from mahasiswa order by nim_mah desc;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            14 | Luki     | Ponorogo   |      2 | 082576568798
            12 | Edi      | Solo       |      1 | 0857688788
      (2 rows)


      innamul13650019=# select * from fakultas ;
       id_fak | nama_fak
      --------+-----------
            1 | SAINTEK
            2 | PSIKOLOGI
      (2 rows)


      innamul13650019=# select * from fakultas order by nama_fak;
       id_fak | nama_fak
      --------+-----------
            2 | PSIKOLOGI
            1 | SAINTEK
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
      ltas.id_fak;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+-----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
            12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
      (2 rows)


      innamul13650019=# select *  from mahasiswa where mahasiswa.id_fak=fakultas.id_fa
      k;
      ERROR:  missing FROM-clause entry for table "fakultas"
      LINE 1: select *  from mahasiswa where mahasiswa.id_fak=fakultas.id_...
                                                              ^
      innamul13650019=# select *  from mahasiswa where mahasiswa.id_fak=2;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            14 | Luki     | Ponorogo   |      2 | 082576568798
      (1 row)


      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+-----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2, f
      akultas.id_fak=2;
      ERROR:  syntax error at or near ","
      LINE 1: ... from mahasiswa, fakultas where mahasiswa.id_fak=2, fakultas...
                                                                   ^
      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
      ltas.id_fak;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+-----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
            12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
      ltas.id_fak=2;
      ERROR:  operator does not exist: integer = boolean
      LINE 1: ...*  from mahasiswa, fakultas where mahasiswa.id_fak=fakultas....
                                                                   ^
      HINT:  No operator matches the given name and argument type(s). You might need t
      o add explicit type casts.
      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+-----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
      (2 rows)


      innamul13650019=# select * from mahasiswal
      innamul13650019-# select * from mahasiswa;
      ERROR:  syntax error at or near "select"
      LINE 2: select * from mahasiswa;
              ^
      innamul13650019=# select * from mahasiswa;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            14 | Luki     | Ponorogo   |      2 | 082576568798
            12 | Edi      | Solo       |      1 | 0857688788
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+-----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2, f
      akultas.id_fak=2;
      ERROR:  syntax error at or near ","
      LINE 1: ... from mahasiswa, fakultas where mahasiswa.id_fak=2, fakultas...
                                                                   ^
      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=2 fa
      kultas.id_fak=2;
      ERROR:  syntax error at or near "fakultas"
      LINE 1: ...from mahasiswa, fakultas where mahasiswa.id_fak=2 fakultas.i...
                                                                   ^
      innamul13650019=# select * from mahasiswa;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp
      ---------+----------+------------+--------+--------------
            14 | Luki     | Ponorogo   |      2 | 082576568798
            12 | Edi      | Solo       |      1 | 0857688788
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where nama_fak='SAINTEK';
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
            12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where fakultas.nama_fak='SA
      INTEK';
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
            12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where fakultas.nama_fak='SA
      INTEK';
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      1 | SAINTEK
            12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
      ltas.id_fak;
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+-----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
            12 | Edi      | Solo       |      1 | 0857688788   |      1 | SAINTEK
      (2 rows)


      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
      ltas.id_fak and nama_fak='SAINTEK';
       nim_mah | nama_mah | alamat_mah | id_fak |   no_hp    | id_fak | nama_fak
      ---------+----------+------------+--------+------------+--------+----------
            12 | Edi      | Solo       |      1 | 0857688788 |      1 | SAINTEK
      (1 row)


      innamul13650019=# select *  from mahasiswa, fakultas where mahasiswa.id_fak=faku
      ltas.id_fak and nama_fak!='SAINTEK';
       nim_mah | nama_mah | alamat_mah | id_fak |    no_hp     | id_fak | nama_fak
      ---------+----------+------------+--------+--------------+--------+-----------
            14 | Luki     | Ponorogo   |      2 | 082576568798 |      2 | PSIKOLOGI
      (1 row)


      innamul13650019=# drop table fakultas;
      ERROR:  cannot drop table fakultas because other objects depend on it
      DETAIL:  constraint mahasiswa_id_fak_fkey on table mahasiswa depends on table fa
      kultas
      HINT:  Use DROP ... CASCADE to drop the dependent objects too.
      innamul13650019=# select * from fakultas;
       id_fak | nama_fak
      --------+-----------
            1 | SAINTEK
            2 | PSIKOLOGI
      (2 rows)


      innamul13650019=# delete data mahasiswa;
      ERROR:  syntax error at or near "data"
      LINE 1: delete data mahasiswa;
                     ^
      innamul13650019=# delete mahasiswa;
      ERROR:  syntax error at or near "mahasiswa"
      LINE 1: delete mahasiswa;
                     ^
      innamul13650019=# drop mahasiswa;
      ERROR:  syntax error at or near "mahasiswa"
      LINE 1: drop mahasiswa;
                   ^
      innamul13650019=# drop table mahasiswa;
      DROP TABLE
      innamul13650019=# drop table fakultas;
      DROP TABLE
      innamul13650019=# \d
                  List of relations
       Schema |     Name     | Type  |  Owner
      --------+--------------+-------+----------
       public | identitasnim | table | postgres
      (1 row)


      innamul13650019=# select * from identitasnim;
       idn_idn | namadepan_idn | namabelakang_idn | tgl_lahir_idn | status_idn | alama
      t_idn
      ---------+---------------+------------------+---------------+------------+------
      ------
      (0 rows)


      innamul13650019=#

         MySQL (SQLyog) :















      Evaluasi Perbandingan DBMS
         Dalam penggunaan PostgreSQL maupun MySQL(SQLyog) sama sekali tidak ada perbedaan dalam penggunaan query, hanya saja pada MySQL kita ngga diharuskan untuk menambahkan (;) pada setiap query yang akan di 'run', dan terdapat perbedaan lainnya seperti pada penggunaan tanda (" ") dalam query tersebut. dan dalam pengerjaan tugas rumah pun ngga terdapat permasalahan yang mengharuskan user untuk mencari query ke google seperti pada bab-bab sebelumnya.

      Kesimpulan
         Kembali ke awal, semuanya dikembalikan kepada readers pingin pake Postgre ataupun SQLyog, karena pada dasarnya keduanya ngga terlalu berbeda,  so pasti karena keduanya sama-sama pake bahasa SQL, hahaha
         Tapi walaupun pada bab kali ini ngga ada perbedaan yang berarti, tetap aja komitmen pada SQL yang dibutuhkan agar dapat menguasai semua IDE SQL, jadi tetap belajar aja yo! belajar bareng sama aku juga bisa, hahaha kok aku sok penguasa dunia SQL gitu ya -_-

         See you next week in my task, bye bye


      No comments:

      Post a Comment

      Total Pageviews

      Blogger news

      Powered by Blogger.
      author
      Jake Simms
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt utlaoreet dolore.