Monday 26 September 2016

Belajar SQL Server : Dasar - Dasar SQL Server

Microsoft SQL Server adalah sebuah program sistem manajemen basis data relasional (RDBMS) yang diciptakan oleh Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase, saat ini SQL Server banyak digunakan di dunia bisnis berskala kecil hingga skala besar

Maka dari itu ane menulis tutorial ini untuk membantu kalian para calon Ahli SQL Server untuk mengetahui dasar-dasar SQL-Server, dan apa saja yang bisa kita lakukan pada SQL Server. Langsung saja kita mulai artikel berikut ;

Pastikan kalian sudah menginstall SQL Server, disini ane pake SQL Server 2008 R2, yang gratisan aja buat belajar ini wkwk, tapi jika kalian punya versi yang lebih baru juga lebih bagus.
Klik gambar untuk memperbesar

Kalian bisa download disini.

Selanjutnya buat database TestDB, klik kanan pada Databases > New Database...
Klik gambar untuk memperbesar
Beri nama TestDB, lalu klik OK
Klik gambar untuk memperbesar
Pada Object Explorer kalian dapat melihat database yang telah dibuat dengan membuka databases dengan mengklik dua kali.
Kemudia klik dua kali pada TestDB, pada folder table klik kanan > New Table...
Klik gambar untuk memperbesar
Isi design table sebagai berikut

NIK (int)
Nama (nchar50)
Alamat (nchar200)
Handphone (nchar15)


Klik gambar untuk memperbesar
Klik kanan pada tab > Save Table
Klik gambar untuk memperbesar
beri nama karyawan, lalu klik OK
Klik gambar untuk memperbesar
Selamat !!! Kalian berhasil membuat table, selanjutnya kita akan memasukkan data ke dalam table dengan menggunakan sintaks insert into table.

Memasukkan Data Kedalam Table SQL Server(Insert Into Table)

Sebenarnya dalam membuat database dan membuat table kita juga dapat menggunakan sintaks tapi sudah terlanjur basah hehe.

Sekarang kita akan memasukkan data kedalam table dengan menggunakan sintaks, tidak pake otomatis atau cara yang gampang, jika ingin menjadi ahli kita harus belajar dari akarnya.

Seperti yang kita ketahui sebelumnya kita sudah membuat database TestDB dengan Table karyawan di dalamnya, pada table karyawan terdapat kolom NIK, Nama, Alamat, Handphone.

Tantangannya adalah bagaimana caranya kita memasukkan data kedalam table tersebut ?
Sangat mudah, klik new query dan tulis sintaks berikut ;

insert into TestDB.dbo.karyawan values 
('16092016', 'Adi Gunawan', 'Jl. Rawa Bongkok No.3', '085712345678')
GO
Klik gambar untuk memperbesar
Keberhasilan kalian ditandai dengan pesan '1 row(s) affected' pada jendela Messages
Klik gambar untuk memperbesar
Belum cukup bukti ? Klik kanan pada table karyawan, lalu klik Select Top 1000 Rows
Klik gambar untuk memperbesar
Kalian akan melihat data kalian pada jendela Results. Selamat !!! kalian selangkah maju untuk menjadi ahl SQL Server \[^o^]/
Klik gambar untuk memperbesar

Memasukkan Beberapa Data Kedalam Table SQL Server (Insert Multiple Rows)

Jika data kita masukkan satu persatu sangat membuang waktu, maksudnya membuat satu kueri untuk satu data.

Karena kita dapat memasukkan beberapa data sekaligus dalam satu kueri sehingga lebih praktis, walau gak tambah cepet juga sihh, tergantung kalian ngetiknya cepet apa engga hehe -_-.

Klik New Query lalu masukkan sintaks berikut;
insert into TestDB.dbo.karyawan values 
('16092017', 'Bella Kangan', 'Jl. Rawa Bongkok No.3', '085712345678'),
('16092018', 'Citra Watik', 'Jl. Kera 4 No.9', '081254573289'),
('16092019', 'Galih Galunggung', 'Jl. Teratai Selatan No.12', '083875564486'),
('16092020', 'Heran Dah', 'Villa Maju Mundur Blok.Cantik/12', '087856689876')
GO
Klik gambar untuk memperbesar
Excute kueri kalian dan akan muncul pesan '4 row(s) affected', karena yang dimasukkan 4 data, jika 10 akan muncul pesan '10row(s) affected' dst.

