Showing posts with label MySQL. Show all posts
Showing posts with label MySQL. Show all posts

Sunday, March 24, 2013

Trigger dan Event pada MySql

- 1 comments
Trigger
Pemicu proses untuk perubahan isi tabel terjadi pada saat pengguna melakukan transaksi. Transaksi ini biasanya juga berpengaruh terhadap tabel-tabel lain. Sebagai contoh : pada saat transaksi penjualan sistem akan menambah rekaman tabel JUAL sebelum perintah INSERT misalnya mengecek jumlah stok di tabel BARANG, dan sesudahnya mengurangi stok di tabel BARANG. Oleh karena itu anda bisa menempatkan trigger yang merupakan prosedur pemicu untuk melakukan proses sesuai dengan keinginan.
Trigger adalah suatu objek dalam basisdata yang terdapat pada bagian tabel. Trigger untuk menempatkan suatu prosedure berkaitan dengan perubahan pada isi tabel. Cara kerja trigger adalah merespon berkaitan dengan perintah DML (INSERT , UPDATE, DELETE) pada tabel.
contoh : 

mysql> CREATE TRIGGER ins_trig BEFORE INSERT ON Emp
-> FOR EACH ROW
-> BEGIN
-> UPDATE Employee SET Salary=Salary-300 WHERE Perks>500;
-> END;


Event
MySQL Event Scheduler mengelola penjadwalan dan menjalankan perintah tertetu secara terjatwal secara otomatis. Perintah Event hanya terdapat pada MySQL versi 5.1. Cara kerja seperti “cron job” pada sitem UNIX/LINUX dan Windows Task Scheduler untuk sistem Windows.

CREATE EVENT e_store_ts
ON SCHEDULE
EVERY 10 SECOND
DO
INSERT INTO myschema.mytable VALUES (UNIX_TIMESTAMP());
[Continue reading...]

Stored Procedure & Function Pada MySql

- 0 comments
Dalam database server ada 2 ketegori fungsi: (1) fungsi aggregate adalahfungsi bawaan seperti SUM(), MAX(), MIN(), COUNT() dan lain-lain, yang terdapat pada sistem database tersebut, (2) fungsi yang diciptakan oleh user sendiri. Fungsi dibuat menggunkan rangkaian perintah ditulis dengan bahasa PL/SQL. Ketika dicipatakan akan tersimpan secara permanen dalam database server.

Contoh :
DELIMITER $$
CREATE FUNCTION kali(X INT, Y INT)
RETURNS INT
BEGIN
RETURN X*Y;
END$$;

Contoh di atas mengalikan bilangan X dan bilangan Y, dengan nama fungsi kali(X,Y). Setelah dieksekusi cara mengilnya seperti perintah berikut :
SELECT kali(20.10);


Stored Procedure
Stored Procedure hampir sama dengan fungsi, tetapi cara memanggilnya mengunakan perintah CALL nama_prosedure(parameter1,…..)


DELIMITER $$
CREATE PROCEDURE GetKota(IN nama_prop VARCHAR(255))
BEGIN
SELECT nama_kota, telepon
FROM kantor
WHERE propinsi = nama_prop;
END $$
DELIMITER ;

Cara memanggil
CALL GetKota(‘DIY’);
[Continue reading...]

Monday, March 11, 2013

Administrative Tools and Security MySQL

- 0 comments
Username dan password pada MySQL

Account pada MySQL didasarkan pada username dan host dari client. Account juga memiliki password. Berikut ini merupakan ketntuan username dan password pada MySQL:

