Selasa, 17 September 2013

Delete Duplicate Data Pada SQL Server



ALTER TABLE TL_ItemMaster ADD ItemId int identity(1,1) ;

WHILE EXISTS (SELECT COUNT(*) FROM TL_ItemMaster GROUP BY ItemCode, ItemName  HAVING COUNT(*) > 1)
BEGIN
    DELETE FROM TL_ItemMaster WHERE ItemId IN
    (
        SELECT MIN(ItemId) as [DeleteID]
        FROM TL_ItemMaster
        GROUP BY ItemCode, ItemName
        HAVING COUNT(*) > 1
    )
END


Semoga Bermanfaat. :)

Mencari dan Replace Tanda Petik Pada SQL

       Pernah saya menemui masalah untuk Query pada SQL tampil pesan error karena record terdapat tanda petik, karena SQL tidak bisa membaca tanda petik ( ' ), untuk mengatasi masalah tersebut tanda petik harus di replace, berikut cara nya :

Sebelumnya kita cari terlebih dahulu record yang mengandung tanda petik dengan cara :

SELECT     *
FROM         EMPLOYEE
WHERE     (EmployeeName LIKE '%''%')
ORDER BY EmployeeName

Setelah di cari dan kita yakin record-record tersebut harus di replace, baru dech kita replace dengan karakter selain petik, disini saya menggunakan karakter ( ` ) karena hampir sama dengan tanda petik ( ' ), caranya menggunakan script di bawah ini :

UPDATE EMPLOYEE SET EmployeeName = REPLACE(EmployeeName ,'''','`')
WHERE     (EmployeeName LIKE '%''%')

Oya, untuk mengganti dan Replace tanda kutip ( " ), tinggal di ganti aja tanda petik nya dengan tanda kutip, sperti :

 SELECT     *
FROM         EMPLOYEE
WHERE     (EmployeeName LIKE '%"%')
ORDER BY EmployeeName

UPDATE EMPLOYEE SET EmployeeName = REPLACE(EmployeeName ,'"','`')
 WHERE     (EmployeeName LIKE '%"%')



Semoga bermanfaat.. :)


Rabu, 11 September 2013

Cara Mengubah Struktur Tabel dengan Query SQL

Dalam artikel ini, saya akan coba bahas dalam blog ini mengenai bagaimana cara mengubah struktur tabel menggunakan query SQL. Meskipun untuk mengubah struktur tabel, khususnya pada MySQL ini, dapat kita lakukan dengan mudah menggunakan tool atau interface seperti PhpMyAdmin atau Navicat atau yang lain, namun… sejenak kita lupakan tool-tool tersebut. Mengapa demikian? yap…. kita mungkin tidak akan menduga, ketika di suatu saat kita dipaksa tidak boleh menggunakan tool seperti di atas dan mau tidak mau harus menggunakan SQL command untuk mengatur administrasi database. Boleh saja kita menggunakan tool, namun basic commandsnya jangan sampai diabaikan. Bukan begitu mbak Elis? (salah satu member saya)  Kebetulan beliau ini sedang bingung karena ada tugas dari dosennya. Mudah-mudahan dari postingan artikel ini menjadi tidak bingung lagi 
OK… lanjut…
Ada beberapa proses yang termasuk dalam pengubahan struktur dalam tabel, yaitu :

  • menambah field baru dalam suatu tabel,
  • mengubah nama field,
  • mengubah tipe data field,
  • membuat primary key
  • mengubah properti field,
  • menghapus primary key,
Nah.. akan kita bahas satu persatu proses di atas. Mmm… tapi enaknya kita buat dalam studi kasus saja ya.

Andaikan kita sebelumnya telah memiliki tabel dengan struktur sebagai berikut:

1.CREATE TABLE mhs
2.(
3.nim varchar(8),
4.nama varchar(30),
5.tgllahir varchar(10)
6.)
Trus… nantinya kita akan ubah struktur tabel yang telah kita miliki di atas.
Menambah Field Baru
Sebagai contoh misalkan kita akan menambahkan field baru dengan nama ‘asalSekolah’ bertipe Varchar(20) sebagai field terakhir dari tabel, perintah SQL nya adalah

1.ALTER TABLE mhs ADD asalSekolah VARCHAR(20);
Anda juga dapat menyisipkan field ‘asalSekolah’ tersebut sebagai field pertama dalam tabel ‘mhs’ dengan perintah SQL sbb:

1.ALTER TABLE mhs ADD asalSekolah VARCHAR(20) FIRST;
Bagaimana bila kita ingin field ‘asalSekolah’ ini diletakkan setelah field ‘nama’? Gampang sekali caranya, cukup berikan perintah berikut ini

1.ALTER TABLE mhs ADD asalSekolah VARCHAR(20) AFTER nama;
Mengubah Nama Field
Sebagai contoh misalkan kita akan mengubah nama field ‘nama’ menjadi ‘namaMhs’. Perhatikan perintah SQL berikut ini

1.ALTER TABLE mhs CHANGE nama namaMhs VARCHAR(8);
Mengubah Tipe Data Field
Sebagai contoh misalkan kita akan mengubah tipe data dari field ‘tgllahir’ menjadi DATE, maka perintah SQL nya:

1.ALTER TABLE mhs CHANGE tgllahir tgllahir DATE;
Catatan:
Perhatikan perintah di atas bahwa field ‘tgllahir’ ditulis 2 kali. Hal ini dilakukan apabila tidak ada perubahan nama field.
Membuat Primary Key
Misalkan kita akan membuat field ‘nim’ sebagai kunci atau primary key nya. Maka perintahnya adalah:

1.ALTER TABLE mhs ADD PRIMARY KEY (nim);
Bagaimana bila kita ingin lebih dari satu field sebagai kuncinya sekaligus? Ya… mudah saja tinggal berikan perintah SQL seperti ini

1.ALTER TABLE namatabel ADD PRIMARY KEY (field1, field2, ...);
Mengubah Properti Field
Yang dimaksud mengubah properti field, misalnya kita menambahkan auto increment pada suatu field atau kita mengatur suatu field tidak boleh NULL (berisi data kosong). Sebagai contoh misalnya kita akan memberikan auto increment pada field ‘nim’ (meskipun NIM menggunakan auto increment itu tidak boleh). Ingat ya… untuk auto increment ini hanya dapat diberikan pada field yang bertipe INTEGER saja. Oleh karena itu ketika akan memberikan auto increment, maka sekaligus kita ubah tipe data ‘nim’ menjadi INTEGER. Satu lagi yang penting bahwa field yang akan diberikan auto increment haruslah berupa kunci (key). Oleh karena itu kita sebelumnya harus sudah memilih ‘nim’ sebagai kunci nya. Berikut ini adalah perintah SQL untuk memberikan auto increment pada ‘nim’ dengan asumsi field ini sudah menjadi kunci.
 
1.ALTER TABLE mhs CHANGE nim nim INT AUTO_INCREMENT;
Sedangkan berikut ini perintah SQL untuk menghapus auto increment dari yang sudah kita set di atas

1.ALTER TABLE mhs CHANGE nim nim INT;
Kemudian, bagaimana bila kita ingin supaya suatu field tidak boleh kosong (NULL) datanya atau dengan kata lain, data untuk field tersebut harus terisi? Mudah saja, kita hanya tambahkan properti NOT NULL pada field yang kita inginkan. Misalkan kita set supaya field ‘tgllahir’ tidak boleh kosong, perintah SQL nya adalah:

1.ALTER TABLE mhs CHANGE tgllahir tgllahir DATE NOT NULL;
Kebalikannya, bagaimana bila kita ingin mengembalikan ‘tgllahir’ ini memperbolehkan data kosong? Ya.. cukup ubah dari NOT NULL menjadi NULL.

1.ALTER TABLE mhs CHANGE tgllahir tgllahir DATE NULL;
Menghapus Primary Key
Mmm.. untuk menghapus primary key, kita hanya bisa menghapus semuanya (tidak satu persatu) apabila terdapat lebih dari satu primary key. Adapun perintah untuk menghapus primary key yang ada dalam tabel ‘mhs’ adalah:

1.ALTER TABLE mhs DROP PRIMARY KEY;
OK… mudah-mudahan artikel ini berguna bagi Anda, khususnya mbak Elis ya  Sudah tidak bingung kan mbak?



Sumber : blog.rosihanari.net

Template by : kendhin x-template.blogspot.com