Bukti keberhasilan kalian !!! Kalian pasti bisa jika ingin belajar dan maju.
Klik gambar untuk memperbesar

Maaf yaa ane lupa kasih kolom 'tgl bergabung' T_T, aku hanya manusia biasa hiks.

Tapi lihat sisi baiknya kita akan memasukkan kolom baru pada table karyawan sekaligus mengisi data tanggal bergabung.


Menambah Kolom Baru Pada Table SQL Server Sekaligus Memasukkan Data Kedalam Kolom Baru (Alter Table & Update Coloumn To Table)

Panjang amat judulnya -_-.

Baiklah sekarang kita akan memasukkan kolom baru kedalam table 'karyawan' sekaligus memasukkan data kedalam kolom baru tersebut, "emang bisa?", yaa tentu bisa lahh V_V . Silahkan tulis sintaks dibawah ini;


alter table TestDB.dbo.karyawan add tglbergabung date;
go

update TestDB.dbo.karyawan
set tglbergabung = '2014-08-16'
where karyawan.NIK = 16092016;
go
Klik gambar untuk memperbesar
Kenapa pake update bukan insert ? Karena kita menyisipkan data pada kolom yang sudah ada datanya jadi kita pake update, hal ini berbeda dengan memasukkan data baru seperti yang kita lakukan sebelumnya.
Tampilkan data dan lihat hasil yang kalian lakukan.
Klik gambar untuk memperbesar
Kita hanya memasukkan satu data, pada bagian selanjutnya akan kita masukkan data yang lain ^_^.

Tidak penting seberapa cepat kalian menyerah, yang terpenting adalah seberapa cepat kalian BANGKIT.

Memilih Dan Menampilkan Data Table SQL Sever (SELECT)

Gunakan perintah select untuk menampilkan data, kalian dapat menampilkan seluruh data dalam table dengan perintah berikut.
select * from TestDB.dbo.karyawan
Mudah kan ? Tapi perintah ini kurang spesifik, perintah diatas untuk menampilkan seluruh data dalam table, emang bisa jadi masalah ? Iya sangat bisa, karena semakin banyak data dalam table semakin lama juga hasilnya ditampilkan, memang data yang kita buat cuma 5 jadi prosesnya cepat, tetapi bagaimana jika datanya jutaan? atau bahkan ratusan juta T_T butuh waktu beberapa menit untuk mengeksekusinya, soalnya ane pernah buka data hampir sepuluh juta record.

Menampilkan Beberapa Data SQL Server (SELECT TOP)

Gunakan perintah berikut untuk menampilkan beberapa record saja, berikut contoh untuk menampilkan 2 data saja.
select top 2 * from TestDB.dbo.karyawan
Klik gambar untuk memperbesar
Sekarang kita coba menampilkan 3 data tetapi hanya kolom nama dan alamatnya saja, tuliskan sintaks berikut;
select top 3 Nama, Alamat
from TestDB.dbo.karyawan
Klik gambar untuk memperbesar
Mudah sekali kan, perintah-perintah diatas bisa dikombinasikan satu sama lain jadi kita bisa menggunakannya sesuai kebutuhan kita, mau menampilkan seluruh data, beberapa data, beberapa data dengan kolom tertentu, menampilkan beberapa data dan kolom tertentu dari dua table yang berbeda juga bisa tapi jangan terburu-buru kesitu dulu yaa hehe.

