MySQL Part 3- HAK AKSES DALAM SQL

Posted by Fajar Ramadhan On Monday, December 6, 2010 0 komentar

  • Tabel user : Tabel dimana hak user ( pemakai) kelihatan semua, apakah dia berhak mengakses database A atau Tidak.
  • Tabel host : tabel dimana nama komputer atau alamat komputer yanng digunakan untuk mengakses server MYSQL.
  • Tabel Privellege : Informasi yang diberikan kepada host untuk mengakses databaase yang didefinisikan.
          Contohnya :
                 >> desc user;
                 >> desc host;
                 >> desc tables_priv;
                 >> desc db; //perintah untuk menampilkan struktur table

Pengelolaan user (pemakai) dan Privelege dengan SQL
       0>Mendefinisikan Database untuk User
            Contohnya :
                  >> insert into db(Host, db, user)
                       values('localhost', 'dunia', 'budi');
       
        0> Menambah Pemakai 
             Contohnya :
                    >> insert into user (host, user) ;
                         values ('alamat komputer', 'namapemakai'); // values ('192.168.1.1/localhost', 'budi');

        0> Mendifinisikan Struktur Tabel Privalege Pemakai
              Contohnya :
                    >> update user
                         set  select_priv='y'
                         where user='budi';

        0>  Penambahan Pemakai dan Privalege
              Contohnya :
                    >> insert into user (host, user, select_priv)
                         values ('localhost', 'budi', 'y');

        0> Pencabutan Hak Akses
             Contohnya :
                    >> update user set select_priv='N'
                          where user='budi';

     

Pengelolaan user (pemakai) dan Privelege denganDCL
     DCL : menurut betha sidik "Perintah untuk melakukan pendefinisian pemakai yang boleh mengakses database, dan apa saja privelegenya".
     
     0> Mendefinisikan user dan privalegenya  dengan DCL
          Perintahnya :
                 grant [privaleges] [nama-nama kolom]
                 on namadatabase.namatabel
                 to namapemakai@hostkomputer
                 identified by "password"
                 [with grant option]


     0> Macam - macam Privelege dalam Grant
           Contohnya :

                 >> grant select on dunia.* //* disini untuk menampilkan seluruh nama tabel yang ada pada database dunia/world
                       to budi@localhost;



      0>Menghapus hak akses pada DCL
           Contohnya :
                 >> Delete * from user
                       where user='budi'; 

KEAMANAN DASAR 
            Contohnya : 
                 # -u root mysql
                 # select * from user where user='root'

      Pemberian Password
                 # update user set password=pasword('topcer') where user='budi';

      Melihat tabel user yang baru saja dibuat passwordnya
                # select * from user where user='budi';

      Menghapus user beserta passwordnya
                # delete from user where user='budi';

<< Sebelumnya                                                                                                     Selanjutnya>>

=========================================================================

MySQL Part 2 BAGIAN II - Funciton - Function yang terdapat pada SQL

