Membuat Database
create database <nama_database>
Contoh :
create database demo;
Contoh :
create database demo;
Mengaktifkan Database
Untuk melakukan manipulasi database, kita harus masuk ke database yang dituju
dengan menggunakan sintaks sebagai berikut :
use <nama_database>
Contoh :
use demo;
use <nama_database>
Contoh :
use demo;
Membuat Tabel
Setelah database dibuat, Anda harus membuat tabel yang akan menyimpan data
yang dibutuhkan. Sebagai contoh akan kita buat tabel untuk buku tamu atau gbook
Field | Type | Panjang | Keterangan |
nama | varchar | 30 | Nama pengisi |
varchar | 30 | Alamat email pengisi | |
alamat | varchar | 50 | Alamat surat pengisi |
komentar | text | - | Komentar |
create table gbook(
nama varchar(30),
mail varchar(30),
alamat varchar(50),
komentar text);
Query OK, 0 rows affected (0.06 sec)
Maka tabel gbook telah dibuat dengan data masih kosong.
Memasukkan Data
Untuk mengisi data pada suatu tabel, gunakan perintah INSERT :
INSERT INTO <nama tabel> (kolom1, kolom2, …) VALUES (nilai1, nilai2, …);
Contoh :
insert into gbook(nama, mail, alamat, komentar) values('saya','saya@disini.com','bandung','webnya bagus');
untuk data yang bertipe char harus diapit dengan tanda kutip (') sedangkan jika data yang dimasukkan bertipe numerik, tidak usah.
INSERT INTO <nama tabel> (kolom1, kolom2, …) VALUES (nilai1, nilai2, …);
Contoh :
insert into gbook(nama, mail, alamat, komentar) values('saya','saya@disini.com','bandung','webnya bagus');
untuk data yang bertipe char harus diapit dengan tanda kutip (') sedangkan jika data yang dimasukkan bertipe numerik, tidak usah.
Menampilkan Data
Untuk menampilkan data gunakan perintah SELECT :
SELECT kolom1, kolom2,… FROM <nama tabel>;
Contoh :
SELECT nama, mail FROM gbook;
Untuk menampilkan seluruh field/kolom, pada pengisian nama2 kolom dapat diganti dengan tanda bintang (*) :
SELECT kolom1, kolom2,… FROM <nama tabel>;
Contoh :
SELECT nama, mail FROM gbook;
Untuk menampilkan seluruh field/kolom, pada pengisian nama2 kolom dapat diganti dengan tanda bintang (*) :
SELECT * FROM gbook;
Menampilkan data dengan kriteria tertentu
Terkadang kita ingin menampilkan data2 pada database kita dengan ketentuan2
khusus atau kriteria2 tertentu. Misalkan suatu saat kita ingin menampilkan
daftar pengisi buku tamu kita yang berasal dari bandung. Dengan menambahkan
perintah WHERE kita dapat melakukannya.
Contoh :
SELECT * FROM gbook WHERE alamat = ‘bandung’;
Contoh :
SELECT * FROM gbook WHERE alamat = ‘bandung’;
Menampilkan Tanpa Berulang
Untuk menampilkan data tanpa mengulang record2 yang sama, gunakan perintah
DISTINCT :
SELECT DISTINCT alamat from gbook;
SELECT DISTINCT alamat from gbook;
Expresi pada Query
Tampilan query dapat juga kita manipulasi, misalnya pada suatu tabel terdapat
field harga, dan kita ingin mengalikan harga tsb misalnya dengan 10%, kita dapat
menampilkannya dengan cara :
SELECT harga, harga*0.1 FROM biaya;
SELECT harga, harga*0.1 FROM biaya;
Operator LOGIC
Operator ini misalnya kita gunakan untuk menampilkan data dengan dua atau
lebih kriteria tertentu. Misalnya kita ingin melihat data pada buku tamu kita
dengan nama deni dan alamat bandung, :
SELECT * FROM gbook WHERE nama = ‘deni’ AND alamat = ‘bandung’;
atau
SELECT * FROM gbook WHERE nama = ‘deni’ OR alamat = ‘bandung’;
SELECT * FROM gbook WHERE nama = ‘deni’ AND alamat = ‘bandung’;
atau
SELECT * FROM gbook WHERE nama = ‘deni’ OR alamat = ‘bandung’;
BETWEEN
Keyword ini dapat digunakan untuk membatasi tampilan data pada suatu batas
nilai tertentu. Misalnya pada suatu tabel terdapat field biaya, dan kita ingin
menampilkan data dengan biaya antara 10 sampai 40 maka digunakan sintak sebagai
berikut :
SELECT nama_barang, biaya FROM tbarang WHERE biaya BETWEEN 10 and 40;
SELECT nama_barang, biaya FROM tbarang WHERE biaya BETWEEN 10 and 40;
LIKE
Keyword ini digunakan untuk mencari data dengan pola tertentu. Misalnya kita
ingin mencari data yang mengandung kata ‘ban’, digunakan sintaks berikut :
SELECT * FROM gbook WHERE alamat LIKE ‘%ban%’;
Atau misalnya kita ingin menampilkan data buku tamu yang namanya berawalan huruf “A” maka digunakan sintaks sbb :
SELECT * FROM gbook WHERE nama LIKE ‘A%’;
SELECT * FROM gbook WHERE alamat LIKE ‘%ban%’;
Atau misalnya kita ingin menampilkan data buku tamu yang namanya berawalan huruf “A” maka digunakan sintaks sbb :
SELECT * FROM gbook WHERE nama LIKE ‘A%’;
Mengurutkan Data
SELECT * FROM gbook ORDER BY nama;
SELECT * FROM gbook ORDER BY nama DESC;
SELECT * FROM gbook ORDER BY nama DESC;
Fungsi Agregate
Untuk menghapus record dengan kriteria tertentu, gunakan sintaks berikut : DELETE FROM nama-tabel WHERE kriteria Misalnya kita ingin menghapus seluruh data pada buku tamu kita yang beralamat di bandung maka digunakan sintaks : DELETE FROM gbook WHERE alamat= ‘bandung’; :: Referensi Perintah mySQL ALTER / MODIFY ALTER TABLE tabel ADD perintah ALTER TABLE tabel ADD INDEX [nama] (kolom, ...) ALTER TABLE tabel ADD UNIQUE [nama] (kolom, ...) ALTER TABLE tabel ALTER kolom SET DEFAULT nilai ALTER TABLE tabel ALTER kolom DROP DEFAULT ALTER TABLE tabel CHANGE kolom perintah ALTER TABLE tabel DROP kolom ALTER TABLE tabel DROP FOREIGN KEY sintak ALTER TABLE tabel DROP INDEX sintak ALTER TABLE tabel DROP PRIMARY KEY ALTER TABLE tabel MODIFY perintah ALTER TABLE tabel RENAME nama_baru Perintah ini sangat luas cakupannya dalam memberikan perubahan pada struktur tabel yang ada seperti menambahkan, mengubah, atau memindahkan kolom dari suatu tabel. Perintah ini bisa digunakan secara berurutan seperti contoh: ALTER TABLE tabel DROP koloml, ADD kolom2 INTCREATE CREATE DATABASE nama_database CREATE TABLE nama_tabel ( nama_field, :.. ) CREATE INDEX nama index ON tabel ( kolom, ... ) CREATE FUNCTION nama-fungsi RETURNS nilai SONAME library CREATE DATABASE membuat database yang baru dan kosong. CREATE TABLE membuat tabel baru yang terstruktur dalam suatu database yang dikehendaki user. CREATE INDEX memberikan kompabilitas terhadap implementasi SQL. CREATE FUNCTION membuat perintah MySQL untuk bisa mengakses suatu fungsi yang belum dikompilasi. Dan fungsi ini bisa berupa operasi apapun yang tergantung oleh user. DELETE DELETE FROM table [WHERE clausa] Menghapus suatu baris dari suatu tabel. Jika tanpa disertai oleh sintak WHERE clausa maka perintah ini akan menghapus seluruh isi tabel dan membuat tabel baru yang kosong. DESCRIBE/DESC DESCRIBE tabel [kolom] DESC tabel [kolom] Memberikan Informasi tentang suatu tabel beserta isi kolom-kolomnya. DESCRIBE/DESC DESCRIBE tabel [kolom] DESC tabel [kolom] Memberikan Informasi tentang suatu tabel beserta isi kolom-kolomnya. DROP DROP DATABASE nama_database DROP INDEX nama_index DROP TABLE nama_tabel DROP FUNCTION nama_fungsi Perintah ini secara permanen menghilangkan database, tabel, index atau fungsi dari sistem MySQL. EXPLAIN EXPLAIN SELECT sintak Menampilkan secara detail informasi tentang struktur dari perintah SELECT FLUSH FLUSH option Melakukan reset terhadap beberapa proses2 internal sesuai opsi yang diberikan. Opsi-opsi-nya antara lain: HOST mengosongkan tabel cache yang meyimpan data nama host dari klien LOGS menutup semua file2 log dan membukanya kembali PRIVILEGES membuka kembali semua permisi internal MySQL dari tabel grant STATUS melakukan reset terhadap status yang selalu mengamati suatu keadaan di server TABLES menutup semua tabel yang telah dibuka GRANT GRANT privilege [(kolom, ... )] [, privilege [(kolom, ... )] ... ] ON {table} TO user [IDENTIFIED BY 'password'] [, user [IDENTIFIED BY 'password'] ...] [WITH GRANT OPTION] Mengaktifkan hak akses kepada user tertentu yang bisa hak untuk mengakses database, tabel atau kolom. INSERT INSERT [INTO] tabel [(kolom, ... )] VALUES (nilai) [,(nilai)... ] INSERT [INTO] tabel [(kolom, ... )] SELECT ... INSERT [INTO] tabel SET kolom=nilai, kolom=nilai, ... Memasukkan data ke dalam tabel KILL KILL thread_id Menghentikan suatu thread. ID dari thread tersebut bisa ditampilkan dengan perintah SHOW PROCESSES. LOAD LOAD DATA [LOCAL] INFILE file (REPLACE|IGNORE] INTO TABLE tabel [delimiter] [(kolom)] Membaca suatu file text yang formatnya bisa terbaca dan memasukkannya ke dalam suatu tabel di database tertentu. LOCK LOCK TABLES nama_tabel [AS alias] READ|WRITE [, nama2 [AS alias] READ|WRITE, ...] Mengunci tabel untuk kepentingan suatu thread tertentu. OPTIMIZE OPTIMIZE TABLE nama_tabel Membuat kembali suatu tabel yang dihilangkan semua space kosong. REPLACE REPLACE INTO tabel [(kolom, ... ) VALUES (nilai, ... ) REPLACE INTO tabel [(kolom, ... ) SELECT sintak_select Hampir sama dengan perintah INSERT yang memasukkan data ke dalam tabel tetapi jika ada nilai yang konflik dengan yang lama, maka yang lama akan digantikan dengan yang baru. REVOKE REVOKE privilege [(kolom, ...)] [,privilege [(kolom, ...) ...] ON tabel FROM user Menghilangkan privilege dari user yang telah diset oleh perintah GRANT SELECT SELECT [STRAIGHT_JOIN] [DISTICTIALL] nilai[, nilai2,...] INTO OUTFILE 'nama_file' delimiters] FROM tabel[,tabe12...] [clausa] Mengambil data dari suatu database. Perintah ini adalah metoda utama untuk membaca data dari sutau tabel database. Jika anda mencantumkan 2 tabel sekaligus, maka secara otomatis perintah ini akan membandingkan kedua tabel tersebut. Hasil-hasil dari perintah SELECT ini bisa berupa: alias semua nama kolom yang komplek atau fungsi bisa disederhanakan dengan membuat alias. Contohnya : SELECT DATE FORMAT (date, "%W, %M, %d, %Y) AS nice date FROM kalender nama kolom Bisa berupa kolom, tabel.kolom atau database.tabel.kolom seperti contoh berikut ini : SELECT nama FROM orang; SELECT dataku.orang.nama FROM orang fungsi MySQL didukung oleh berbagai fungsi2 antara lain fungsi2 matematika dan masih banyak lainnya. Contoh sebagai berikut SELECT COS(sudut) FROM nama_tabel Perintah ini juga bisa memberikan suatu perintah pencarian data dengan clausa-clausa tertentu seperti tertera dalam subbahasan di bawah ini: WHERE clausa Pernyataan ini sangat umum digunakan untuk mencari data yang diinginkan di dalam MySQL baik untuk membandingkan beberapa tipe data atau dengan menggunakan fungsi-fungsi yang tertera dalam daftar di bawah ini
+ menambahkan antara dua nilai - mengurangkan antara dua nilai * mengalikan antara dua nilai / membagi antara dua nilai % memberikan nilai persentase | memberikan OR antara dua nilai integer & memberikan AND antara dua nilai integer NOT memberikan perintah logic NOT OR memberikan perintah logic OR AND memberikan perintah logic AND = kesamaaan nilai atau hasil <> ketidaksamaan nilai <= nilai di sebelah kiri lebih kecil atau sama dengan nilai di kanan < nilai di sebelah kiri lebih kecil dari sebelah kanan >= nilai di sebelah kiri lebih besar atau sama dengan nilai di kanan > nilai di sebelah kiri lebih besar dari sebelah kanan nilai BETWEEN nilail AND nilai2 mencari baris dimana nilai adalah sebuah besaran antara nilail dan nilai2 nilai IN (nilail, nilai2,...) mencari baris dimana nilai sesuai dengan nilai-nilai yang diberikan nilai NOT IN (nilail, nilai2...) mencari baris dimana nilai tidak sesaui dengan dengan nilai-nilai yang diberikan nilai1 LIKE nilai2 membandingkan nilai dan nilai2 lalu mencari baris yang merupakan hasilnya nilail NOT LIKE nilai2 membandingkan nilai1 dan nilai2 jika keduanya berbeda maka mencari baris yang merupakan hasilnya GROUP BY kolom[, koloml,...] mengumpulkan semua baris yang berisi data di dalam kolom yang dituju seperti contoh berikut : SELECT nama,MAX(umur) FROM orang GROUP BY nama HAVING clausa hampir sama dengan pemyataan WHERE tetapi hanya berfungsi pada data yang sudah diambil dari database. Sangat efektif digunakan dalam penggunakan pencarian data agregat pada tabel yang banyak kolom. Contoh sebagai berikut : SELECT nama, MAX(umur) FROM orang GROUP BY nama HAVING MAX(umur)>80 ORDER BY kolom [ASC|DESC][,kolom2 [ASC|DESC].... ] mengurutkan data pada kolom tertentu. DESC merupakan pengurutan dari besar ke kecil, ASC adalah sebaliknya. Contoh sebagai berikut : SELECT nama,umur FROM orang ORDER BY umur DESC SELECT juga mendukung konsep fungsi. Berikut ini daftar fungsi yang telah dimasukkan ke dalam MySQL: ABS(angka) menghasilkan nilai absolut dari bilangan ACOS(angka) menghasilkan cosinus invers dari angka dalam radian ASCII(char) menghasilkan nilai ASCII dari karakter yang diberikan ASIN(angka) menghasilkan sinus invers dari angka dalam radian ATAN(angka) menghasilkan tangen invers dari angka dalam radian ATAN2(X, Y) menghasilkan tangen invers dari titik (X,Y) CHAR(num[,num2,num3.... ]) menghasilkan karakter dari nilai num yang berupa nilai ASCII CONCAT(stringl,string2[,string3.... ]) menghasilkan hasil penggabungan semua argumen string yang ada CEILING(angka) menghasilkan nilai integer yang terdekat ke angka COS(radian) menghasilkan nilai cosinus dari angka yang diberikan dalam bentuk radian COT(radian) menghasilkan nilai cotangen dari angka yang diberikan dalam bentuk radian CURDATE()/CURRENT() menghasilkan informasi tanggal saat sekarang dalam bentuk YYYYMMMDD CURTIME()/CURRENT_TIME() menghasilkan informasi waktu saat sekarang dalam bentuk HHMMSS DATABASE() menghasilkan nama dari database yang sekarang di akses DATE_FORMAT(date, format) menghasilkan data yang diformat seperti yang telah diberikan di atas perintah tersebut. Format string-nya sebagai berikut
%b nama bulan (Jan, Feb, dll.) %D hari dengan urutan tingkatan (1st, 2nd , 3rd, dll.) %d hari %H format 24-jam dari satuan jam %h format 12 jam dari satuan jam %i menit %M nama bulan (January, February, dll.) %m urutan dari bulan dalam setahun (January adalah urutan 1) %p AM atau PM %r format 12 jam dari satuan jam termasuk notasi AM/PM %S detik dalam dua digit %s detik dalam satu digit %T format 24 jam total dan lengkap %Y tahun dalam format empat digit %y tahun dalam format dua digit menghasilkan hasil konversi radian ke bentuk derajat ENCRYPT(string[,salt]) enkripsi dari string yang biasanya adalah password user EXP(pangkat) menghasilkan angka eksponensial yang dipangkatkan dengan nilai pangkat yang diberikan FLOOR(angka) menghasilkan integer terbesar yang lebih kecil atau sama dengan angka GREATEST(argl, arg2[,arg3,arg4.... ]) menghasilkan nilai numerik yang paling besar dari seluruh argumen yang dimunculkan HEX(desimal) menghasilkan nilai heksadesimal dari nilai desimal yang diberikan IF(test, nilail, nilai2) jika test bernilai TRUE maka menghasilkan nilail, jika sebaliknya maka menghasilkan nilai2. Nilai test disini diasusmsikan sebagai integer LAST_INSERT_ID() menghasillcan nilai terakhir yang secara otomatis dihasilkan oleh field AUTO_INCREMENT LCASE(string)/LOWER(string) menghasilkan string dengan semua karakternya dalam huruf kecil LOG(angka) menghasilkan nilai logaritma dari angka LOG10(angka) menghasilkan nilai logaritma 10 dari angka MOD(angkal, angka2) menghasilkan sisa pembagian angkal oleh angka2 NOW()/SYSDATE()/CURRENT_TIMESTAMP() menghasilkan informasi tanggal dan waktu pada waktu saat ini dalam format YYYY MM-DD HH:MM:SS OCT(desimal) menghasilkan nilai octal dari angka desimal yang diberikan PASSWORD(string) menghasilkan bentuk password-terencripsi dari string yang ada. PI() menghasilkan nilai dari pi (π) = 3,141593 POW(angkal, angka2)/POWER(angkal, angka2) menghasilkan nilai dari angkal dipangkat oleh angka2. RADIANS(sudut) menghasilkan nilai radian dari argumen sudut REPEAT(string, angka) menghasilkan bentuk perulangan dari string sebanyak angka kali ROUND(angka[,desimal]) menghasilkan nilai angka yang dibulatkan ke sebanyak angka desimal SEC_TO_TIME(detik) menghasilkan nilai satuan jam dari jumlah detik yang diberikan dalam format HH:MM:SS SIN(radian) menghasilkan nilai sinus dari radian. TAN(radian) menghasilkan nilai tangensial dari radian TIME-TO-SEC(jam) menghasilkan nilai waktu dalam detik dari format jam HH:MM:SS TRUNCATE(angka, string) menghasilkan angka yang telah dipotong panjang desimalnya sepanjang string desimal UCASE(string)/UPPER(string) menghasilkan karakter dari string dalam bentuk huruf besar. USER()/SYSTEM_USER()/SESSION USER() menghasilkan nama dari user yagn sedang bekeda VERSION() menghasilkan informasi versi MySQL yang sedang digunakan. Berikut ini daftar fungsi agregat untuk mencari data-data dalam database yang telah dibuat sebelumnya. Contohnya sebagai berikut : "SELECT AVG (tingqi ) FROM anak_kecil" menghasilkan nilai rata-rata dari field 'tinggi' yang ada di dalam tabel 'anak_kecil' AVG(ekspresi) menghasilkan nilai rata-rata dari ekspresi yang ada BIT_AND(ekspresi) menghasilkan nilai rata-rata AND dari ekspresi yang ada BIT_OR(ekspresi) menghasilkan nilai rata-rata OR dari ekspresi yang ada COUNT(ekspresi) menghasilkan jumlah dari ekspresi yang not null MAX(ekspresi) menghasilkan nilai terbesar dari ekspresi yang ada MIN(ekspresi) menghasilkan nilai terkecil dari ekspresi yang ada STD(ekspresi)/STDEV(ekspresi) menghasilkan nilai standar deviasi dari ekspresi yang ada SUM(ekspresi) menghasilkan penjumlahan semua nilai yang ada di dalam ekspresi SET SET OPTION SQL_OPTION=nilai Mendefinisikan sutu opsi dari sesi yang sedang dikerjakan. Berikut ini adalah daftar opsi yang ada
LAST-INSERT _ ID=angka SQL_BIGSELECTS=0 atau 1 SQL_BIG TABLES=0 atau 1 SQL-LOG-OFF--0 atau 1 SQL_SELECT_LIMIT=angka SQL-UPDATE LOG=0 atau 1 SHOW DATABASES [LIKE clausa] SHOW KEYS FROM tabel [FROM database] SHOW INDEX FROM tabel [FROM database] SHOW TABLES [FROM database] [LIKE clausa] SHOW COLUMNS FROM tabel [FROM database] [LIKE clausa] SHOW FIELDS FROM tabel [FROM database] [LIKE clausa] SHOW STATUS SHOW TABLE STATUS [FROM database] [LIKE clausa] SHOW VARIABLES [LIKE clausa] Menampilkan berbagai informasi dari sistem MySQL. Perintah ini bisa digunakan untuk menganalisa status atau struktur dari keseluruhan sistem MySQL UNLOCK UNLOCK TABLES Membuka penguncian tabel yang dilakukan oleh perintah LOCK UPDATE UPDATE tabel SET kolom=nilai.... [WHERE clausa] Mengubah isi data dari tabel tanpa mengubah tabel itu sendiri. USE USE nama_database Memilih dan menggunakan nama_database untuk memulai pekerjaan di sistem MySQL. Selengkapnya bisa dilihat di: http://www.mysql.com/documentation/mysql/bychapter/manual_reference.html :: Tipe Data mySQL
P = panjang , D = desimal desimal Jumlah bilangan desimal yang diperbolehkan untuk dipakai dalam nilai floating point. panjang Untuk nilai-nilai numerik, satuan ini ditujukan untuk jumlah karakter yang dipakai untuk menampilkan nilainya pada user. Satuan ini mencakup besaran desimal,eksponen, dll. Jika digunakan pada tipe TIMESTAMP, maka satuan ini ini menunjukkan format dari waktu yang digunakan dalam sistem MySQL. Jika digunakan pada tipe karakter, maka satuan ini menunjukkan jumlah karakter yang ada di dalam data. precision Atribut ini terdapat di dalam tipe data FLOAT untuk memberikan kompabilitas dengan sistem ODBC. AUTO INCREMENT Atribut ini memberikan fasilitas agar field numerik bisa diperbarui secara otomatis. BINARY Atribut ini bisa digunakan dengan tipe CHAR dan VARCHAR untuk memberikan indikasi data binari dalam string text. DEFAULT nilai Atribut ini memberikan nilai default pada field. Jika argumen default tidak diberikan, maka akan dipakai nilai NULL NOT NULL Atribut ini menjamin semua masukan ke dalam kolom selalu bernilai non-NULL NULL Atribut ini memberikan perintah bahwa suatu field bisa diisi masukan yang bernilai NULL PRIMARY KEY Atribut ini secara otomatis akan membuat field menjadi primary key untuk sebuah tabel. Primary key adalah sebuah key yang UNIQUE dengan nama "PRIMARY". Semua field yang mempunyai primary key harus ad peubah NOT NULL. |
No comments:
Post a Comment