Silahkan tulis sintaks berikut sebelum melanjutkan kesuksesan kita \>,</.
insert into TestDB.dbo.karyawan values
('16092021', 'Tama Pradana', 'Jl. Waru Doyong No.42', '0857674888721', '2015-04-06'),
('16092022', 'Michael Chandra', 'Bumi Serpong Damai Blok Q11/05', '081267128769', '2015-01-22'),
('16092023', 'Tarjiman Keihin', 'Jl. Sabang Merauke No.16-17', '083867539974', '2016-06-15'),
('16092024', 'Markole Lebong', 'Green De Jalen Blok B2/No.8', '089865578423', '2016-11-21'),
('16092025', 'Ziggy Wrath', 'The Sea Lake Floor 11-2C', '085788642357', '2016-12-04')
go

update TestDB.dbo.karyawan
set tglbergabung = '2013-05-25'
where karyawan.NIK = 16092017;
go

update TestDB.dbo.karyawan
set tglbergabung = '2013-05-25'
where karyawan.NIK = 16092018;
go

update TestDB.dbo.karyawan
set tglbergabung = '2014-08-01'
where karyawan.NIK = 16092019;
go

update TestDB.dbo.karyawan
set tglbergabung = '2014-09-05'
where karyawan.NIK = 16092020;
go
Klik gambar untuk memperbesar
Kalian pasti berhasil jika melihat jendela messages berikut;
Klik gambar untuk memperbesar
Lihat data yang sudah kita masukkan.
Klik gambar untuk memperbesar

Setelah kita berhasil memasukkan data, mengupdate, dan memilih data untuk ditampilkan, lalu selanjutnya kita akan menggabungkan data antara dua table.


Membuat Table Baru Pada SQL Server (Create Table)


Sebelum memulai silahkan buat database baru bernama karyawanoutsource,  tulis sintaks dibawah ini ^_^.

create table karyawanoutsource (
NIK int,
Nama nchar (50),
Alamat nchar (200),
Handphone nchar (15),
tglbergabung date
);
go
Klik gambar untuk memperbesar
Eksekusi sintaks hingga muncul pesan "Command(s) completed successfully".


Klik gambar untuk memperbesar
Tapi kok database barunya gk ada T_T

Tenang, klik kanan pada folder tables > Refresh

Klik gambar untuk memperbesar
Jengjeeeettttt !!! Secara ajaib table yang tadi kita buat muncul XD.

Klik gambar untuk memperbesar
Lalu masukkan data berikut pada table karyawanoutsource, kali ini setelah memasukkan data langsung kita tampilkan yaa ^_^.
insert into TestDB.dbo.karyawanoutsource values
('17092010','Heru Kurniawan','Jl.Sakura V No.52','081276843003','2013-05-25'),
('17092011','Alissa Subagyo','Perum Kopri Blok FA.09','087856738233','2014-09-05'),
('17092012','Merry Omagh','Jl.Persada Raya Gg.Maluku No.31','083877562910','2014-08-16'),
('17092013','Cut May May','Jl.Tiga Roda No.68','085716758089','2014-08-01'),
('17092014','Kardiman','Jl.Nias No.67','081276845749','2015-01-22')
('17092015','Kirana Larasati','Jl. Mangga Muda No.50','087866579834','2015-04-02'),
('17092016','Nur Hikmah','Perumnas 3 Blok Maluku No.09','083896765809','2015-07-12'),
('17092017','Yayuk Turahmi','Jl.Unggul Permai No.11','081280963367','2015-09-02'),
('17092018','Iin Juariyah','Jl.Kesemek II No.07','0857098744869','2016-01-28'),
('17092019','Didit Doranet','Jl.Mangga No.21','087866578095','2016-02-02')
go

select * from TestDB.dbo.karyawanoutsource
go
Klik gambar untuk memperbesar


Menampilkan Data Antara Dua Table Pada SQL Sever (Alter Join Table)

Selanjutnya kita akan menampilkan data dari dua table berbeda, ada beberapa jenis join table pada SQL Server yaitu, Inner Join, Right Join, Left Join, dan Full Join.

Inner Join Table

Mungkin ini adalah perintah join yang sering digunakan karena inner join juga sering disebut dengan simple join, inner join akan menampilkan data jika memiliki nilai yang sama antara dua kolom table, jadi data yang ditampilkan tidak harus sama antara NIK, Nama, Alamat, dst, tetapi hanya cukup sama salah satu diantara kolom tersebut