Username yang digunakan pada MySQL dipakai untuk otentifikasi, namun tidak berhubungan dengan username yang digunakan pada Windows atau Unix. Pada Unix, secara default client dari MySQL munggunakan username pada Unix, namun hasl ini bisa diubah dengan mudah.
Username pada MySQL bisa menggunakan hingga 16 karakter. Batasan ini merupakan hard-coded di dalam MySQL server dan MySQL client sehingga tidak bisa diubah oleh siapapun.
Password dari MySQL sama sekali tidak berhubungan dengan password dari OS.
Enkripsi pada password MySQL menggunakan suatu algoritma tertentu dan berbeda dengan yang digunakan oleh Unix. Enkripsi pada password MySQL diimplementasikan dengan fungsi PASSWORD() SQL. Sementara pada Unix enkripsi password diimplementasikan dengan fungsi ENCRYPT() SQL . Pada MySQL versi 4.1 ke atas, proteksi yang digunakan lebih aman dari pada yang digunakan sebelumnya.


Bagaimana Privilege System bekerja

MySQL mempunyai prosedur keamanan non-standar. Salah satunya adalah privilege system (pengaturan hak-hak pengguna). Fungsi utama dari system ini adalah melakukan pengecekan user yang mengakses dari sebuah host dan memberikan sebuah atau beberapa hak seperti SELECT, INSERT, UPDATE, dan DELETE.

Privilege system memastikan pengguna hanya bisa melakukan operasi tertentu saja. Ketika seorang user mengakses server MySQL maka sistem akan mencari identitasnya dengan melihat host dan username yang dipakai olehnya. Setelah itu, sistem akan menentukan apa saja yang bisa dia lakukan (privilege).

MySQL melihat kedua hal tersebut karena mungkin saja ada user adit yang mengakses dari office.adcom.com namun ada user lain yang juga bernama adit yang mengakses dari home.adcom.com. MySQL menghandle masalah ini dengan memisahkan user yang berbeda host namun memiliki username yang sama. Kedua user tersebut dapat memiliki privilege yang berbeda.

MySQL access control melakukan dua tahap ketika sebuah client program yang mengakses server yaitu :

Server melihat apakah client tersebut memiliki hak untuk mengakses server tersebut
Server melihat apa saja yang bisa dilakukan untuk client tersebut untuk memastikan client tidak melakukan illegal operation


Pasword Hashing

User account pada MySQL disimpan pada tabel user pada database mysql. Masing-masing account menunjuk pada satu password pada kolom password. Namun data password yang disimpan tidak berupa plaintext namun berupa hash value yang didapat dari fungsi PASSWORD()

MySQL menggunakan password dalam dua fase pada komunikasi client/server

Ketika sebuah client mengakses server, ada langkah inisialisasi dimana password yang diberikan oleh client memiliki hash value yang sama dengan hash value yang berada di dalam tabel user
Ketika client terhubung dengan server, dia bisa (jika mempunyai privilege tersebut) mengubah password untuk account yang ada di tabel user dengan menggunakan fungsi  PASSWORD() untuk menggenerate password hash atau menggunakan GRANT atau SET PASSWORD statements.

Penggunaan password hashing telah diupdate pada MySQL 4.1 untuk memperbaiki keamanan dan mengurangi kemungkinan password diambil oleh user yang tidak berhak. Namun, penggunaan cara ini hanya bisa dipahami oleh MySQL 4.1 ke atas sehingga bisa menyebabkan masalah kompatibilitas. MySQL versi 4.1 keatas bisa mengakses MySQL versi sebelumnya karena MySQL bersifat backward-compatible yaitu kompatibel ke belakang. Namun dari MySQL versi sebelumnya akan menemui kesulitan dalam menghubungi MySQL 4.1 keatas. Contohnya, sebuah client dengan MySQL 3.23 yang mencoba mengakses server dengan MySQL 5.1 mungkin akan gagal dengan pesan kesalahan sbeagai berikut:

shell> mysql -h localhost -u root
Client does not support authentication protocol requested
by server; consider upgrading MySQL client

Berikut ini akan membahas tentang perbedaan cara password hashing pada MySQL versi awal dan versi terbaru.

