Kamis, 11 Oktober 2012

Jawaban UAS DDB

  
Datediff : Untuk menghitung perbedaan waktu seperti jarak hari atau menit antara dua tanggal yang diberikan atau diketahui

dateadd : Menambah nilai datetime dengan interval yang diberikan 

getdate : mengembalikan tanggal dan waktu saat ini dari komputer yang menjalankan SQL Server

4. select Nomor Pegawai, Nama, Sex, Nikah, Agama, Pendidikan, Jabatan, Kode Kontrak, tgl1 from dbo.pegawai
  

5. Create procedure HitungJumlahBayar @nomer char (10) as
select nomer,nama,kodekontrak,sum(tgl1) from vie_DataPegawai where nomer=@nomer


6. create procedure TampilPendidikan @Pendidikan char (20) as
select nama,pendidikan from view_DataPegawai where pendidikan = @pendidikan


7. create function PendidikanPegawai (@nomer char (10))
Returns char (20) as
begin
Return (select pendidikan from pendidikan where kodepd=(select pendidikan from DataPegawai where nomer=@nomer))
end

Selasa, 09 Oktober 2012

Dasar Koneksi Database MySQL ke Java (Tutorial)

TUTORIAL KONEKSI JAVA DENGAN DATABASE MYSQL DENGAN TOOL NETBEANS
Koneksi ke database pada Java ditangani oleh JDBC (java database connectivity).
JDBC merupakan salah satu API(Application Programming Interface) Java yang secara
khusus ditujukan untuk menangani koneksi ke database. Dengan JDBC, kita memungkinkan
untuk menghubungkan database MySQL, oracle , access dan database lain ke java.
Pada tutorial ini akan dibahas cara menghubungkan JAVA dengan MySQL. Yang
dibutuhkan :
1. Netbeans
2. J2SE(Java)
3. Apache/Lampp (yang didalamnya terdapat database MySQL)
Langkah pertama : jika kita menggunakan netbeans, buatlah project baru java standar
application, atau jika sudah ada projectnya, kita tinggal melakukan import library MySql JDBC
Driver, yaitu library yang berisi API(application programming interface) untuk koneksi java ke
MySql.
Caranya :
1. Klik kanan pada folder library pada project anda. Lihat gambar :
2. Pilih “add library”, dan kemudian akan muncul banyak pilihan library, dan cari “MySQL
JDBC Driver”. Lalu klik add Library.