Pada kali ini kita akan menampilkan karyawan dengan tglbergabung yang sama, tuliskan sintaks berikut.
select karyawan.NIK,
karyawan.Nama,
karyawan.Alamat,
karyawanoutsource.NIK,
karyawanoutsource.Nama,
karyawanoutsource.Alamat,
karyawanoutsource.tglbergabung
from karyawan
inner join karyawanoutsource
on karyawan.tglbergabung = karyawanoutsource.tglbergabung
Berikut adalah hasil dari sintaks diatas.
Klik gambar untuk memperbesar
Seperti yang kita lihat pada gambar diatas, table karyawan berada disebelah kiri, sedangkan table karyawanoutsource berada disebelah kanan kalian.

Right Join Table

Seperti namanya, right join adalah perintah untuk menggabungkan data yang benar "Right"
SOK TAU -_-"

Bukan gan, right join adalah perintah untuk menampilkan seluruh data yang sama pada table sebelah kanan yang dicocokan dengan table sebelah kiri, tetapi tetap menampilkan data yang tidak ada pasangan samanya pada table sebelah kanan, dalam contoh berikut adalah table karyawanoutsource.

Terus gimana nasib data table yang sebelah kiri dalam kasus ini adalah table karyawan ?

Table sebelah kiri menampilkan data yang tidak ada pasangannya dengan nilai null, silahkan ganti inner join menjadi right join;

select karyawan.NIK,
karyawan.Nama,
karyawan.Alamat,
karyawanoutsource.NIK,
karyawanoutsource.Nama,
karyawanoutsource.Alamat,
karyawanoutsource.tglbergabung
from karyawan
right join karyawanoutsource
on karyawan.tglbergabung = karyawanoutsource.tglbergabung
Klik gambar untuk memperbesar
Data karyawanoutsource(kanan) ditampilkan seluruhnya tetapi data karyawan(kiri) hanya ditampilkan dengan data yang mempunyai kesamaan pada data karyawanoutsource(kanan), seterusnya data ditampilkan dengan nilai null.

Left Join

Seperti namanya kita ketahui bahwa left join adalah sintaks untuk menampilkan data yang tertinggal "Left". BUKAN |O_o"|

Left join adalah lawan dari right join, jadi data yang sebelah kiri (karyawan) tetap ditampilkan semua, tetapi data sebelah kanan (karyawanoutsource) yang mempunyai nilai tidak sama akan bernilai null.

Silahkan ganti right join dengan left join;
select karyawan.NIK,
karyawan.Nama,
karyawan.Alamat,
karyawanoutsource.NIK,
karyawanoutsource.Nama,
karyawanoutsource.Alamat,
karyawanoutsource.tglbergabung
from karyawan
left join karyawanoutsource
on karyawan.tglbergabung = karyawanoutsource.tglbergabung
Klik gambar untuk memperbesar

Full Outer Join

Seperti yang kita ketahui dari namanya, sintaks ini berfungsi untuk menampilkan semua data dari kedua table baik yang memiliki kesamaan maupun yang tidak mempunyai kesamaan dan bernilai null. TUMBEN BENER ^_^.

Silahkan ganti perintah left join dengan full outer join.
select karyawan.NIK,
karyawan.Nama,
karyawan.Alamat,
karyawanoutsource.NIK,
karyawanoutsource.Nama,
karyawanoutsource.Alamat,
karyawanoutsource.tglbergabung
from karyawan
full outer join karyawanoutsource
on karyawan.tglbergabung = karyawanoutsource.tglbergabung

Klik gambar untuk memperbesar
Data yang ditampilkan akan bertambah banyak jika terdapat beberapa data yang tidak memiliki kesamaan sehingga disandingkan dengan data yeng bernilai null. Jadi kalau tidak ada data yang sama data diatas akan jadi tambah banyak ? Yaa tentu saja seperti itu hehe.

Kesimpulan

Kita telah membuat database, membuat table, memasukkan data kedalam table, menambah kolom baru pada table lalu mengupdate datanya juga, memilih dan menampilkan data, dan menggabungkan data antara dua table. 