Sebelum MySQL 4.1, fungsi hashing pada password akan menghasilkan nilai sepanjang 16 bytes.

+--------------------+
| PASSWORD('mypass') |
+--------------------+
| 6f8c114b58f2ce9e   |
+--------------------+

Sementara pada  MySQL 4.1, fungsi hashing telah diubah sehingga akan menghasilkan nilai sepanjang 41 bytes.

+-------------------------------------------+
| PASSWORD('mypass')                        |
+-------------------------------------------+
| *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
+-------------------------------------------+

Sabuah hasil dari fungsi hash yang baru akan menghasilkan nilai yang berawalan ‘*’. Password yang lebih panjang tentu saja memiliki properti kriptografi yang lebih baik sehingga lebih aman dibandingkan dengan metode hashing yang sebelumnya diterapkan.

Koneksi yang aman

MySQL mendukung penggunaan koneksi enkripsi yang aman  antara server dan client MySQL menggunakan Secure Sockets Layer (SSL) protocol. Konfigurasi standar dari MySQL menerapkan kecepatan yang paling tinggi sehingga koneksi enkripsi tidak digunakan secara default. Menggunakan koneksi enkripsi tentu menggunakan porsi CPU yang besar yang membutuhkan beberapa pekerjaan tambahan sehingga memperlambat kerja MySQL. Untuk aplikasi yang memang membutuhkan pengamanan tingkat tinggi dibutuhkan komputasi ekstra.

MySQL mengijinkan penggunaan enkripsi secara personal. Koneksi biasa atau koneksi enkripsi bisa dipilih tergantung dari kebutuhan aplikasi secara individu.


SSL adalah sebuah protokol yang menggunakan algoritma enkripsi untuk memastikan data yang ditransfer melalui public network aman. SSL ini memiliki mekanisme untuk mendeteksi perubahan, kehilangan atau pengiriman ulang data. SSL juga memiliki algoritma yang bisa melakukan verifikasi identitas.
[Continue reading...]

Storage and Indexing dalam MySQL

- 0 comments
Storage

MySql mendukung banyak storage engine dengan berbagai tipe table, dimana storage engine itu sendiri terbagi atas 2 tipe, yaitu engine yang menagani transction-safe table dan yang tidak. Pada umumunya, MyISAM merupakan engine yang non-transactional table, MyISAM menyediakan proses penyimpanan dan pengambilan data dengan cepat, serta dilengkapi dengan kemampuan fulltext searching. Hal ini menyebabkan MyISAM menjadi default engine pada MySQL. Beberapa storage engine yang lain:

1. MEMORY storage engine (HEAP engine), menyediakan in-memory tables. Engine ini dibantu oleh MERGE storage engine yang fungsinya meyatukan beberapa table menjadi satu.

2. InnoDB dan BDB storage engine menyediakan transaction-safe tables

3. EXAMPLE storage engine hanya merupakan stub engine yang tidak melakukan apapun. Walaupun dapat membuat table, tetapi tidak ada data yang bisa disimpan atau diambil. Kegunaan sebenarnya hanya sebagai ilustrasi bagaimana membuat storage engine baru.

4. NDB Cluster storage engine digunakan untuk menggabungkan table yang dibagi-bagi ke banyak computer walaupun terdapat perbedaan sistem operasi. Engine ini hanya dapat di-support oleh Linux, Solaris dan Mac.

5. ARCHIEVE storage engine berguna untuk menyimpan data berukuran besar tanpa menggunakan index.

6. CSV storage engine menyimpan data dalam bentuk text file, dengan menggunakan tanda koma (,) sebagai separatornya.

7. BLACKHOLE storage engine dapat menerima data tetapi tidak menyimpannya, bila dilakukan pengambilan data maka akan me-return set kosong.

8. FEDERATE storage engine menimpan data dalam remote database.



Indexes

