[x] Anda belum terdaftar di forum kami. Klik REGISTER untuk melakukan registrasi. || Atau LOGIN di sini.
IF UNIKOM
Please login or register.

Login with username, password and session length
Advanced search  

News:

Universitas Komputer Indonesia is here

Privacy
Pages: [1] 2

Author Topic: Syntax SQL  (Read 37161 times)

0 Members and 1 Guest are viewing this topic.

« on: April 27, 2009, 10:44:07 AM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Syntax SQL
« on: April 27, 2009, 10:44:07 AM »
 :sclerosis: Query oh Query  :sclerosis:
Logged

«Reply #1 on: April 27, 2009, 10:51:23 AM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #1 on: April 27, 2009, 10:51:23 AM »
Structured Query Language ata SQL adalah bahasa standar untuk mengambil data dari database,
dan juga sekaligus memanipulasi database.

Meskipun SQL menjadi bahasa standar, SQL masih memiliki "dialek" yang berbeda-beda di beberapa platform.

Misalnya :
- SQL Server menggunakan Transact-SQL atau T-SQL,
- Microsoft Access menggunakan Jet-SQL
Logged

«Reply #2 on: April 27, 2009, 11:02:51 AM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #2 on: April 27, 2009, 11:02:51 AM »
Untuk sample,
berikut ini akan saya perlihatkan syntax SQL pada SQL Server untuk beberapa kasus.

1. Perintah Select
    Perintah select adalah perintah yang digunakan untuk mengambil data yang ada di dalam table.
    Sintax nya adalah : SELECT field-1, field-2, .... field-n FROM namatabel

Contoh :
ada 3 data dari tabel mahasiswa berupa nim, nama
data-1 : | 10104417 | Kurnia Hidayat |
data-2 : | 10104422 | Ekky Patria Kencana |
data-3 : | 10104427 | Ogan Sukmawan |

dengan menggunakan perintah "Select * From mahasiswa" maka akan didapatkan data2 tersebut,
| 10104417 | Kurnia Hidayat |
| 10104422 | Ekky Patria Kencana |
| 10104427 | Ogan Sukmawan |
Logged

«Reply #3 on: April 27, 2009, 11:40:14 AM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #3 on: April 27, 2009, 11:40:14 AM »
2. Klausa Where
    Where digunakana untuk menyaring data dalam syntax/command SQL yg kita gunakan.
    Syntax : <arguments> WHERE <arguments> <operator> <arguments>

Tabel operator yang dapat digunakan :
   
> Lebih besar
< Lebih kecil
>= Lebih besar sama dengan
<= Lebih kecil sama dengan
= Sama dengan
<> Tidak sama dengan
Between x and y Antara x dan y
Like Seperti... bla bla bla... (dengan / mengandung format tertentu)
Is Null Kosong / Tidak memiliki nilai
In Nilai berada di dalam tanda ( dan tanda )
« Last Edit: April 27, 2009, 11:42:02 AM by kiddo7th »
Logged

«Reply #4 on: April 27, 2009, 11:54:30 AM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #4 on: April 27, 2009, 11:54:30 AM »
Klausa Where Lanjutan


Berikut ini adalah contoh-contoh penggunaan operator pembanding tersebut dalam query :

1. Ambil data "barang" yang "jml" nya lebih dari 20
     SQL = " SELECT * From barang WHERE jml > 20 "

2. Ambil data "nilai_mhs" yang "nilai" nya kurang dari 60
     SQL = " SELECT * From nilai_mhs WHERE nilai < 60 "

3. Ambil data "barang" yang "jml" nya lebih besar sama dengan 20

     SQL = " SELECT * From barang WHERE jml >= 20 "

4. Ambil data "nilai_mhs" yang "nilai" nya lebih kecil sama dengan 60
      SQL = " SELECT * From nilai_mhs WHERE nilai <= 60 "

5. Hapus data "mahasiswa" yang memili "NIM" sama dengan "10104422"
      SQL = " DELETE * From mahasiswa WHERE NIM = '10104422' "

6. Ambil data "barang" yang "nama_barang" nya mengandung kata "Ice"
      SQL = " SELECT * From barang WHERE nama_barang like '%Ice%' "