Posted by Fajar Ramadhan On Friday, December 3, 2010 0 komentar

     3. Function Date/Time 
         Tipe - tipe Interval  :

                  
  • CURDATE()=CURRENT_DATE(), CURTIME()=CURRENT_TIME(), CURRENT_TIMESTAMP(), DATE_FORMAT(x,simbolformat)
          Curdate() : Menghasilkan tanggal sekarang dari sistem / waktu yang ada di komputer.
          Curtime() : Menghasilkan jam saat ini dari sistem.
          Current_timestamp() : Menampilkan waktu saat ini, tangal dan jam
          Date_format(x,simbol)  : Digunakan untuk mengkonversi data tunggal sesuai dengan simbol format yang diginkan. x adalah data tanggal.
          Contohnya :
                >> select curdate();
                >> select curtime();
                >> select current_timestamp()
                >> select date_format('2010-12-01', %M %D %Y);

          simbol - simbol format :
  •  DATE SUB(x, interval ekpresi interval), dayname(x), dayofmonth(date), dayofweek(date), dayofyear(date), extract(value from date), from_Days(Days), from_unixtime(unixtime[,simbolformat),Hour(time)
          Date Sub() : Membuat data tanggal baru dengan mengurangi, sama hasilnya jika kita menggunakan nilai negatif pada date_add().
          dayname() : digunakan untuk menampilkan nama hari dari tanggal yang menjadi argumen pada fungsi.
          dayofmonth() : menampilkan nomor hari.
          dayofweek() : menampilkan nomor hari dalam 1 minggu.
          dayofyear() : menampilkan nomor hari dari tahun.
          extract () : mengambil bagian dari tanggal
          from_Days() : konversi dari angka ke hari.
          From_unixtime(): konversi dari unixtime ke tanggal atau hari atau suatu string
          hour() : menampilkan jam dari waktu.

          contohnya :
               >> select date_sub('2010-12-01','%M %D %Y');
               >> select dayname('1990-12-31');
               >> select dayofmonth('1990-12-31');
               >> select dayofweeek('1990-12-31');
               >> select dayofyear('1990-12-31');
               >> select extract(Day from "2010-12-01");
               >> select days(1500000);
               >> select from_unixtime(9902348, "%M %D %Y");
               >> select hour("14:59");

  •  MINUTE(TIME), MONTH(TIME), MONTHNAME(DATE), NOW(), PERIODE_ADD(a,b),  PERIOD_DIFF(a,b), QUARTER(DATE), SECOND(time)
          Minute() : menampilkan menitnya saja
          Month() : menampilkan nomor bulan dari tanggal yang dimasukkan..
          MonthName() : menampilkan nama bulan.dari tanggal yang diamasukkan
          Now() : menampilkan waktu sekarang
          Periode_Add(a,b) : Menambah suatu a sebanyak b bulan.
          Periode_Diff(a,b) : Mengambil selisih bulan a, dan b.
          Quarter(date) : menghasilkan nomor kuarter dalam 1 tahun.
          Second(time) : menghasilkan bagian menit dari waktu / jam yang dimasukkan.

          Contohnya :
                >> select minute("15:09:00");
                >> select month("2010-12-04");
                >> select monthname("2010-12-04");
                >> select now();
                >> select periode_add(201001,12);
                >> select periode_diff(201012,199012);
                >> select quarter("2010-12-04");
                >> select second("2010-12-04");

  •  sec_to_time(second), subdate(), sysdate(), time_format(time, simbol), time_to_sec(time), to_days(date), unix_timestamp(date), week(Date,[mulai]), weekday(date), year(Date)
            Sec_to_time(second) : menghasilkan waktu dalam format "hh:mm:ss"
            subdate() : manipulasi tanggal
            sysdate() = now() = curtime() = current_timestamp()
            time_format() : menghasilkan waktu yang kita inginkan
            time_to_sec(time) : menghasilkan jumlah detik.
            to_Days(Date) : Menghasilkan jumlah hari
            Unix_timestamp(date) : mengembalikan banyak detik dari tanggal yang jadi parameternya..
            week(date,[mulai]) : menampilkan seberapa banyak minggu yang ada,dalam tanggal yang dimasukkan.

            Contohnya :
                  >> select second(14000);
                  >> select time_format("2010-12-04 15:23:35", "%i %s");
                  >> select tme_to_sec("15:23:35");
                  >> select to_days("2010-12-04");
                  >> select unix_timestamp("2010-12-04");
                  >> select week("2010-12-04",3);
                  >> select weekday("2010-12-04"); //dimulai dari monday = 0 hingga sunday =6
                  >> select year("2010-12-04");


     4. Function Alur Kontrol / Logika
  • if(ekspresi1, ekspresi2, ekspresi3, ........... ,ekspresiN)
          Jika ekspresi1 bernilai true(benar), -> ekspresi2 akan dieksekusi dan apabila ekspresi1 bernilai false(salah) maka yang akan dieksekusi adalah ekspresi3 meloncati ekspresi2.
          Contohnya :
                >> select if(1, "benar","salah");
                >> select if(0, 'benar','salah');
                >> select if(1>2,2,3);
                >> select if(1<2, 'oke', 'gak oke');

  • ifnull(ekspresi1, ekspresi2, ekspresi3, ........... ,ekspresiN)
          Jika ekspresi1 bernilai true(benar), maka function ini akan mengembalikan nilai null, jika ekspresi1 bernilai false(salah) maka yang akan dieksekusi adalah ekspresi2.
          Contohnya :
                >> use dunia;
                     select ifnull(name, 'itabuna')
                     from city where name='bandung';
                >> select ifnull(1,0);
                >> select ifnull(null, 99);
                >> select ifnull(99/0, 'mantap');
  • isnull(ekspresi1, ekspresi2, ekspresi3, ........... ,ekspresiN)
          Jika ekspresi1 true(benar) bernilai null, nilai 0 jika ekspresi salah
          contohnya :
                >> use dunia;
                     select ifnull(name)
                     from city where name='itabuna';

<< Sebelumnya                                                                                                     Selanjutnya>>

==========================================================================

MySQL Part 2 BAGIAN I - Funciton - Function yang terdapat pada SQL

Posted by Fajar Ramadhan On Wednesday, December 1, 2010 0 komentar

Adapun beberapa perintah function yang ada pada mysql sebagai berikut :

  1. Function Numerik
  2. Funciotn String / Text
  3. Funciton Date/Time
  4. Function Alur Kontrol
  5. Function Perbandingan / Komparasi
  6. Function Konversi Tipe Data
  7. Function Enkripsi dan Kompresi
  8. Function Dll...
 untuk pengertian lebih dalam, silahkan anda explore di google aja yah... ehehehe
  1. Function Numerik
  • ABS(x)
          Menjadikan nilai negatif ke positif atau postitif ke positif..
          contohnya :
               >> select abs(1); //akan menghasilkan nilai 1
               >> select abs(-1); //akan menghasilkan nilai 1
  • CEILING(x)
           Pembulatan nilai yang lebih besar
           contohnya :
                >> select ceiling(1.12345); //akan menghasilkan nilai2
                >> select ceiling(-1.12345); //akan menghasilkan nilai -1
  • FLOOR (x)
          Pembulatan nilai yang lebih kecil
          contohnya :
               >> select floor(2.34); //akan menghasilkan nilai 2
               >> select floor(-2.34); //akan menghasilkan nilai -2
  • ROUND(x) DAN ROUND(x,y)
          Round(x) : pembulatan nilai ke yang terdekat sedangkan
          Round(x,y) : pembulatan nilai x dengan y angka pecahan
          contohnya :
               >> select round(-1.23); //akan menghasilkan nilai -1
               >> select round(-1.56); //akan menghasilkan nilai -2
               >> select round(1.298, 0); //akan menghasilkan nilai 0
               >> select round(22.299, -1); //akan menghasilkan nilai 20
  • PI(), RADIANS(X), DEGREES(X) 
          PI(): nilai yang terdapat pada jari - jari sebuah lingkaran atau diameter jari - jari lingkaran
          Radians(x): Mengkonversi nilai dari derajat ke radian
          Degrees(x): Mengkonversi nilai dari radian ke derajat
          contohnya :
               >> select pi(); //akan menghasilkan nilai 3.14
               >> select degrees(1); //akan menghasilkan nilai 57.29577
               >> select radians(90); //akan menghasilkan nilai 1.57079632
  • Sin(x), cos(x), dan tan(x)
          contohnya :
               >> select sin(60);
               >> select cos(30);
               >> select tan(45);
  • POW(X,Y), POWER(X,Y)
          hasil nilai yang didapat dari x pangkat y
          contohnya :
                >> select pow(5,5);
                >> select power(4,2);
  • RAND(), SQRT(X)
          Rand : menghasilkan nilai acak antar 0 sampai kurang dari 1
          Sqrt : mengembalikan nilai akar quadrat
          contohnya :
               >> select rand();
               >> select sqrt(25);

     2.  Function String / Tek
  • ASCII(x), ORD(x)
          mengembalikan kode karakter dari karakter pertama suatu sring
          contohnya :
               >> select ascii('2');
               >> select ascii('aku');
               >> select ord('2');
               >> select ord('aku'); 
  • BIN(x), OCT(x), HEX(n atau s), UNHEX(str)
          Bin(x) : konversi bilangan desimal ke biner
          Oct(x) : konversi bilangan desimal ke octal
          Hex(n) : konversi bilangan desimal ke hexadesimal
          Hex(s) : konversi string/teks ke hexadesimal
          Unhex('') : konversi deret karakter/teks hexa ke karakter
          contohnya :
               >> select bin(9);
               >> select oct(9);
               >> select hex(9);
               >> select hex('aku');
               >> select unhex(hex('aku'));
  • CHAR_LENGTH(S), LENGTH(S), CHAR(X) CONCAT(A,B,C...) DAN CONCAT_WS(A,B,C...)
          length(s) : menghitung suatu nilai yang ada pada string berapa byte
          char_length(s) : menghitung banyaknya karakter dalam suatu string
          Char(x) : konversi urutan bilangan - bilangan ke dalam suatu string
          Concat(a,b,c,...) : menggabungkan sekumpulan string menjadi sebuah string
          Concat_ws(a,b,c,...) : menggabungkan sekumpulan string menjadi sebuah string dengan memberikan String pemisah.
           Contohnya :
                 >> select length('saya');
                 >> select char_length('topcer');
                 >> select char(77,121,83,81,'76');
                 >> select concat('ku','er','en');
                 >> select concat_ws(','Fajar','Ramadhan');
  • FORMAT(a,b), INSERT(a,b,c,d), INSTR(a,b), LEFT(a,b)
          Format(a,b) : memformat bilangan a ke dalam string/teks dengan pemisah ribuan (format #,###,###.##) dengan banyaknya pecahan sebanyak b.
          Insert(a,b,c,d) : menghasilkan string a yang telah diganti isinya dengan string d mulai posisi ke b sebanyak c
          Instr(a,b) : menghasilkan nilai posisi string b didalam stirng a.
          Left(a,b) : fungsi ini akan mengambil sejumlah b karakter dari string a, mulai posisi pertama          

           contohnya :
               >> select format(12500.2,0);
               >> select insert('database',5,4,'ware');
               >> select instr('manuk jatayu iku garuda','jatayu');
               >> select left('sayaganteng',4);
  • LOCATE(X,Y), LOCATE(X,Y,Z), POSITION(A IN B), LOWER(S)=LCASE, UPPER(S)=UCASE(S)
          Locate(x,y)=Position(a in b) : Mencari posisi x pada y
          Locate(x,y,z) : Mencari posisi x pada y mulai dari z
          Lower(s)=Lcase : Konversi karakter string/teks menjadi huruf kecil
          Upper(s)=Ucase : Konversi karakter string/teks menjadi huruf besar

          contohnya :
               >> select locate('mar','topmarkotop');
               >> select locate ('mak','maknyusmak',7);
               >> select loacate('mar' in 'topmarkotop');
               >> select lower('pembohong');
               >> select ucase('payah');
  • RPAD(X,Y,Z), LPAD(X,Y,Z), LTRIM(S), RTRIM(S) TRIM(S) REPEAT(A,B)
          RPAD(X,Y,Z) : Menambahkan string z di sebelah kanan string x apabila panjang string x lebih kecil dari y
          LPAD(X,Y,Z) : Fungsi ini digunakan untuk menambahkan string z kepada string x diebelah kirinya apabila panjang string x lebih kecil dari x
          LTRIM(s) : Menghapus spasi pada kiri awal. sedangkan RTRIM dari kanan awal..
          TRIM(s) : Menghapus sapasi kiri dan kanan.
          Repeat(a,b) : mengulang string/teks a sebanyak b kali.

          Contohnya :
                >> select lpad('pembohong',13,'da');
                >> select rpad('penghianat',20,'betul');
                >> select ltrim('           taek');
                >> select rtrim('lier        ');
                >> select trim('      love you    ');
                >> select repeat('Penghianat',3);
  • REPLACE(X,Y,Z), REVERSE(X), RIGHT(X,Y), SOUNDEX(X), SPACE(n)
          Replace(x,y,z) : mengganti semua string y di dalam string x yang ditemukan dengan string z
          Reverse(x) : Menghasilkan string yang membalik urutan penulisan dari string x
          Right(x,y) : Mengambil sejumah y karakter dari string x, mulai posisi paling akhir (paling kanan)
          Soundex(x) : Menghasilkan sebuah string soundex dari string x
          Space(n) : membuat string dengan isi spasi sejumlah n

          Contohnya :
                >> select replace('ganteng','a','e');
                >> select reverse('gnetnag');
                >> select right('pembohong',6);
                >> select soundex('jatayu');
                >> select space(4);


LATIHAN :
  •           TABEL : DUNIA.COUNTRY
  1. Cari negara yang namanya negaranya mengandung 8-10 karakter
  2. tampilkan nama negara lengkap dengan local negaranya dengan format "namanegara(localname)".. contohnya untuk negara mesir ditampilkan sebagai : 'egypt(misr)'
  3. Tampilkan nama negara dan populasinya. populasi dibulatkan ke seribuan terdekat... contohnya jika populasinya 123456 menjadi 123000
  4. Carilah nama negara yang 3 huruf terakhirnya sama dengan 3 huruf terakhir nama benuanya
  5. Selamat Bersenang - Senang...
  • TABEL CITY
  1. Tampilkan kota dan populasinya. tampilkan populasi dalam format yang menggunakan pemisah ribuan. tampilkan dalam ribuan, misalkan populasinya 123456 maka ditampilkan 12000. jika populasinya 12345678 maka akan ditampilkan 12,345ribu
  2. Tampilkan IDkota dan nama kotanya. untuk id kota tampilkan dalam 4 digit yang diawali dengan 0. contoh urutan id 123 menjadi 0123
  3. sama dengan nomor 2, tetapi jangan menggunakan fungsi lpad. buatlah alternatif dari lpad
Database Bisa diambil disini >>>>

<< Sebelumnya                                                                          Selanjutnya >>
    ===================================================================================

    Sign up for PayPal and start accepting credit card payments instantly.