Index adalah salah satu cara untuk mempercepat waktu search dari set data yang besar. Misalkan bila kita tidak menggunakan indexing dan memiliki sampai jutaan user, maka akan membutuhkan waktu yang sangat lama untuk menemukan seseorang berdasarkan nama belakangnya karena program harus memeriksa setiap entry pada field “LastName” dan membandingkannya dengan string yang kira cari. Hal ini dapat diatasi dengan index sebingga database hanya perlu mencari bagian data set yang perlu saja, sehingga pencarian lebih cepat.

Index dapat diimplementasikan dengan RDBMS (Relational Database Management System) sebagai sebuah table yang mengumpulkan semua value yang ada dalam field dan mengurutkannya, kemudian di-mapping ke letak sebenarnya pada table database, sehingga database dapat melakukan pencarian dengan cepat, misalnya dengan menggunakan binary search.

Creating Indexes
Ada 2 hal yang harus diperhatikan dalam membuat index:
• Ketika mencari dan memilih field-field yang belum memiliki index, dibutuhkan pemeriksaan table secara keseluruhan.
• Walaupun index mempercepat pemilihan state, tetapi hal ini justru memperlambat proses insert, update dan delete.

Using indexes in MySQL

1. Primary Keys
Primary key adalah suatu field dalam table yang membedakan setiap baris dalam table. Beberapa syarat primary key:
• Primary key sebaiknya integer karena MySQL bekerja lebih cepat dengan integer.
• Primary key tidak boleh bernilai null.
• Primary key harus unik, MySQL menyediakan feature autoincrement untuk field primary key.

2. Unique
Unique index merupakan penyempurnaan dari primary key, dimana didalam unique index terdapat lebih dari satu primary key. Unique indexes masih lebih baik daripada primary key karena memungkinkan pencarian sesuatu dengan menggunakan lebih dari satu field.

3. Fulltext
Fulltext index menggunakan sebuah table yang menyimpan parameter dari index, kemudian table kedua digunakan untuk menyimpan data sebenarnya, dapat ditambahkan table lain untuk menyimpan informasi tambahan tergantung dari tipe indexnya (misalnya konversi dari String ke numeric).

[Continue reading...]

MySQL Sub Query

- 1 comments
1.   Subquery adalah perintah SELECT yang berada di dalam perintah SELECT yang lain.
2.   MySQL mendukung konsep subquery mulai versi 4.1. Contoh subquery adalah
SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2)
Pada contoh tersebut,  SELECT * FROM t1 ... adalah query utama/outer query dan (SELECT column1 FROM t2) adalah subquery. Subquery bersifat nested di dalam query utama. Subquery dapat dibuat secara bertingkat sampai 32 tingkat. Subquery harus dituliskan didalam tanda kurung.

3.   Beberapa keuntungan menggunakan subquery adalah :
a.   Memungkinkan membuat query yang terstruktur, sehingga memudahkan pemisahan masing-masing bagian dari perintah/query yang dibuat.
b.   Sebagai alternatif menggantikan query yang memerlukan JOIN dan UNION yang kompleks.
c.   Query menjadi lebih mudah dibaca dan dikoreksi, memenuhi kaidah SQL ``Structured Query Language.''

4.   Sebuah subquery memberikan beberapa kemungkinan hasil, diantaranya
a.   Sebuah nilai tunggal (scalar) è scalar subquery
b.   Sebuah baris è row subquery
c.   Sebuah kolom ataupun è coloumns subquery
d.   sebuah tabel. è table subquery
Masing-masing tipe subquery (berdasarkan nilai yang dihasilkan) tersebut, dapat digunakan  pada konteks tertentu yang sesuai.

5.  Beberapa batasan dalam membuat subquery :
a. Outer query dapat berupa salah satu dari : SELECT, INSERT, UPDATE, DELETE, SET, or DO.
b. Subquery dapat mengandung opsi-opsi yang mendukung SELECT misalnya DISTINCT, GROUP BY, ORDER BY, LIMIT, joins, index hints, UNION, komentar, fungsi, dll.