Langkah kedua : buatlah sebuah kelas yang bertugas untuk membuat/ mengatur/
mengkondisikan/ mengeksekusi koneksi dari program Java anda ke MySql. Kenapa perlu
digunakan kelas baru???. Agar kita tidak perlu mengkoding ulang jika kita membutuhkan
koneksi database lebih dari 1 kali. Dengan adanya kelas koneksi, kita tinggal menginstansiasi
objek dari kelas koneksi tersebut,sehingga tidak terjadi pemborosan kode dan program pun
menjadi lebih optimal efisien dan lebih rapi.
Dalam contoh program, kelas yang bertugas untuk menangani koneksi database MySql diberi
nama dengan kelas koneksi.java
Source Code koneksi.java:
package formdbmysql;
import com.mysql.jdbc.ResultSetMetaData;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
*
* @author pattimura
*/
public class koneksi {
private Statement data = null;
private Connection koneksi = null;
private String Url="jdbc:Mysql://localhost/"; //host database anda
private String DbName="tes_java"; //nama database Anda
private String DBUser="root"; //username dari database, jika menggunakan default
xampp maka username = root
private String DBPassword="root";//password db , default xampp tidak ada = "";
public koneksi(){
try {
//setting driver yang digunakan untuk terhubung ke database
Class.forName("com.mysql.jdbc.Driver");
//membuat koneksi dengan parameter url +nama database, username dan
password
koneksi = DriverManager.getConnection(Url+DbName, DBUser, DBPassword);
//membuat statement yang akan digunakan untuk mengeksekusi query dari
aplikasi
data = this.koneksi.createStatement();
} catch (Throwable ex) {
System.out.println("error : "+ex);
System.exit(1);
}
}
public Connection getConnection(){
return koneksi;
}
public Statement getStatement(){
return data;
}
}
Langkah ketiga : Buatkan 1 file utama menggunakan jFrame dengan nama Utama.java
Source Code :
package formdbmysql;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author pattimura
*/
public class Utama extends javax.swing.JFrame {
/** Creates new form Utama */
public Utama() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton4 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText("Stambuk :");
jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
jLabel2.setText("Nama :");
jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
jLabel3.setText("Komentar :");
jLabel3.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);
jButton1.setText("Input");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Update");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setText("Delete");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null},
{null, null, null},
{null, null, null},
{null, null, null}
},
new String [] {
"Stambuk", "Nama", "Komentar"
}
));
jScrollPane2.setViewportView(jTable1);
jButton4.setText("Show");
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap(13, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addGap(15, 15, 15)
.addGroup(layout.createParallelGroup(javax.swing.GroupL
ayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.Compon
entPlacement.RELATED)
.addComponent(jScrollPane1))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swin
g.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel2))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swin
g.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField2)
.addComponent(jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE, 224,
javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addGroup(layout.createSequentialGroup()
.addGap(33, 33, 33)
.addComponent(jButton1,
javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jButton2,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addGap(18, 18, 18)
.addComponent(jButton3,
javax.swing.GroupLayout.PREFERRED_SIZE, 82,
javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(jScrollPane2,
javax.swing.GroupLayout.PREFERRED_SIZE, 373,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addGap(177, 177, 177)
.addComponent(jButton4)
.addContainerGap(178, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(25, 25, 25)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.TRAILING)
.addComponent(jTextField1,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED
)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.TRAILING)
.addComponent(jLabel2)
.addComponent(jTextField2,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addComponent(jLabel3)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignm
ent.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton2))
.addComponent(jButton3))
.addGap(18, 18, 18)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE,
98, Short.MAX_VALUE)
.addGap(18, 18, 18)
.addComponent(jButton4)
.addGap(19, 19, 19))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.insert(this.jTextField1.getText(), this.jTextField2.getText(),
this.jTextArea1.getText());
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.update(this.jTextField1.getText(), this.jTextField2.getText(),
this.jTextArea1.getText());
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.delete(this.jTextField1.getText());
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
this.setTableFromDB();
}
private void insert(String nim, String nama, String komentar){
// buat objek koneksi yang menangani koneksi ke database
koneksi conect = new koneksi();
// tentukan query yang akan dijalankan pada mySql/database
// kita akan memasukkan data ke dalam tabel mahasiswa
String query = "insert into mahasiswa (nim,nama,komentar) values
('"+nim+"','"+nama+"','"+komentar+"')";
//eksekusi query tersebut dengan cara :
try {
conect.getStatement().executeUpdate(query); //eksekusi
JOptionPane.showMessageDialog(this, "insert berhasil");//pemberitahuan
jika berhasil
} catch (SQLException ex) {
//jika ada kesalahan, maka akan ada pesan error dari sintaks dibawah
ini.
Logger.getLogger(Utama.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(this, "insert gagal");//pemberitahuan
jika gagal
}
}
private void update(String nim, String nama, String komentar){
// buat objek koneksi yang menangani koneksi ke database
koneksi conect = new koneksi();
// tentukan query update yang akan dijalankan pada mySql/database
// dalam queri ini kita akan mengganti nama dan komentar dari data yang
terkait dengan nim.
String query = "update mahasiswa set nama='"+nama+"', komentar=
'"+komentar+"' where nim='"+nim+"' ";
//eksekusi query tersebut dengan cara :
try {
conect.getStatement().executeUpdate(query); //eksekusi
JOptionPane.showMessageDialog(this, "update berhasil");//pemberitahuan
jika berhasil
} catch (SQLException ex) {
//jika ada kesalahan, maka akan ada pesan error dari sintaks dibawah
ini.
Logger.getLogger(Utama.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(this, "update gagal");//pemberitahuan
jika gagal
}
}
private void delete(String nim){
// buat objek koneksi yang menangani koneksi ke database
koneksi conect = new koneksi();
// tentukan query update yang akan dijalankan pada mySql/database
// dalam queri ini kita akan menghapus data yang terkait dengan nim
String query = "delete from mahasiswa where nim='"+nim+"' ";
//eksekusi query tersebut dengan cara :
try {
conect.getStatement().executeUpdate(query); //eksekusi
JOptionPane.showMessageDialog(this, "data berhasil
dihapus");//pemberitahuan jika berhasil
} catch (SQLException ex) {
//jika ada kesalahan, maka akan ada pesan error dari sintaks dibawah
ini.
Logger.getLogger(Utama.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(this, "data gagal
dihapus");//pemberitahuan jika gagal
}
}
private void setTableFromDB(){
koneksi conect = new koneksi();// objek koneksi utk koneksi ke DB
ResultSet data = null; //
int jumBaris=0; // variable untuk menentukan jumlah baris matriks
nantinya.
//query yang akan ditampilkan, misalkan kita ingin menampilkan data
mahasiswa dari DB ke table
String query="select * from mahasiswa";
try {
data = conect.getStatement().executeQuery(query); // query dijalankan
while(data.next()){
jumBaris++;
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error pada jumlah baris :
"+ex.getMessage());
}
//jika jumlah baris telah didapatkan maka buat array 2 dimensi untuk
menyimpan data sementara
String isi[][]= new String[jumBaris][3]; //jumbaris, dan jumlah kolom =
3{nim, nama, komentar}
// masukkan data dari ResultStatement kedalam matriks
int i=0;//just for loop
try {
data = conect.getStatement().executeQuery(query);//eksekusi kembali
query
while (data.next()) {
System.out.println("disiko");
isi[i][0] = "" + data.getString("nim"); // ini sintaks untk
mengambil isinya, "nim" adalah nama kolom dalam DB
System.out.println("nim = "+data.getString("nim"));
isi[i][1] = "" + data.getString("nama");
isi[i][2] = "" + data.getString("komentar");
i++;
}
} catch (SQLException ex) {
Logger.getLogger(Utama.class.getName()).log(Level.SEVERE, null, ex);
}
String NamaKolom[] ={"Nim","Nama","Komentar"};//nama kolom yang nantinya
akan ada pada tabel
DefaultTableModel model= new DefaultTableModel(isi,NamaKolom){};
//selanjutnya adalah mlakukan pengesetan pada tabel
jTable1.setModel(model);
//done!!!
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Utama().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable jTable1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration
}
Langkah keempat : Buat database dengan nama tes_java dan tabel mahasiswa.

Langkah kelima :
Run file Utama.java

Selasa, 18 September 2012

Distributed Database (DDB)


Apakah anda pernah mendengar Distributed DataBase (DDB) atau dalam bahasa indonesia "Data Terdistribusi"?

Kali ini saya akan mengulas DDB secara singkat dan jelas

DDB adalah kumpulan sejumlah database yang saling berhubungan secara logis (logically Interrelated) Diatas suatu jaringan komputer. Ada 2 Aspek penting dalam DDB yaitu
1. Distribusi : Data tidak tersimpan pada tempat yang sama (prosesor) Sehingga DDB dapat di bedakan dari Database Tunggal atau Sentralisasi
2. Korelasi Logika : Data memiliki Property yang berhubungan sehingga DDB dapat dibedakan dari sekumpulan database local atau file yang disimpan pada tempat yang berbeda dari sekumpulan database lokal atau file yang disimpan pada tempat yang berbeda pada jaringan komputer.
Secara umum ada beberapa jenis DDB yang digunakan yaitu
- Fully Connected Network
- Partially Connected Network
- Tree Structure Network
- Ring Network (LAN)
- Star Network (LAN)
Tetapi masing - masing mempunyai kelebihan dan kekurangan tersendiri.
Ciri - Ciri Basis Data Terdistribusi
1. Data disimpan pada sejumlah tempat. Setiap tempat secara logic terdiri dari prosesor tunggal
2. Prosesor pada tempat yang berbeda tersebut dihubungkan dengan jaringan komputer
3. Sistem Basis Data terdistribusi bukan sekumpulan file yang berada pada berbagai tempat tetapi sebuah database pada berbagai tempat
4. Setiap tempat mempunyai kemampuan untuk mandiri memproses permintaan user (klien) yang membutuhkan akses ke data di tempat tersebut, dan juga mampu untuk memproses data yang tersimpan di tempat lain.

Contohnya : Setiap Bank mempunyai Server Database yang menyimpan berbagai Data - Data penting yang berada di tempat tertentu jika data tersebut di perlukan maka harus meminta data dari server tersebut untuk mendapatkan data yang di inginkan. sama halnya seperti kita mengambil uang di ATM di setiap kartu debit mempunyai ID tersendiri yang bisa mengakses Data anda di bank tersebut begitu anda memasukan PIN anda dengan benar anda dapat menarik uang anda sendiri dan mendapatkan data sisa uang yang masih ada di Tabungan anda

Kelebihan dan Kelemahan DDB
-Kelebihan :
1. Otonomi Lokal : Karena data terdistribusi, kelompok user yang bisa menggunakan data tersebut dapat menyimpannya di site dimana dia bekerja, sehingga masing - masing site mempunyai kontrol lokal.
2. Performansi Tinggi: Karena Data yang digunakan umumnya lebih dekat dengan user, maka performansi akses ke data dapat ditingkatkan\
3. Ekonomis : dari sisi comminication cost (ongkos komunikasi) Lebih ekonomis dengan membagi aplikasi dan menjalankannya di beberapa situs lokal, daripada satu aplikasi dipaksa untuk mengakses ke data yang tersebar.
4. Ekspansinya Murah : dapat disesuaikan dengan mudah seiring dengan berkembangnya ukuran database. paling sekitar penambahan pengolahan dan kemampuan penyimpanan di jaringan. Jelas, bahwa kemampuannya tidak akan bertambah secara linier, Tapi paling tidak improvisasi dapat dimungkinkan.
5. Share Ability (kemampuan berbagi) : kita dapat data kepada orang lain walaupun jauh.

-Kelemahan :
1. dapat terkena virus
2. bisa terkena Hack (Perusak)
Semua kelemahannya dikarenakan PC yang kita gunakan terhubung pada internet (Untrust connected)

Pengertian SQL

SQL merupakan singkatan dari Structured Query Language.SQL merupakan bahasa komputer standard ANSI ( American National Standard Institude ).Dengan SQL kita dapat mengakses database, menjalankan queri untuk mengambil data dari database, menambahkan data ke database, menghapus data di dalam database, dan meng-update data di dalam database.
Pernyataan SQL dapat dikelompokkan menjadi beberapa kelompok, yakni:
  1. Data Definition Language ( DDL ).
    Data Definition Language (DDL) adalah bahasa dalam DBMS yang digunakan untuk membuat atau mendefinisikan obyek-obyek di dalam database. Statement DDL adalah perintah-perintah yang digunakan untuk menjelaskan objek dari database. Dengan kata lain DDL digunakan untuk mendefinisikan kerangka database. Secara umum untuk membuat obyek table.
  2. Data Manipulation Language ( DML ).
    Data Manipulation Languange (DML) merupakan kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan, dan penghapusan data.Perintah yang termasuk dalam kelompok DML adalah SELECT, INSERT, DELETE, dan UPDATE.

10 Command DML

10 Command DML ( Data Manipulation Language )

04 Jun
Post an ini menyambung post an sebelum nya yang juga merupakan tugas kuliah saya. klo pada post an sebelum nya adalah tentang command DDL, dan pada post an kali ini adalah tentang command DML pada SQL… semoga bermanfat…
Data Manipulation Language (DML) digunakan dalam memanipulasi dan pengambilan data pada database.
Manipulasi data, dapat mencakup:
  1. Pemanggilan data yang tersimpan dalam database (query).
  2. Penyisipan/penambahan data baru ke database.
  3. Penghapusan data dari database.
  4. Pengubahan data pada database.
Beberapa perintah dasar yang termasuk dalam DDL antara lain.
1. SELECT
Fungsi : Command SELECT ini berfungsi untuk menampilkan sesuatu. Menampilkan disini tidak hanya menampilkan data dari sebuah table saja, tetapi juga untuk menampilkan suatu ekspresi. Seperti menampilkan hanya field yang memiliki kategori Suplement saja.
Syntax : SELECT * FROM nama_tabel;
Parameter : from, order by, where, dll
Contoh : SELECT * FROM obat;
Penjelasan : perintah diatas akan menampilkan semua isi pada tabel obat.
2. DESC
Fungsi : Command DESC ini berfungsi untuk menampilkan struktur tabel yang telah dibuat. Apa saja field yang telah dibuat, type data dari field tersebut, dan primary key akan terlihat disini.
Syntax  : DESC nama_table;
Parameter : -
Contoh : DESC obat;
Penjelasan : perintah diatas akan memperlihatkan stuktur dari tabel obat yang telah dibuat.
3. INSERT INTO
Fungsi : Command INSERT INTO ini berfungsi untuk menambahkan data/record dalam suatu tabel yang telah dibuat.
Syntax : INSERT INTO nama_tabel VALUES (‘isi_field1’ , ‘isi_field2’,……);
Parameter : values, set
Contoh : INSERT INTO obat VALUES (’CO012’,’Corsel’,’Suplement’,’13’,’183500’);
Penjelasan : perintah diatas akan membuat sebuah record baru dalam tabel obat dengan id_obat = CO012, nama_obat = Corsel, kategori = Suplement, jumlah = 13, dan harga = 183500.
4. UPDATE
Fungsi : Command UPDATE ini berfungsi untuk merubah/memperbaharui data yang telah ada di dalam tebel.
Syntax : UPDATE nama_tabel SET nama_field = ’nilai_baru’ WHERE nama_field = ’kondisi’ ;
Parameter : set, where
Contoh : UPDATE obat SET id_obat = ‘CE008’ WHERE nama_obat = ‘Cetoros’;
Penjelasan : perintah diatas akan mengubah id_obat BD019 menjadi CE008 pada tabel obat yang memiliki nama_obat Cetoros.
5. DELETE FROM
Fungsi  : Command DELETE FROM ini berfungsi untuk menghapus record yang ada pada sebuah tabel.
Syntax : DELETE FROM nama_tabel WHERE nama_field =’option’;
Parameter : where
Contoh : DELETE FROM obat WHERE id_obat =’CO012’;
Penjelasan : perintah diatas akan menghapus record dari tabel obat yang memiliki id_obat CO012.
6. EXPLAIN
Fungsi : Command EXPLAIN ini memiliki fungsi yang sama seperti Desc yaitu berfungsi untuk menampilkan struktur tabel yang telah dibuat, seperti nama_field, type data dari field tersebut, dan primary key.
Syntax : EXPLAIN nama_table;
Parameter : -
Contoh : EXPLAIN obat;
Penjelasan : perintah diatas akan memperlihatkan stuktur dari tabel obat yang telah dibuat.
7. SELECT DESCENDING
Fungsi : Command SELECT DESCENDING ini berfungsi menampilkan semua data dari bawah ke atas berdasarkan field yang telah ditentukan.
Syntax : SELECT field1, field2, dan seterusnya FROM nama_tabel ORDER BY field yang jadi acuan DESC;
Parameter : from, order by, desc
Contoh : SELECT id_obat, nama_obat, jumlah FROM BY obat ORDER BY id_obat DESC;
Penjelasan : Perintah diatas akan menampilkan data pada id_obat, nama_obat dan jumlah pada tabel obat dan yang menjadi acuan pengurutan data dari bawah ke atas adalah id_obat.
8. SELECT COUNT
Fungsi : Command SELECT COUNT ini berfungsi menampilkan jumlah record yang ada dalam suatu tabel.
Syntax : SELECT COUNT(*)FROM nama_tabel;
Parameter : count, from
Contoh : SELECT COUNT(*)FROM obat;
Penjelasan : Perintah diatas menampilkan jumlah record yang ada pada tabel obat.
9. SELECT MAX
Fungsi : Command SELECT MAX ini berfungsi untuk mencari nilai tertinggi pada sebuah field di tabel.
Syntax : SELECT MAX(nama_field) FROM nama_tabel;
Parameter : max, from
Contoh : SELECT MAX(jumlah) FROM obat;
Penjelasan : Perintah diatas akan menampilkan nilai tertinggi dari field jumlah pada tabel obat.
10. SELECT MIN
Fungsi : Command SELECT MIN ini berfungsi untuk mencari nilai terendah pada sebuah field di tabel.
Syntax : SELECT MIN(nama_field) FROM nama_tabel;
Parameter : min, from
Contoh : SELECT MIN(jumlah) FROM obat;
Penjelasan : Perintah diatas akan menampilkan nilai terendah dari field jumlah pada tabel obat.

5 Command DDL

5 Command DDL ( Data Definition Language )

Sekilas tentang SQL…
SQL merupakan singkatan dari Structured Query Language. SQL adalah bahasa komputer yang standart untuk mengakses dan memanipulasi database. Seluruh aplikasi database yang beredar di pasaran, baik yang gratis maupun yang berlisensi, mengadopsi bahasa SQL untuk mengolah databasenya. Ada 2 jenis command di dalam SQL, yaitu DDL dan DML.
DDL ( Data Definition Language ) adalah sebuah perintah SQL yang berhubungan dengan pendefinisian suatu database dan tabel. Beberapa perintah dasar yang termasuk dalam DDL antara lain.
1. CREATE
Fungsi : Command CREATE ini berfungsi untuk membuat sebuah database ataupun membuat sebuah table yang berada di dalam database.
Syntax : CREATE database nama_database;
Parameter   : -
Contoh : CREATE database apotik;
Penjelasan : perintah CREATE diatas akan membuat sebuah database dengan nama apotik.
2. SHOW
Fungsi : Command SHOW ini berfungsi untuk menampilkan database ataupun table yang telah kita buat sebelumnya.
Syntax : SHOW databases;
Parameter : -
Contoh : SHOW databases;
Penjelasan : perintah SHOW diatas akan memperlihatkan semua database yang ada.
3. USE
Fungsi : Command  USE ini berfungsi untuk membuka/mengaktifkan/memasuki database yang telah kita buat. Setelah kita masuk kedalam database yang telah kita buat, barulah kita bisa memanipulasi data yang ada, termasuk untuk membuat table didalam database tersebut.
Syntax : USE nama_database;
Parameter : -
Contoh : USE apotik;
Penjelasan : perintah diatas akan mengaktifkan database dengan nama apotik sehingga kita dapat memanipulasi data yang ada.
4. ALTER
Fungsi : Command ALTER ini berfungsi untuk mengubah struktur dari suatu table. Mengubah disini tidak hanya memperbaharui struktur table yang ada, tetapi juga mengubah nama field, menambahkan primary key, mengubah tipe field, maupun menghapus field yang telah dibuat sebelumnya.
Syntax : ALTER TABLE nama_tabel parameter_option;
Parameter : add, modify, drop
Contoh : ALTER TABLE obat ADD harga int (6);
Penjelasan : perintah diatas akan menambahkan field harga kedalam tabel obat.
5. DROP
Fungsi: Command DROP ini berfungsi untuk menghapus, baik database, table, maupun field yang telah diinputkan ke dalam table.
Syntax : DROP TABLE nama_tabel;
Parameter : -
Contoh : DROP TABLE supplier;
Penjelasan : perintah diatas akan menghapus tabel supplier pada database apotik.