Banyak yang sudah kita lakukan tetapi itu semua belum cukup dan ane juga tidak akan berhenti disini dan sedang mempersiapkan kejutan-kejutan lainnya karena untuk menjadi seorang Ahli SQL Server membutuhkan banyak latihan dan perjuangan yang keras.

Yang harus kalian ingat setelah meninggalkan halaman ini;
  1. Jika ingin membuat table lebih baik menggunakan perintah otomatis, jangan sekali-kali menggunakan kueri dan menulis sintaks sendiri jika kalian belum hafal betul jenis-jenis tipe data pada SQL Server.
  2. Selalu latih penggunaan sintaks kalian seperti menggunakan select * from NamaDatabase.dbo.table dalam menampilkan data dalam table.
  3. Dalam satu kueri sql dapat diberikan beberapa sintaks sekaligus, misal kalian ingin memasukkan data baru pada table, mengubah data dalam table, dan menghapus data pada table lalu menampilkannya. Semua itu bisa dilakukan dalam satu kueri dengan memisahkan pada setiap akhir sintaks dengan perintah go.
  4. Selalu simpan perintah kueri yang sedang atau telah kalian tulis, jangan sampai kalian sudah lelah menulis panjang lalu tidak sengaja tertutup atau terjadi kesalahan pada software. Kerja dua kali dehh -_-"
  5. Dalam dunia pekerjaan atau bisnis sangat disarankan untuk mencadangkan data dalam database secara berkala untuk menghindari hilangnya data akibat kesalahan manusia (human error), kesalahan perangkat keras atau perangkat lunak (hardware or software malfunction), dan bencana alam (disaster).
+SQL Server +SQLServerCentral +Sql Server Tutorial +Sql Server Tutorials 

10 comments:

  1. Artikel yang bermanfaat gan, kunjungi juga ya artikel ttg SQL Server Common Table Expression SQL

    http://www.stackshooter.com/sql-common-table-expression-cte-teknik-yang-powerfull-alternatif-pengganti-sub-query/

    ReplyDelete
  2. bagus bangat


    http://blog.binadarma.ac.id/ilmanzuhriyadi/

    ReplyDelete
  3. bagaimana cara membuat database SQL server portable, maksudnya biar tinggal copy paste langsung jalan, tanpa mengistall sesuatu disitu
    , mohon petunjuknya ..?

    ReplyDelete
  4. Gan, Klo ada minta tolong share cara backup/restore database di sql server.
    Trmksh bnyk sblmnya..

    ReplyDelete
  5. Jadi pelawak aja mas.. Wkwkwk

    ReplyDelete
  6. This comment has been removed by the author.

    ReplyDelete
  7. Bonus bez depozytu jest bardzo korzystny zarówno dla początkujących, jak i doświadczonych graczy. Użytkownicy szczególnie szukają kasyna, które ma możliwość gry bez depozytu. Faktem jest, że takie bonusy:

    ⦁ są uzyskiwane bardzo szybko i prosto (wystarczy przejść przez autoryzację na stronie z grami i potwierdzić swoje dane);
    ⦁ pozwalają nie ryzykować swoich pieniędzy (oczywiście żaden automat nie zawsze może być wygrany, więc możesz stracić depozyt, ale bonus pomoże ci sprawdzić, czy warto w ogóle rozpocząć grę na konkretnej slot machines free);
    ⦁ pokaż prawdziwą grę za pieniądze, abyś mógł ocenić swoje mocne strony i zrozumieć, jak działa ten lub inny slot online free!
    Ponadto bonus bez depozytu pomaga poznać wiele dodatkowych opcji maszyny, którą wybrałeś. A jeśli uzupełnisz swoje konto i zaczniesz grać z depozytem, ​​wygrane pieniądze wkrótce staną się twoje. Bonus bez depozytu zwiększa szansę na kilkukrotną wygraną.

    Więcej informacji o bonusach można znaleźć na https://ggbet-bonus.com/

    ReplyDelete

luvne.com ayeey.com cicicookies.com mbepp.com kumpulanrumusnya.comnya.com tipscantiknya.com