6.   Sintaks subquery secara umum adalah :
SELECT kolom1 FROM Tabel WHERE kolom2 [Operator Pembandingan] (SELECT kolom1 FROM Tabel WHERE [Condition])
[Operator Pembandingan] dapat berupa =, >, <, >=, <= Ataupun  LIKE, ANY, SOME, ALL, IN, NOT IN dll 

Contoh Sub Query
SELECT M.Nama, B.Judul, B.Penulis, B.Jumlah FROM Mahasiswa M, Pinjam P, Buku B WHERE (M.Nim=P.Nim and P.kode_buku = B.kode_buku) AND jumlah=(SELECT Max(jumlah) FROM `buku`)

SELECT M.Nama, B.Judul, B.Penulis, B.Jumlah FROM Mahasiswa M JOIN  Pinjam P USING(Nim) JOIN Buku B using(kode_buku) WHERE jumlah= ( SELECT Max(jumlah) FROM `buku` )

SELECT Judul, Penulis, Jumlah FROM `buku` WHERE jumlah= ( SELECT Max(jumlah) FROM `buku` ) UNION SELECT Judul, Penulis, Jumlah FROM `buku` WHERE jumlah= ( SELECT Min(jumlah) FROM `buku` )

 (Bandingkan d dengan e)
SELECT P.kode_prodi, P.nama_prodi from Prodi P JOIN Fakultas F using(kode_fak) where F.Lokasi=’Kampus  III’

SELECT kode_prodi, nama_prodi FROM prodi as P WHERE kode_fak IN (SELECT kode_fak from Fakultas as F where Lokasi=’Kampus  III’)

 (Bandingkan f dengan g)
SELECT F.* FROM Fakultas F LEFT JOIN Prodi P USING (kode_fak) WHERE P.kode_prodi is NULL

SELECT fakultas.* FROM  Fakultas WHERE kode_fak <> ALL(SELECT  kode_fak from prodi)

 (Bandingkan h dengan i)
SELECT DISTINCT F.* FROM Fakultas F LEFT JOIN Prodi P USING (kode_fak) WHERE P.kode_prodi  is NOT NULL

SELECT * FROM  Fakultas WHERE kode_fak = ANY(SELECT  kode_fak from prodi)
[Continue reading...]

Saturday, March 9, 2013

PERINTAH DASAR MYSQL

- 0 comments
Membuat Database
Berikut ini adalah cara membuat sebuah database pada MySQL. Sebagai latihan kita membuat database dengan nama “Mahasiswa_db”, dan perintahnya adalah :
mysql> create database Mahasiswa_db;
Query OK,1 row affected (0.03sec)

Menghapus Database
Untuk menhapus database dapat dilakukan dengan men”dropping”nya, dan perintahnya adalah :
mysql> drop database Mahasiswa_db;

Membuat Basis Data
BU : Create Database Nama_Database ;
Cth : Create Database DB_Siswa ;

Menampilkan Basis Data yang Telah Dibuat
BU : Show Databases;

Menghapus Basis Data
BU : Drop Database Nama_Database ;
Cth : Drop Database DB_Siswa ;

Mengaktifkan Basis Data
BU : Use Nama_Database ;
Cth : Use DB_Siswa ;

Membuat Tabel
BU :
Create Table Nama_Tabel
(
Field_1 Type ([Ukuran]),
Field_2 Type ([Ukuran]),
. . . . .
. . . . .
Field_n Type ([Ukuran])
);


Cth :
Create Table Identitas
(
NIM Char(5),
Nama Varchar(15),
Tgl_Lahir Date,
Alamat Varchar (40)
) ;