7. Ambil data "barang" yang "kode_brg" nya berawalan "C"
      SQL = " SELECT * From barang WHERE kode_brg like 'C%' "

8. Ambil data "barang" yang "kode_brg" nya berakhiran '2008'
      SQL = " SELECT * From barang WHERE kode_barang like '%2008' "

9. Ambil data "barang" yang "jml" nya bernilai null
      SQL = " SELECT * From barang WHERE jml is null "

10. Ambil data "mahasiswa" yang "usia" nya antara 17 - 19tahun
       
  SQL = " SELECT * From mahasiswa WHERE usia >=17 and usia<=19 "
« Last Edit: June 09, 2009, 02:17:45 PM by kiddo7th »
Logged

«Reply #5 on: April 27, 2009, 12:14:26 PM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #5 on: April 27, 2009, 12:14:26 PM »
3. Klausa Order By   
 
   Singkatnya, klausa ini digunakan untuk menrutkan data berdasarkan sesuatu / field.
    Order by ini secara defaultnya bersifat ascending (klo gak salah, hehe...)

    Sejalan dengan order by, ada 2 buah variable lain yg dapat diikut serta kan, yakni ASC dan DESC.
    -ASC untuk mengurutkan data dari yang bernilai kecil hingga ke data yang bernilai besar
    -DESC untuk mengurutkan data dari yang bernilai besar hingga ke data yang bernilai kecil

    Syntax : <arguments> ORDER BY <field> <asc> / <desc>



contoh dari data mahasiswa pada contoh penggunaan select dapat dilakukan :

1. "SELECT * From mahasiswa ORDER BY NIM desc"
     hasilnya adalah :
      | 10104427 | Ogan Sukmawan |
      | 10104422 | Ekky Patria Kencana |
      | 10104417 | Kurnia Hidayat |

2. "SELECT * From mahasiswa ORDER BY nama asc"
     hasilnya adalah :
      | 10104422 | Ekky Patria Kencana |
      | 10104417 | Kurnia Hidayat |
      | 10104427 | Ogan Sukmawan |
Logged

«Reply #6 on: April 27, 2009, 12:27:51 PM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #6 on: April 27, 2009, 12:27:51 PM »
4. Aritmethic Function
      Fungsi - fungsi aritmetika yang dapat dijalankan / diambil pada suatu SQL / data

Contoh : data awal berupa NIM, Nama Lengkap, Nilai

| 10104417 | Kurnia Hidayat | 80 |
| 10104422 | Ekky Patria Kencana | 85 |
| 10104427 | Ogan Sukmawan | 75 |


Beberapa eksekusi / function yang ada di T-SQL :

1. Sum : menjumlahkan suatu field
      syntax : "select sum(Nilai) from mahasiswa"
      result : 240

2. Max : mengambil data terbesar
       syntax : "select max(Nilai) from mahasiswa"
       result : 85

3. Min : mengambil data terkecil
       syntax : "select sum(Nilai) from mahasiswa"
       result : 75

4. Avg : menghitung nilai rata-rata
       syntax : "select avg(Nilai) from mahasiswa"
       result : 80

5. Count : menghitung banyak record
      syntax : "select count * from mahasiswa"
      result : 3
Logged

«Reply #7 on: April 27, 2009, 12:37:45 PM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #7 on: April 27, 2009, 12:37:45 PM »
5. Klausa Alternatif

     - Group by : mengelompokkan pemanggilan data, biasanya dilakukan untuk mengelompokkan
                        hasil kalkulasi pada fungsi aritmetika sebelumnya.
        contoh : "SELECT kode_brg, SUM(jml) as total FROM penjualan GROUP BY kode_brg"

     - Distinct : membuang data yang sama (saat view mode)
        contoh tanpa distinct : A0001, A0001, A0002, A0003, A0002
        dengan distinct : "SELECT DISTINCT kode_brg FROM penjualan" maka hasil = A0001, A0002, A0003
Logged

«Reply #8 on: April 27, 2009, 12:52:10 PM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #8 on: April 27, 2009, 12:52:10 PM »
6. Insert Command
      Insert disini berarti menambahkan sebuah record baru ke dalam tabel / database yang telah ada.


Ada 3 buah alternatif untuk melakukan perintah ini, yakni :


1. Alternatif 1 : mengikutsertakan nama field yang ada pada tabel

       "Insert into mahasiswa (NIM, Nama_Lengkap, Nilai) values ('10104417', 'Kurnia Hidayat', 80)"
       Hasilnya adalah
       | NIM         | Nama_Lengkap | Nilai |
       | 10104417 | Kurnia Hidayat  | 80   |

       "Insert into mahasiswa (NIM, Nama_Lengkap) values ('10104427', 'Ogan Sukmawan')"
        Hasilnya adalah
        | NIM         | Nama_Lengkap   | Nilai    |
        | 10104427 | Ogan Sukmawan | <null> |


2. Alternatif 2 : tidak mengikutsertakan nama field yang ada pada tabel
    (syaratnya adalah value sama dengan jumlah fieldnya)

        "Insert into mahasiswa values ('10104422', 'Ekky Patria Kencana', 85)"
        Hasilnya adalah sukses :
        | NIM         | Nama_Lengkap         | Nilai |
        | 10104422 | Ekky Patria Kencana  | 85   |

       "Insert into mahasiswa values ('10104422', 85)"
         Hasilnya adalah ERROR karena jumlah inputan tidak sama dengan jumlah field
       yang terdapat pada tabel.


3. Alternatif 3 : menyalin data dari table yang memiliki field / attribut yang sama dengan field yang akan disalin
    (minimal sama dari type field nya)

       "Insert into mahasiswa select * from mhs"
         Hasilnya adalah semua data yang ada di table mhs akan dimasukkan ke table mahasiswa
Logged

«Reply #9 on: April 27, 2009, 01:08:33 PM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #9 on: April 27, 2009, 01:08:33 PM »
7. Update Command

Perintah update berarti mengubah isi field dari sebuah tabel.

Misalkan semua kuantitas barang yang ada di tabel master barang hendak direset / diubah menjadi 0,
maka dapat dilakukan dengan perintah :
     " Update msbarang set qty=0 "

Selain itu, kita juga dapat meng-update beberapa field sekaligus dengan perintah :
     " Update msbarang set qty=0, min_qty=5 "

Masih ada beberapa hal lainnya yang dapat kita lakukan dengan update data.
Seperti update data dengan situasi tertentu (misal kode_brg = 'A0001' lalu update harga jual menjadi 10000)
     " Update msbarang set harga_jual = 10000 where kode_brg = 'A0001' "


Beberapa alternatif update dapat dilihat di thread berikut :
http://forumif.web.id/index.php/topic,32.0.html
Logged

«Reply #10 on: April 27, 2009, 01:29:58 PM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #10 on: April 27, 2009, 01:29:58 PM »
8. Delete Command
 
 Perintah delete berarti menghapus isi field dari sebuah tabel.
 
 Misalkan semua barang yang ada di tabel temporary barang hendak dihapus,
 maka dapat dilakukan dengan perintah :
      " Delete * from temp_barang"
 
 Masih ada beberapa hal lainnya yang dapat kita lakukan dengan delete data.
 Seperti delete data dg situasi tertentu
 (misal hapus semua record pada tabel barang dg kode_brg = 'A0001')
      " Delete * from barang 10000 where kode_brg = 'A0001' "
 
Logged

«Reply #11 on: May 06, 2009, 10:11:57 AM »

wow_onet

  • TK
  • *
  • Reputation Power: 1
  • wow_onet belum punya pengaruh.
  • Offline Offline
  • Posts: 3

  • Aktivitas bulan ini
    0%
  • Lokasi: Bandung
Re: Syntax SQL
« Reply #11 on: May 06, 2009, 10:11:57 AM »
apakah "select count * from mahasiswa" bisa dijumlah kan dengan bilangan ?
atau ??
Logged

«Reply #12 on: May 06, 2009, 10:53:58 AM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #12 on: May 06, 2009, 10:53:58 AM »
apakah "select count * from mahasiswa" bisa dijumlah kan dengan bilangan ?
atau ??

bisa, result nya masukan aja sebagai variabel (integer jg gpp)
sudah itu result td gunakan sebagai mana yang diinginkan.

jika kerepotan dengan penggunaan count, bisa juga dilakukan dengan cara
'select biasa' dan biasa nya di tiap bahasa pemrograman sudah tercantum sintax
untuk mengetahui jumlah data.

misal dengan bahasa .net saya perlihatkan :

Code: vb
        Imports System.Data.SqlClient
       Imports System.Data
       'untuk mengambil komponen sqlclient (dengan sql server)


       Dim Con As New SqlConnection
       Dim Da As SqlDataAdapter
       Dim Ds As New DataSet()
       Dim Dt As DataTable

       Con.ConnectionString = " data source='diisi dengan data source nya';initial catalog='diisi dengan katalog';user id='diisi dengan user id';password='diisi dengan password' "

       Con.Open()
       Da = New SqlDataAdapter("SELECT * FROM Mahasiswa", Con)
       Da.Fill(Ds)
       Dt = Ds.Tables(0)

       Dim i As Integer

       i = Dt.Rows.Count
       'dengan ini diketahui bahwa jml data adalah sebanyak i

       Con.Close()
Logged

«Reply #13 on: May 09, 2009, 06:13:41 AM »

baueek

  • TK
  • *
  • Reputation Power: 1
  • baueek belum punya pengaruh.
  • Offline Offline
  • Posts: 17

  • Aktivitas bulan ini
    0%
  • Lokasi: bandung
Re: Syntax SQL
« Reply #13 on: May 09, 2009, 06:13:41 AM »
eumphh..

mass..
kalo Ttg Sql injection gmn????
Logged

«Reply #14 on: May 11, 2009, 08:40:45 AM »

kiddo7th

  • SD Senior
  • *
  • Reputation Power: 4
  • kiddo7th belum punya pengaruh.
  • Offline Offline
  • Posts: 201

  • Aktivitas bulan ini
    0%
  • Lokasi: Langit Sebagai Atap Rumahku
  • Orang Gila ajah masih lebih care
Re: Syntax SQL
« Reply #14 on: May 11, 2009, 08:40:45 AM »
eumphh..

mass..
kalo Ttg Sql injection gmn? ???

dari wikipedia http://en.wikipedia.org/wiki/SQL_Injection

Quote
SQL injection is a code injection technique that exploits a security vulnerability occurring in the database layer of an application. The vulnerability is present when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed. It is an instance of a more general class of vulnerabilities that can occur whenever one programming or scripting language is embedded inside another. SQL injection attacks are also known as SQL insertion attacks.

Dengan kata lain, SQL injection dapat dikatakan sebagai suatu teknik yang dapat meng-ekploit sebuah keamanan pada suatu layer database aplikasi.


Contoh :
pada suatu kasus dalam form login terdapat syntax sebagai berikut :
Code: [Select]
statement = "SELECT * FROM users WHERE name = '" + userName + "';"
dengan mengubah username tersebut dengan statement lainnya yang memiliki nilai true (jika logic yang digunakan bernilai benar)
atau false (jika logic yg digunakan bernilai salah / berkebalikan dengan true), maka form / halaman login tersebut user dapat dengan mudah melakukan skip halaman login (jika setelah proses login berhasil tidak ada validasi lainnya)

Misal kita ubah username tadi dengan :
Code: [Select]
a' or 't' = 't
sehingga syntax yang di eksekusi menjadi :
Code: [Select]
statement = "SELECT * FROM users WHERE name = 'a' or 't' = 't';"
dengan kata lain,
walaupun tidak ada username dengan nama = 'a',
karena ada perintah 'or' dimana 't'='t',
maka syntax yang dihasilkan akan bernilai benar,
dan proses akan dilanjutkan ke tahapan berikutnya.



untuk lebih mengenal SQL injection,
silahkan baca kembali :
http://en.wikipedia.org/wiki/SQL_Injection
Logged

Pages: [1] 2
« previous next »
 

This site is hosted by VlexoFree Hosting

Page created in 0.102 seconds with 42 queries.