Keterangan :
·      Field NIM bertipe CHAR (untuk menampung string) dengan panjang maksimal 5 karakter,
·      Field Nama bertipe VARCHAR (untuk menampung string) dengan panjang maksimal 30 karakter,
·      Field Tgl_Lahir bertipe DATE (tipe data tanggal),
·      Field Alamat bertipe VARCHAR dengan panjang maksimal 30 karakter.
·      Pada Tipe CHAR jika ukurannya 5 dan karakter yang kita input 3, maka ukuran karakter tetap dihitung 5.
·      Pada Tipe VARCHAR jika ukurannya 15 dan karakter yang kita input 8, maka ukuran karakter dihitung 8.



Mengganti Nama Tabel
BU : Alter Table Nama_Tabel_Lama Rename  Nama_Tabel_Lama ;
Cth : Alter Table Identitas Rename Mahasiswa ;

Menampilkan Tabel
BU : Show Tables;

Menampilkan Struktur Tabel;
BU : Show Fields From Nama_Tabel ;
Desc Nama_Tabel ;
Cth : Show Fields From Mahasiswa ;
Desc Mahasiswa ;

Megisi Record Table
BU : Insert Nama_Tabel ( Field_1 ,Field_2, … , Field n values ( isi_1, isi_2 , … , isi_n ) ;
Cth : Inset Mahasiswa (NIM,Nama,Tgl_Lahir,Alamat) values ( ‘06330’ , ‘Budi’ ,
‘1973-12-17’, ‘Medan’ ) ;
Atau
Insert Mahasiswa values ( ‘06330’ , ‘Budi’ , ‘1973-12-17’ , ‘Medan’ ) ;

Menampilkan Record Table
BU : Select  ( Field_1 ,Field_2, … , Field_n From Nama_Tabel  ;
Cth : Select * From Mahasiswa ;
Select NIM, Nama From Mahasiswa ;

Menghapus Tabel
BU : Drop Table Nama_Tabel ;
Cth : Drop Table Mahasiswa ;

[Continue reading...]

Cara Kerja MySQL

- 2 comments
Server database MySQL terdiri atas daemon yang menunggu permintaan perintah dari client/user pada port tersebut. Daemon adalah sebutan untuk program yang berjalan pada background (berjalan tanpa campur tangan manusia). Daemon tidak akan aktif untuk bekerja, kecuali jika ada permintaan kepada daemon untuk melakukan pekerjaan.

Setelah daemon MySQL dijalankan, daemon tersebut akan memberikan proses dialog dengan client. Client kemudian diminta untuk melakukan autentifikasi (pemeriksaan kelayakan nama user dan password) untuk dapat mengolah database MySQL.  Adapun untuk membebaskan port yang baru menerima permintaan dari client/user agar dapat dipakai untuk menerima permintaan lainnya MySQL dan program di client akan menggunakan port lain untuk melanjutkan koneksi mereka. Setelah MySQL dan program di client menggunakan port baru, port awal dilepas dan akan siap digunakan untuk menerima permintaan lainnya lagi.

MySQL membaca dan menulis file untuk menyimpan datanya. Hal ini berarti bahwa jika kita mengkopi semua file ke media penyimpanan lain, sama artinya dengan mem-backup keseluruhan database. Server MySQL harus dimatikan terlebih dahulu sebelum mengkopi file. Sistem penyimpanan raw disk sedang dikembangkan. Sistem penyimpanan ini tidak akan menyimpan data dalam bentuk file, dan akan membutuhkan metode backup yang berbeda.

MySQL menyembunyikan mekanisme penyimpanan database dari kita. Kita hanya melihat MySQL melalui interface standar MySQL. Ada beberapa perintah SQL yang harus dipelajari. Setalah itu, dapat menulis aplikasi query dabatase yang tidak bergantung pada engine databasenya.
Jika dengan hati-hati hanya menggunakan perintah SQL standar, portabilitas aplikasi sangat tinggi. Semua database engine mempunyai pengembangan SQL standar. Jika kita mempelajari dokumentasi mengenai tambahan perintahnya, kita dapat mencatat perintah-perintah apa saja yang harus dihindari apabila kita mengutamakan portabilitas. Namun, perintah-perintah tambahan tersebut dibuat untuk mempermudah pekerjaan kita.

Bahasa MySQL
Seperti halnya SQL engine yang lain, MySQL mempunyai 3 sub bahasa, yaitu : DDL, DML dan DCL.
a.    Data Defenition Language (DDL), berfungsi pada objek database seperti membuat tabel, mengubah tabel dan menghapus tabel dan bertugas untuk membuat objek SQL dan menyimpan defenisinya dalam tabel. Perintah-perintah yang digolongkan dalam DDL adalah create, alter dan drop.
b.    Data Manipulation Language (DML), untuk objek tabel seperti melihat, menambah, menghapus dan mengubah isi tabel. perintah-perintah yang digolongkan dalam DML adalah select, update, insert, dan delete.
c.    Data Control Language (DCL), untuk kepentingan sekuritas database, seperti memberikan hak akses ke database dan menghapus hak tersebut dari database. DCL sebagai alat kontrol keamanan terhadap database dan tabelnya. Dua perintah utama dalam DML adalah grant dan revoke. Grant digunakan untuk mengijinkan user mengakses tabel dalam database tertentu, sedangkan revoke mencabut kembali ijin yang sudah pernah diberikan sebelumnya oleh grant.

[Continue reading...]

MySQL Database

- 0 comments
MYSQL Merupakan software sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread dan multi-user. MySQL AB membuat MySQL tersedia sebagai software gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

MySQL adalah database engine atau server database yang mendukung bahasa database pencarian SQL. SQL merupakan paket standar untuk berkomunikasi dengan database manapun untuk melakukan proses pencarian, penyimpanan dan pengambilan data.

[Continue reading...]

Wednesday, February 20, 2013

Mysql Pengurangan Waktu

- 2 comments
Untuk Melakukan pengurangan waktu di MySql sebenarnya tidaklah terlalu susah, sebagai contoh kita mempunyai kasus tabel absensi dengan data karyawan masuk dan karyawan pulang,



Kita juga punya reverensi hari kerja:

Untuk malakukan perhitungan jumlah jam kerja karyawan dapat dilakukan dengan cara berikut:

[Continue reading...]

Monday, June 1, 2009

Mysql reference bagian 1

- 0 comments
Jika kita biasa mengunkana database maka kami sarankan untuk lebih banyak mengunkan query, apalagi jika resource komputer yang digunaka sangat minim :)
Didalam query terdapat banyak fungsi-fungsi yang sangat membantu, diantaranya fungsi system, agregat, aritmatika, string, datetime maupun fungsi-fungsi yang berhubungan dengan database (joining table). Berikut sebagian dari fungsi-fungsi tersebut:

Fungsi system pada mysql
1. database()
2. last_insert_id()
3. session_user()
4. system_user()
5. user()
6. version()
7. benchmark(x,expresi)
8. load_file(namafile)
salah satu contohnya
select version(),database(), user()

Fungsi agregat
no 1-5 berlaku untuk mysql, mssql server dan msaccess yg lain di uji sendiri aja ya.!
1. avg(ekpresi) //mencari rata2
2. count(x) //menghitung jumlah record
3. max(ekpresi) //mencari nilai terbesar
4. min(ekpresi) //mencari nilai terkecil
5. sum(ekpresi) //mencari nilai totol suatu kolom
6. std(ekpresi) //mencari standar deviasi
7. stddev(ekpresi) //mencari standar deviasi
salah satu contonya
select avg(unitprice)as ratarata,count(unitprice)as jumlah,
max(unitprice)as nilaitertinggi,min(unitprice)as nilaiterrendah,
sum(unitprice)as jumpenambahan from products

[Continue reading...]
 
Copyright © . Only-me - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger