Di pasar saat ini, di mana sejumlah besar data dihasilkan setiap hari, sangat penting untuk memahami cara menangani data. SQL Server adalah lingkungan terintegrasi yang dikembangkan oleh Microsoft untuk menangani data.Dalam artikel tutorial SQL Server ini, Anda akan mempelajari semua operasi dan perintah yang Anda perlukan untuk menjelajahi database Anda.
Untuk pemahaman Anda yang lebih baik, saya telah membagi blog ke dalam kategori berikut:
Perintah | Deskripsi |
Kumpulan perintah ini digunakan untuk mendefinisikan database. | |
Perintah Bahasa Manipulasi Data (DML) | Perintah manipulasi digunakan untuk memanipulasi data yang ada dalam database. |
Kumpulan perintah ini menangani izin, hak, dan kontrol lain dari sistem database. | |
Perintah-perintah ini digunakan untuk menangani transaksi database. |
Selain perintah, topik berikut ini tercakup dalam artikel ini:
- Apa itu SQL Server?
- Instal SQL Server
- Hubungkan ke SQL Server menggunakan SSMS
- Akses Mesin Database
- Arsitektur SQL Server
- Komentar di SQL
- Tipe Data SQL Server
- Kunci dalam database
- Batasan dalam database
- Operator
- Fungsi Agregat
- Fungsi yang Ditentukan Pengguna
- Kueri Bertingkat
- Bergabung
- Loop
- Prosedur Tersimpan
- Penanganan Pengecualian
***CATATAN*** Dalam Tutorial SQL Server ini, saya akan menganggap database di bawah ini sebagaisebuah contoh, untuk menunjukkan kepada Anda bagaimana belajar dan menulisperintah.
Identitas Siswa | Nama siswa | Nama orang tua | Nomor telepon | Alamat | Kota | Negara |
satu | Aku benci | Akriti mehra | 9955339966 | Brigade Road Block 9 | Hyderabad | India |
2 | Manasa | Shourya Sharma | 9234568762 | Jalan Mayo 15 | Kolkata | India |
3 | Anay | Soumya Mishra | 9876914261 | Marathalli House No 101 | Bengaluru | India |
4 | Preeti | Rohan Sinha | 9765432234 | Queens Road 40 | Delhi | India |
5 | Shanaya | Abhinay agarwal | 9878969068 | Jalan Oberoi 21 | Mumbai | India |
Sebelum kita mulai memahami berbagai perintah yang digunakan di SQL Server, mari kita pahami apa itu SQL Server, arsitekturnya, dan cara menginstalnya.
Apa itu SQL Server?
Microsoft SQL Server adalah sebuah relasional sistem manajemen database . Ini mendukung Bahasa Kueri Terstruktur dan hadir dengan implementasi sendiri dari bahasa SQL yaitu Transact-SQL (T-SQL) . Ini memiliki lingkungan terintegrasi untuk menangani database SQL, yaitu .
Komponen utama SQL Server adalah sebagai berikut:
- Mesin Database: Komponen ini menangani penyimpanan, Pemrosesan Transaksi Cepat, dan Mengamankan Data.
- SQL Server - Layanan ini digunakan untuk memulai, menghentikan, menghentikan sementara dan melanjutkan contoh MS SQL Server.
- Agen Server SQL - Layanan Agen Server memainkan peran penjadwal tugas dan dipicu oleh peristiwa apa pun atau sesuai kebutuhan.
- Browser SQL Server - Layanan ini digunakan untuk menghubungkan permintaan masuk ke instance SQL Server yang diinginkan.
- Pencarian Teks Lengkap SQL Server - Digunakan untuk membiarkan pengguna menjalankan kueri teks lengkap terhadap data karakter dalam tabel SQL.
- Penulis SQL Server VSS - Memungkinkan pencadangan dan pemulihan file data saat SQL Server tidak berjalan.
- Layanan Analisis SQL Server (SSAS) - Layanan ini digunakan untuk menyediakan analisis data, data mining dan kemampuan. SQL Server juga terintegrasi dengan dan R untuk analisis data tingkat lanjut.
- Layanan Pelaporan SQL Server (SSRS) - Seperti namanya, layanan ini digunakan untuk menyediakan fitur dan kemampuan pengambilan keputusan termasuk integrasi dengan .
- Layanan integrasi SQL Server (SSIS) - Layanan ini digunakan untuk melakukan operasi ETL untuk berbagai jenis data dari berbagai sumber data.
Sekarang, setelah Anda mengetahui apa itu MS SQL Server, mari kita lanjutkan ke artikel tentang tutorial SQL Server ini dan memahami cara menginstal dan mengatur SQL Server.
Instal SQL Server
Ikuti langkah-langkah di bawah ini untuk menginstal SQL Server:
Langkah 1: Buka halaman resmi Unduhan Microsoft SQL Server , di mana Anda akan menemukan opsi untuk menginstal SQL Server baik di lokal maupun di cloud.
Langkah 2: Sekarang, gulir ke bawah dan Anda akan melihat dua opsi: Edisi Pengembang & Perusahaan . Di sini, saya akan mengunduh file Edisi pengembang . Untuk mengunduh, Anda hanya perlu mengklik Unduh sekarang pilihan. Lihat di bawah.
Langkah 3: Setelah aplikasi diunduh, klik dua kali pada file tersebut dan Anda akan melihat jendela berikut.
Langkah 4: Sekarang, Anda dapat memilih salah satu dari 3 opsi untuk menyiapkan SQL Server. Di sini, saya hanya akan memilih Opsi dasar . Saat memilih opsi tipe instalasi, layar berikutnya adalah menerima perjanjian lisensi. Untuk melakukan itu, klik Menerima di jendela berikut.
Langkah 5: Selanjutnya, Anda harus menentukan lokasi penginstalan SQL Server. Kemudian, Anda harus mengklik Instal.
Setelah Anda mengklik Install , Anda akan melihat bahwa paket yang dibutuhkan sedang diunduh. Sekarang, setelah penginstalan selesai, Anda akan melihat layar berikut:
Di sini, Anda dapat melanjutkan dan mengklik Hubungkan Sekarang, atau Anda dapat menyesuaikan penginstalan. Untuk pemahaman Anda yang lebih baik, saya akan maju dan memilih Sesuaikan.
Langkah 6: Setelah Anda mengklik Sesuaikan di jendela di atas, Anda akan melihat wizard berikut terbuka. di jendela berikut, klik Lanjut.
Langkah 7: Setelah aturan terinstal secara otomatis, klik Lanjut . Lihat di bawah.
Langkah 8: Selanjutnya, Anda harus memilih jenis instalasi. Jadi, pilih file Lakukan a penginstalan baru SQL Server 2017 opsi dan kemudian klik Lanjut.
Langkah 9: Di wizard yang terbuka, pilih edisi: Pengembang. Kemudian, klik Lanjut . Lihat di bawah.
Langkah 10: Sekarang, baca dan terima perjanjian lisensi dengan check-in di tombol radio dan kemudian klik Lanjut . Lihat di bawah.
Langkah 11: Pada wizard di bawah ini Anda dapat memilih fitur-fitur yang ingin Anda instal. Selain itu, Anda dapat memilih direktori root instance dan kemudian mengklik Lanjut . Di sini, saya akan memilih Layanan Mesin Database .
Langkah 12: Selanjutnya Anda harus memberi nama instance, dan secara otomatis ID instance akan dibuat. Di sini, saya akan menamai instance “edureka”. Kemudian, klik Lanjut.
Langkah 13: Di wizard Konfigurasi Server, klik Lanjut .
Langkah 14: Sekarang, Anda harus mengaktifkan mode otentikasi. Di sini, Anda akan melihat Mode otentikasi Windows dan Mode Campuran . Saya akan memilih Mode Campuran. Kemudian, sebutkan kata sandi dan kemudian saya akan menambahkan pengguna saat ini sebagai Admin dengan memilih Tambahkan Pengguna Saat Ini pilihan.
Langkah 15: Kemudian, pilih jalur file konfigurasi dan klik Install .
Setelah penginstalan selesai, Anda akan melihat layar berikut:
Hubungkan ke SQL Server menggunakan SSMS
Setelah SQL Server diinstal, langkah Anda selanjutnya adalah menyambungkan SQL Server ke SQL Server Management Studio. Untuk melakukan itu ikuti langkah-langkah di bawah ini:
Langkah 1: Kembali, ke jendela berikut, dan klik instal SSMS pilihan.
Langkah 2: Setelah Anda mengklik opsi itu, Anda akan diarahkan ke halaman berikut , di mana Anda harus memilih Unduh SSMS.
Langkah 3: Setelah pengaturan diunduh, klik dua kali pada aplikasi dan Anda akan melihat wizard berikut terbuka.
Langkah 4: Klik Instal opsi , di jendela di atas dan Anda akan melihat bahwa penginstalan akan dimulai.
Langkah 5: Setelah penginstalan selesai Anda akan mendapatkan kotak dialog seperti gambar di bawah ini.
Setelah Anda menginstal SSMS, langkah selanjutnya adalah mengakses file Mesin Database .
Mengakses Mesin Database
Saat Anda membuka file Studio manajemen server SQL dari menu mulai , sebuah jendela akan terbuka seperti jendela yang ditunjukkan pada gambar di bawah.
Di sini, sebutkan Nama Server, Mode Otentikasi dan klik Menghubung.
Setelah Anda mengklik Menghubung , Anda akan melihat layar berikut.
Begitulah cara Anda menginstal dan mengatur SQL Server. Sekarang, bergerak maju dalam tutorial SQL Server ini, mari kita memahami berbagai komponen arsitektur SQL Server.
Arsitektur SQL Server
Arsitektur SQL Server adalah sebagai berikut:
- Server & minus Di sinilah layanan SQL diinstal dan database berada
- Mesin Relasional & minus Berisi query parser, optimizer, dan eksekutor dan eksekusi terjadi di mesin relasional.
- Parser Perintah & minus Memeriksa sintaks kueri dan mengubah kueri ke bahasa mesin.
- Pengoptimal & minus Mempersiapkan rencana eksekusi sebagai keluaran dengan mengambil statistik, kueri dan pohon Algebrator sebagai masukan.
- Pelaksana Kueri & minus Ini adalah tempat di mana kueri dijalankan langkah demi langkah
- Mesin Penyimpanan & minus Ini bertanggung jawab untuk penyimpanan dan pengambilan data pada sistem penyimpanan, manipulasi data, pengelolaan dan penguncian transaksi.
Sekarang, setelah Anda mengetahui cara menyiapkan dan menginstal SQL Server dan berbagai komponennya, mari kita mulai dengan menulis Server. Tapi, sebelumnya izinkan saya membahas cara menulis komentar di SQL Server.
Komentar di SQL Server
Ada dua cara untuk berkomentar dalam SQL, yaitu menggunakan s komentar ingle-line atau m komentar ulti-line .
Komentar Baris Tunggal
Komentar satu baris dimulai dengan dua tanda hubung (-). Oleh karena itu, teks yang disebutkan setelah (-), hingga akhir baris tunggal akan diabaikan oleh kompilator.
Contoh:
--Contoh komentar baris tunggal
Komentar Multi-Baris
Komentar beberapa baris dimulai dengan / * dan diakhiri dengan * / . Makanya, teks disebutkan di antara / * dan * / akan diabaikan oleh kompilator.
Contoh:
/ * Contoh untuk komentar banyak baris * /
Sekarang di artikel tutorial SQL Server ini, mari kita mulai dengan kumpulan perintah pertama yaitu perintah Bahasa Definisi Data.
Perintah Bahasa Definisi Data
Bagian artikel ini akan memberi Anda gambaran tentang perintah dengan bantuan yang Anda dapat menentukan database Anda. Perintahnya adalah sebagai berikut:
MEMBUAT
Pernyataan ini digunakan untuk membuat tabel, database atau tampilan.
Pernyataan ‘BUAT DATABASE’
Pernyataan ini digunakan untuk membuat database.
Sintaksis
BUAT DATABASE DatabaseName
Contoh
BUAT DATABASE Siswa
' BUAT TABEL 'Pernyataan
Seperti namanya, statement ini digunakan untuk membuat tabel.
Sintaksis
BUAT TABEL Nama Tabel (Jenis data Kolom1, Jenis data Kolom2, Jenis data Kolom3, .... Jenis data KolomN)
Contoh
BUAT TABEL StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))
PENURUNAN
Pernyataan ini digunakan untuk menghapus tabel, database, atau tampilan yang ada.
Pernyataan ‘DROP DATABASE’
Pernyataan ini digunakan untuk menghapus database yang ada. Informasi lengkap yang ada dalam database akan hilang segera setelah Anda menjalankan perintah di bawah ini.
Sintaksis
DROP DATABASE DatabaseName
Contoh
DROP DATABASE Siswa
Pernyataan 'DROP TABLE'
Pernyataan ini digunakan untuk menjatuhkan tabel yang sudah ada. Informasi lengkap yang ada di tabel akan hilang segera setelah Anda menjalankan perintah di bawah ini.
Sintaksis
DROP TABLE TableName
Contoh
DROP TABLE StudentInfo
USIA
Perintah ALTER digunakan untuk menambah, menghapus atau mengubah kolom atau batasan dalam tabel yang sudah ada.
' ALTER TABLE 'Pernyataan
Pernyataan ini digunakan untuk menambah, menghapus, mengubah kolom dalam tabel yang sudah ada sebelumnya.
Pernyataan 'ALTER TABLE' dengan ADD / DROP COLUMN
Pernyataan ALTER TABLE digunakan dengan perintah ADD / DROP Column untuk menambah dan menghapus kolom.
Sintaksis
ALTER TABLE TableName ADD ColumnName Datatype ALTER TABLE TableName DROP COLUMN ColumnName
Contoh
--TAMBAHKAN Kolom BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Kolom BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
Pernyataan 'ALTER TABLE' dengan ALTER COLUMN
Pernyataan ALTER TABLE dapat digunakan dengan kolom ALTER untuk mengubah tipe data dari kolom yang ada dalam tabel.
Sintaksis
ALTER TABLE TableName ALTER COLUMN ColumnName Datatype
Contoh
--Tambahkan DOB kolom dan ubah tipe data dari tanggal ke waktu. ALTER TABLE StudentInfo TAMBAH DOB date ALTER TABLE StudentInfo ALTER COLUMN DOB datetime
MEMOTONG
Perintah SQL ini digunakan untuk menghapus informasi yang ada di tabel tetapi tidak menghapus tabel itu sendiri. Jadi, jika Anda ingin menghapus informasi yang ada di tabel, dan tidak menghapus tabel itu sendiri, Anda harus menggunakan perintah TRUNCATE. Lain, gunakan perintah DROP.
Sintaksis
Pangkas Nama Tabel Tabel
Contoh
TRUNCATE TABLE StudentInfo
GANTI NAMA
Pernyataan ini digunakan untuk mengganti nama satu atau lebih tabel.
Sintaksis
sp_rename 'OldTableName', 'NewTableName'
Contoh
sp_rename 'StudentInfo', 'Infostudents'
Lanjut ke artikel tutorial SQL Server ini, mari kita pahami berbagai tipe data yang didukung oleh SQL Server.
Tipe Data SQL Server
Kategori Jenis Data | Nama Tipe Data | Deskripsi | Rentang / Sintaks |
Angka yang tepat | numerik | Digunakan untuk menyimpan nilai numerik dan memiliki presisi tetap dan nomor skala | - 10 ^ 38 +1 hingga 10 ^ 38 - 1. |
tinyint | Digunakan untuk menyimpan nilai integer | 0 sampai 255 | |
smallint | Digunakan untuk menyimpan nilai integer | -2 ^ 15 (-32,768) hingga 2 ^ 15-1 (32,767) | |
bigint | Digunakan untuk menyimpan nilai integer | -2 ^ 63 (-9,223,372,036,854,775,808) menjadi 2 ^ 63-1 (9,223,372,036,854,775,807) | |
int | Digunakan untuk menyimpan nilai integer | -2 ^ 31 (-2,147,483,648) menjadi 2 ^ 31-1 (2,147,483,647) | |
sedikit | Menyimpan tipe data integer yang menceritakan nilai 0, 1 atau NULL | 0, 1, atau NULL | |
desimal | Digunakan untuk menyimpan nilai numerik dan memiliki presisi tetap dan nomor skala | - 10 ^ 38 +1 hingga 10 ^ 38 - 1. | |
uang kecil | Digunakan untuk menyimpan uangatau nilai mata uang. | - 214.748.3648 hingga 214.748.3647 | |
uang | Digunakan untuk menyimpan uangatau nilai mata uang. | -922,337,203,685,477.5808 hingga 922,337,203,685,477.5807 (-922,337,203,685,477.58 ke 922.337.203.685.477,58 untuk Informatica. | |
Perkiraan numerik | mengapung | Digunakan untuk menyimpan data numerik floating-point | - 1.79E + 308 hingga -2.23E-308, 0 dan 2.23E-308 hingga 1.79E + 308 |
nyata | Digunakan untuk menyimpan data numerik floating-point | - 3.40E + 38 hingga -1.18E - 38, 0 dan 1.18E - 38 hingga 3.40E + 38 | |
Tanggal dan waktu | tanggal | Digunakan untuk menentukan tanggal di SQL Server. | Sintaks: tanggal |
smalldatetime | Digunakan untuk menentukan tanggal yang digabungkan dengan waktu yang waktunya didasarkan pada 24 jam sehari, dengan detik selalu nol (: 00) dan tanpa pecahan detik. | Sintaks: smalldatetime | |
tanggal Waktu | Digunakan untuk menentukan tanggal yang digabungkan dengan waktu dalam sehari dengan pecahan detik berdasarkan format 24 jam. | Sintaks: datetime | |
datetime2 | datetime2 adalah sebagai perpanjangan dari yang sudah ada tanggal Waktu jenis yang memiliki presisi pecahan default lebih besar, rentang tanggal lebih besar. | Sintaks: datetime2 | |
datetimeoffset | Digunakan untuk menentukan tanggal yang digabungkan dengan waktu dalam sehari yang memiliki kesadaran zona waktu. Ini didasarkan pada waktu 24 jam. | Sintaks: datetimeoffset | |
waktu | Digunakan untuk menentukan waktu dalam sehari. | Sintaks: waktu | |
String karakter | arang | Digunakan untuk menyimpan karakter berukuran tetap. | arang[( n )] di mana nilai n bervariasi dari 1 - 8.000 |
varchar.dll | Digunakan untuk menyimpan karakter dengan panjang variabel. | varchar [( n | maks)] di mana nilai n bervariasi dari 1-8000 dan penyimpanan maksimum yang diperbolehkan adalah 2GB. | |
teks | Digunakan untuk menyimpan vdata non-Unicode panjang-ariable | Panjang string maksimum yang diperbolehkan - 2 ^ 31-1 (2.147.483.647) | |
String karakter unicode | nchar | Digunakan untuk menyimpan karakter berukuran tetap. | nchar[(n)] di mana nilai n bervariasi dari 1-4000 |
nvarchar.dll | Digunakan untuk menyimpan karakter dengan panjang variabel. | varchar [( n | maks)] di mana nilai n bervariasi dari 1-4000 dan penyimpanan maksimum yang diizinkan adalah 2GB. | |
ntext | Digunakan untuk menyimpan data Unicode dengan panjang variabel | Panjang string maksimum yang diperbolehkan - 2 ^ 30-1 (2.147.483.647) | |
String biner | biner | Digunakan untuk menyimpan tipe data biner dengan panjang tetap | biner[( n )] di mana nilai n bervariasi dari 1 - 8.000 |
varbinary | Digunakan untuk menyimpan tipe data biner dengan panjang tetap | varbinary[( n )] di mana n vale bervariasi dari 1-8000 dan penyimpanan maksimum yang diizinkan adalah 2 ^ 31-1 byte. | |
gambar | Digunakan untuk menyimpan data biner dengan panjang variabel | 0 - 2 ^ 31-1 (2.147.483.647) byte | |
Tipe data lainnya | Ini adalah tipe data untuk prosedur tersimpan atau variabel OUTPUT parameter yang berisi referensi ke kursor. | - | |
rowversion | Digunakan untuk mengekspos bilangan biner unik yang dibuat secara otomatis dalam database. | - | |
hierarchyid | Digunakan untuk mewakili posisi dalam hierarki. | - | |
pengenal unik | Adalah GUID 16-byte. | Sintaksis:pengenal unik | |
sql_variant | Digunakan untuk menyimpan nilai dari berbagai tipe data yang didukung SQL Server | Sintaks: sql_variant | |
xml | Digunakan untuk menyimpan tipe data XML. | xml ([KONTEN | DOKUMEN] xml_schemacollection) | |
Jenis Geometri Spasial | Digunakan untuk merepresentasikan data dalam sistem koordinat Euclidean (datar). | - | |
Jenis Geografi Spasial | Digunakan untuk menyimpan data ellipsoidal (bumi bulat), seperti koordinat lintang dan bujur GPS. | - | |
meja | Digunakan untuk menyimpan kumpulan hasil untuk diproses di lain waktu | - |
Selanjutnya, pada artikel ini mari kita pahami berbagai jenis kunci dan batasan dalam database.
Berbagai Jenis Kunci Dalam Database
Berikut ini adalah berbagai jenis kunci yang digunakan dalam database:
- Kunci Kandidat - Kunci Kandidat adalah sekumpulan atribut yang dapat mengidentifikasi tabel secara unik. Sebuah tabel dapat memiliki lebih dari satu kunci kandidat, dan dari kunci kandidat yang dipilih, satu kunci dipilih sebagai Kunci Utama.
- Super Key - Himpunan atribut dapat secara unik mengidentifikasi tupel. Jadi, kunci kandidat, kunci unik, dan kunci utama adalah kunci super, tetapi sebaliknya tidak benar.
- Kunci utama - Kunci utama digunakan untuk mengidentifikasi setiap tupel secara unik.
- Kunci Alternatif - Kunci Alternatif adalah kunci kandidat yang tidak dipilih sebagai kunci Primer.
- Kunci Unik- Kunci unik mirip dengan kunci utama, tetapi mengizinkan satu nilai NULL di kolom.
- Kunci asing - Atribut yang hanya dapat mengambil nilai yang ada sebagai nilai dari beberapa atribut lainnya, adalah kunci asing ke atribut yang dirujuknya.
- Kunci Komposit- Kunci komposit adalah kombinasi dari dua atau lebih kolom yang mengidentifikasi setiap tupel secara unik.
Batasan yang Digunakan Dalam Database
Batasan digunakan dalam database untuk menentukan aturan untuk data yang disimpan dalam tabel. Berbagai jenis kendala dalam SQL adalah sebagai berikut:
NOT NULL
Batasan NOT NULL memastikan bahwa kolom tidak dapat memiliki nilai NULL.
Contoh
BUAT TABEL StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000)) --NOT NULL pada ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL
UNIK
Batasan ini memastikan bahwa semua nilai dalam kolom adalah unik.
Contoh
--UNIQUE pada Buat Tabel CREATE TABLE StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) --UNIQUE pada Beberapa Kolom BUAT TABEL StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE di ALTER TABLE ALTER TABLE StudentsInfo ADD UNIQUE (StudentID) --Untuk menghilangkan kendala UNIQUE ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info
MEMERIKSA
Batasan PERIKSA memastikan bahwa semua nilai dalam kolom memenuhi kondisi tertentu.
Contoh
--CHECK Batasan pada CREATE TABLE CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000) CHECK (Country = 'India')) --CHECK Constraint pada beberapa kolom CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CHECK (Country = 'India' AND City = 'Hyderabad')) --CHECK Constraint on ALTER TABLE ALTER TABLE StudentsInfo ADD CHECK (Country = 'India') --Untuk memberikan nama untuk PERIKSA Kendala ALTER TABLE StudentsInfo TAMBAHKAN CONSTRAINT CheckConstraintName CHECK (Negara = 'India') --Untuk menghapus CHECK Batasan ALTER TABLE StudentsInfo DROP CONSTRAINT CheckConstraintName
DEFAULT
Batasan DEFAULT terdiri dari sekumpulan nilai default untuk kolom saat tidak ada nilai yang ditentukan.
Contoh
- Batasan DEFAULT pada CREATE TABLE BUAT TABEL StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) DEFAULT 'India') --DEFAULT Constraint on ALTER TABLE ALTER TABLE StudentsInfo TAMBAHKAN KONSTRAIN defau_Country DEFAULT 'India' FOR Country --Untuk menghapus Batasan Default ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
INDEKS
Itu Batasan INDEX digunakan untuk membuat indeks dalam tabel, di mana Anda dapat membuat dan mengambil data dari database dengan sangat cepat.
Sintaksis
--Membuat Indeks di mana nilai duplikat diperbolehkan BUAT INDEKS IndexName ON TableName (Column1, Column2, ... ColumnN) --Buat Indeks di mana nilai duplikat tidak diperbolehkan BUAT INDEKS UNIK IndexName ON TableName (Column1, Column2, ... KolomN)
Contoh
BUAT INDEKS idex_StudentName ON StudentsInfo (StudentName) --Untuk menghapus indeks dalam tabel DROP INDEX StudentsInfo.idex_StudentName
Melanjutkan artikel ini tentang tutorial SQL Server, mari kita sekarang memahami berbagai perintah Bahasa Manipulasi Data yang digunakan di Microsoft SQL Server.
Perintah Bahasa Manipulasi Data
Bagian artikel ini akan membahas semua perintah yang dapat digunakan untuk memanipulasi database. Perintahnya adalah sebagai berikut:
- MENGGUNAKAN
- MASUKKAN KE DALAM
- MEMPERBARUI
- MENGHAPUS
- PERGILAH
- PILIH
- KUBUS
- ROLLUP
- MENGIMBANGI
- MENGAMBIL
- PUNCAK
- POROS
Selain perintah-perintah ini, terdapat juga operator / fungsi manipulatif lainnya seperti:
MENGGUNAKAN
Pernyataan ini digunakan untuk memilih database untuk mulai melakukan berbagai operasi padanya.
Sintaksis
GUNAKAN DatabaseName
Contoh
GUNAKAN Siswa
MASUKKAN KE DALAM
Itu INSERT INTO pernyataan digunakan untuk memasukkan record baru ke dalam tabel yang sudah ada.
Sintaksis
INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) VALUES (value1, value2, value3, ...) --Jika Anda tidak ingin menyebutkan nama kolom maka gunakan sintaks di bawah ini INSERT INTO TableName VALUES (Nilai1, Nilai2, Nilai3, ...)
Contoh
INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) VALUES ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') INSERT INTO StudentsInfo VALUES (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')
MEMPERBARUI
Pernyataan UPDATE digunakan untuk mengubah atau memperbarui catatan yang sudah ada di tabel.
Sintaksis
UPDATE TableName SET Kolom1 = Nilai1, Kolom2 = Nilai2, ... DI MANA Kondisi
Contoh
UPDATE StudentsInfo SET StudentName = 'Aahana', Kota = 'Ahmedabad' WHERE StudentID = 1
MENGHAPUS
Pernyataan DELETE digunakan untuk menghapus rekaman yang ada dalam tabel.
Sintaksis
HAPUS DARI Nama Tabel WHERE Kondisi
Contoh
HAPUS DARI StudentsInfo WHERE StudentName = 'Aahana'
PERGILAH
Pernyataan MERGE digunakan untuk melakukan operasi INSERT, UPDATE dan DELETE pada tabel tertentu, di mana tabel sumber disediakan. Lihat di bawah.
Sintaksis
GABUNGKAN TagretTableName MENGGUNAKAN SourceTableName PADA MergeCondition KETIKA SESUAI LALU Update_Statement KETIKA TIDAK SESUAI MAKA Sisipkan_Statement KETIKA TIDAK SESUAI DENGAN SUMBER LALU HAPUS
Contoh
Untuk memahami pernyataan MERGE, pertimbangkan tabel berikut sebagai tabel Sumber dan tabel Target.
Tabel Sumber:
Identitas Siswa | Nama siswa | Tanda |
satu | Aku benci | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Tabel Target:
Identitas Siswa | Nama siswa | Tanda |
satu | Aku benci | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
GABUNGKAN TARGET SampleTargetTable MENGGUNAKAN SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) KETIKA SESUAI DAN TARGET.StudentName SOURCE.StudentName ATAU TARGET.Marks SOURCE.Marks MAKA UPDATE SET TARGET.Marks = SOURCE.StudentName = SOURCE.StudentName = SOURCE.StudentName KETIKA TIDAK SESUAI DENGAN TARGET LALU MASUKKAN NILAI (StudentID, StudentName, Marks) NILAI (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) KETIKA TIDAK SESUAI DENGAN SUMBER LALU HAPUS
Keluaran
Identitas Siswa | Nama siswa | Tanda |
satu | Aku benci | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
PILIH
Itu Pernyataan SELECT digunakan untuk memilih data dari database, tabel atau tampilan. Data yang dikembalikan disimpan dalam tabel hasil, yang disebut hasil-set .
Sintaksis
SELECT Column1, Column2, ... ColumN FROM TableName - (*) digunakan untuk memilih semua dari tabel SELECT * FROM table_name - Untuk memilih jumlah record yang akan dikembalikan gunakan: SELECT TOP 3 * FROM TableName
Contoh
- Untuk memilih beberapa kolom SELECT StudentID, StudentName FROM StudentsInfo - (*) digunakan untuk memilih semua dari tabel SELECT * FROM StudentsInfo - Untuk memilih jumlah record yang akan dikembalikan gunakan: SELECT TOP 3 * FROM StudentsInfo
Kami juga dapat menggunakan kata kunci berikut dengan pernyataan SELECT:
BERBEDA
Kata kunci DISTINCT digunakan dengan pernyataan SELECT untuk mengembalikan hanya nilai yang berbeda.
Sintaksis
PILIH DISTINCT Kolom1, Kolom2, ... KolomN DARI NamaTabel
Contoh
PILIH BEDAKAN Nomor Telepon DARI Informasi Siswa
DIPESAN OLEH
Pernyataan ini digunakan untuk mengurutkan hasil yang diperlukan baik dalam urutan naik atau turun. Secara default, hasil disimpan dalam urutan menaik. Namun, jika Anda ingin mendapatkan hasil dalam urutan menurun, Anda harus menggunakan DESC kata kunci.
cara menginstal php di windows
Sintaksis
PILIH Column1, Column2, ... ColumnN FROM TableName ORDER BY Column1, Column2, ... ASC | DESC
Contoh
- Pilih semua siswa dari tabel 'StudentsInfo' yang diurutkan berdasarkan ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Pilih semua siswa dari tabel 'StudentsInfo' yang diurutkan berdasarkan ParentName dalam urutan Descending: SELECT * FROM StudentsInfo ORDER BY DESC ParentName - Pilih semua siswa dari tabel 'StudentsInfo' yang diurutkan berdasarkan ParentName dan StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Pilih semua siswa dari tabel 'StudentsInfo' yang diurutkan berdasarkan ParentName dalam urutan menurun dan StudentName dalam urutan Ascending: * / SELECT * DARI StudentsInfo ORDER OLEH ParentName ASC, StudentName DESC
GRUP OLEH
Pernyataan ini digunakan dengan fungsi agregat untuk mengelompokkan hasil-set dengan satu atau lebih kolom.
Sintaksis
PILIH Column1, Column2, ..., ColumnN FROM TableName WHERE Kondisi GROUP BY ColumnName (s) ORDER BY ColumnName (s)
Contoh
- Untuk membuat daftar jumlah siswa dari masing-masing kota. PILIH JUMLAH (ID Pelajar), Kota DARI KELOMPOK Info Pelajar MENURUT Kota
SET PENGELOMPOKAN
GROUPING SETS diperkenalkan di SQL Server 2008, digunakan untuk menghasilkan kumpulan hasil yang dapat dihasilkan oleh a UNI SEMUA dari beberapa klausa GROUP BY sederhana.
Sintaksis
PILIH ColumnNames (s) FROM TableName GROUP BY GROUPING SETS (ColumnName (s))
Contoh
PILIH StudentID, StudentName, COUNT (City) dari StudentsInfo Group DENGAN MENGELOMPOKKAN SETS ((StudentID, StudentName, City), (StudentID), (StudentName), (City))
HAVING
Klausa ini digunakan dalam skenario di mana WHERE kata kunci tidak dapat digunakan.
Sintaksis
PILIH ColumnName (s) FROM TableName WHERE Kondisi GROUP BY ColumnName (s) HAVING Condition ORDER BY ColumnName (s)
Contoh
SELECT COUNT (StudentID), City FROM StudentsInfo GROUP BY City HAVING COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC
KE
Kata kunci INTO dapat digunakan dengan Pernyataan SELECT untuk menyalin data dari satu tabel ke tabel lainnya. Nah, Anda dapat memahami tabel ini sebagai tabel sementara. Tabel sementara umumnya digunakan untuk melakukan manipulasi pada data yang ada di tabel, tanpa mengganggu tabel aslinya.
Sintaksis
PILIH * KE NewTable [IN ExternalDB] DARI Kondisi OldTable WHERE
Contoh
- Untuk membuat backup tabel 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo --Untuk memilih hanya beberapa kolom dari StudentsInfo PILIH StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'
KUBUS
CUBE merupakan perpanjangan dari GROUP BY klausa . Ini memungkinkan Anda untuk menghasilkan sub-total untuk semua kombinasi dari kolom pengelompokan yang ditentukan dalam klausa GROUP BY.
Sintaksis
PILIH ColumnName (s) FROM TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)
Contoh
PILIH StudentID, COUNT (City) FROM StudentsInfo GROUP BY CUBE (StudentID) ORDER BY StudentID
ROLLUP
ROLLUP adalah perpanjangan dari klausa GROUP BY. Ini memungkinkan Anda untuk memasukkan baris ekstra yang mewakili subtotal. Ini disebut sebagai baris teragregasi super bersama dengan baris total keseluruhan.
Sintaksis
PILIH ColumnName (s) FROM TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)
Contoh
PILIH StudentID, COUNT (City) FROM StudentsInfo GROUP BY ROLLUP (StudentID)
MENGIMBANGI
Klausa OFFSET digunakan dengan SELECT dan ORDER BY pernyataan untuk mengambil berbagai record. Ini harus digunakan dengan klausa ORDER BY karena tidak dapat digunakan sendiri. Juga, rentang yang Anda sebutkan harus sama dengan atau lebih besar dari 0. Jika Anda menyebutkan nilai negatif, maka itu menunjukkan kesalahan.
Sintaksis
PILIH ColumnNames) FROM TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip ROWS
Contoh
Pertimbangkan kolom baru Tanda dalam Informasi Mahasiswa meja.
PILIH StudentName, ParentName DARI StudentsInfo ORDER BERDASARKAN Marks OFFSET 1 ROWS
MENGAMBIL
Klausa FETCH digunakan untuk mengembalikan satu set sejumlah baris. Ini harus digunakan bersama dengan klausa OFFSET.
Sintaksis
SELECT ColumnNames) FROM TableName WHERE Condition ORDER BY ColumnName (s) OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS ONLY
Contoh
PILIH StudentName, ParentName DARI StudentsInfo ORDER BERDASARKAN Marks OFFSET 1 ROWS FETCH NEXT 1 ROWS SAJA
PUNCAK
Klausa TOP digunakan dengan pernyataan SELECT untuk menyebutkan jumlah record yang dikembalikan.
Sintaksis
PILIH TOP Number ColumnName (s) FROM TableName WHERE Condition
Contoh
PILIH TOP 3 * DARI StudentsInfo
POROS
PIVOT digunakan untuk memutar baris ke nilai kolom dan menjalankan agregasi bila diperlukan pada nilai kolom yang tersisa.
Sintaksis
PILIH Nama Kolom Tidak Berputar, [Nama Kolom Berputar Pertama] sebagai Nama Kolom, [Nama Kolom Berputar Kedua] sebagai Nama Kolom, [Nama Kolom Berputar Ketiga] sebagai Nama Kolom, ... [Nama Kolom Berputar Terakhir] sebagai Nama Kolom FROM (kueri SELECT yang menghasilkan data) AS [alias untuk kueri awal] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName dari kolom yang nilainya akan menjadi tajuk kolom] IN ([First Pivoted ColumnName], [Second Pivoted ColumnName], [Third Pivoted ColumnName] ... [last kolom berputar])) AS [alias untuk Tabel Pivot]
Contoh
Untuk mendapatkan contoh detailnya, Anda bisa merujuk ke artikel saya tentang SQL PIVOT dan UNPIVOT . Selanjutnya dalam Tutorial SQL Server ini, mari kita lihat operator berbeda yang didukung oleh Microsoft SQL Server.
Operator
Itu berbagai jenis operator yang didukung oleh SQL Server adalah sebagai berikut:
- Operator Aritmatika
- Operator Penugasan
- Operator Bitwise
- Operator Perbandingan
- Operator Senyawa
- Operator Logis
- Operator Resolusi Lingkup
- Atur Operator
- Operator Penggabungan String
Mari kita bahas satu per satu.
Operator Aritmatika
Operator | Berarti | Sintaksis |
+ | Tambahan | ekspresi + ekspresi |
- | Pengurangan | ekspresi - ekspresi |
* | Perkalian | ekspresi * ekspresi |
/ | Divisi | ekspresi / ekspresi |
% | Modulous | ekspresi% ekspresi |
Operator Penugasan
Operator | Berarti | Sintaksis |
= | Tetapkan nilai ke variabel | variabel = 'nilai' |
Operator Bitwise
Operator | Berarti | Sintaksis |
& (Bitwise AND) | Digunakan untuk melakukan operasi AND logika bitwise antara dua nilai integer. | ekspresi & ekspresi |
& = (Bitwise AND Assignment) | Digunakan untuk melakukan operasi AND logika bitwise antara dua nilai integer. Ini juga menetapkan nilai ke keluaran operasi. | ekspresi & = ekspresi |
| (Bitwise ATAU) | Digunakan untuk melakukan operasi OR logika bitwise antara dua nilai integer yang diterjemahkan ke ekspresi biner dalam pernyataan Transact-SQL. | ekspresi | ekspresi |
| = (Bitwise OR Assignment) | Digunakan untuk melakukan operasi OR logika bitwise antara dua nilai integer yang diterjemahkan ke ekspresi biner dalam pernyataan Transact-SQL. Ini juga menetapkan nilai ke keluaran operasi. | ekspresi | = ekspresi |
^ (Eksklusif Bitwise ATAU) | Digunakan untuk melakukan operasi OR eksklusif bitwise antara dua nilai integer. | ekspresi ^ ekspresi |
^ = (Eksklusif Bitwise ATAU Tugas) | Digunakan untuk melakukan operasi OR eksklusif bitwise antara dua nilai integer. Ini juga menetapkan nilai ke keluaran operasi. | ekspresi ^ = ekspresi |
~ (TIDAK Bitwise) | Digunakan untuk melakukan operasi NOT logis bitwise pada nilai integer. | ~ ekspresi |
Operator Perbandingan
Operator | Berarti | Sintaksis |
= | Sama dengan | ekspresi = ekspresi |
> | Lebih besar dari | ekspresi> ekspresi |
< | Kurang dari | ekspresi |
> = | Lebih dari atau sama dengan | ekspresi> = ekspresi |
<= | Kurang dari atau sama dengan | ekspresi<= expression |
Tidak sebanding dengan | ekspresi ekspresi | |
! = | Tidak sebanding dengan | ekspresi! = ekspresi |
!< | Tidak kurang dari | ekspresi! |
!> | Tidak lebih dari | ekspresi!> ekspresi |
Operator Senyawa
Operator | Berarti | Sintaksis |
+ = | Digunakan untuk menambahkan nilai ke nilai asli dan menyetel nilai asli ke hasil. | ekspresi + = ekspresi |
- = | Digunakan untuk mengurangi nilai dari nilai asli dan mengatur nilai asli ke hasil. | ekspresi - = ekspresi |
* = | Digunakan untuk mengalikan nilai ke nilai asli dan menyetel nilai asli ke hasil. | ekspresi * = ekspresi |
/ = | Digunakan untuk membagi nilai dari nilai asli dan mengatur nilai asli menjadi hasil. | ekspresi / = ekspresi |
% = | Digunakan untuk membagi nilai dari nilai asli dan mengatur nilai asli menjadi hasil. | ekspresi% = ekspresi |
& = | Digunakan untuk melakukan operasi DAN bitwise dan menyetel nilai asli ke hasil. | ekspresi & = ekspresi |
^ = | Digunakan untuk melakukan operasi OR eksklusif bitwise dan menyetel nilai asli ke hasil. | ekspresi ^ = ekspresi |
| = | Digunakan untuk melakukan operasi OR bitwise dan menyetel nilai asli ke hasil. | ekspresi | = ekspresi |
Operator Logis
Operator | Berarti | Sintaksis |
SEMUA | Mengembalikan TRUE jika semua kumpulan perbandingan BENAR. | scalar_expression! = ALL (subquery) |
DAN | Mengembalikan TRUE jika kedua ekspresi BENAR. | boolean_expression AND boolean_expression |
APA SAJA | Menampilkan TRUE jika salah satu dari kumpulan perbandingan adalah BENAR. | scalar_expression! = {ANY} (subkueri) |
ANTARA | Mengembalikan TRUE jika operan berada dalam jangkauan. | sampleexpression [BUKAN] ANTARA ekspresi awal DAN ekspresi akhir |
ADA | Menampilkan TRUE jika subkueri berisi baris apa pun. | EXISTS (sub query) |
DI | Mengembalikan TRUE jika operan sama dengan salah satu daftar ekspresi. | test_expression [NOT] IN (subkueri | ekspresi [,… n]) |
Mengembalikan TRUE jika operan cocok dengan pola. | match_expression [BUKAN] pola SUKA [ESCAPE escape_character] | |
TIDAK | Membalik nilai operator boolean apa pun. | [BUKAN] ekspresi_boolean |
ATAU | Mengembalikan TRUE jika salah satu dari ekspresi boolean TRUE. | boolean_expression OR boolean_expression |
BEBERAPA | Mengembalikan TRUE jika beberapa kumpulan perbandingan BENAR. | scalar_expression<= { SOME} ( subquery ) |
Operator Resolusi Lingkup
Operator | Berarti | Contoh |
:: | Menyediakan akses ke anggota statis dari tipe data gabungan. Tipe data gabungan adalah tipe data yang berisi beberapa metode dan tipe data sederhana. Tipe data gabungan Ini termasuk tipe CLR bawaan dan Tipe Buatan Pengguna (UDT) SQLCLR kustom. | MENYATAKAN @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString () |
Atur Operator
Terutama ada tiga operasi set:PERSATUAN,MEMOTONG,MINUS. Anda dapat merujuk ke gambar di bawah ini untuk memahami operasi yang ditetapkan dalam SQL. Lihat gambar di bawah ini:
Operator | Berarti | Sintaksis |
PERSATUAN | Operator UNION digunakan untuk menggabungkan kumpulan hasil dari dua atau lebih pernyataan SELECT. | PILIH ColumnName (s) FROM Table1 PERSATUAN PILIH ColumnName (s) FROM Table2 |
MEMOTONG | Klausa INTERSECT digunakan untuk menggabungkan duaPILIHpernyataan dan mengembalikan perpotongan dari kumpulan data kedua pernyataan SELECT. | PILIH Kolom1, Kolom2…. DARI TableName DI MANA Kondisi MEMOTONG PILIH Kolom1, Kolom2…. DARI TableName DI MANA Kondisi |
KECUALI | Operator EXCEPT mengembalikan tupel yang dikembalikan oleh operasi SELECT pertama, dan tidak dikembalikan oleh operasi SELECT kedua. | PILIH ColumnName DARI TableName KECUALI PILIH ColumnName DARI TableName |
Operator String
Operator | Berarti | Sintaks / Contoh |
+ (Penggabungan String) | Menggabungkan dua atau lebih biner atau karakter string, kolom, atau kombinasi string dan nama kolom menjadi satu ekspresi | ekspresi + ekspresi |
+ = (Penggabungan String) | Digunakan untuk menggabungkan dua string dan menyetel string tersebut ke hasil operasi. | ekspresi + = ekspresi |
% (Karakter Wildcard untuk dicocokkan) | Digunakan untuk mencocokkan string apa pun yang terdiri dari nol atau lebih karakter. | Contoh: 'sample%' |
[] (Karakter Pengganti untuk dicocokkan) | Digunakan untuk mencocokkan satu karakter dalam rentang atau set tertentu yang ditentukan di antara tanda kurung []. | Contoh: m [n-z]% ’ |
[^] (Karakter Wildcard untuk dicocokkan) | Digunakan untuk mencocokkan satu karakter yang tidak berada dalam rentang atau set yang ditentukan di antara tanda kurung siku. | Contoh: ‘Al [^ a]%’ |
_ (Karakter Wildcard untuk dicocokkan) | Digunakan untuk mencocokkan satu karakter dalam operasi perbandingan string | test_expression [NOT] IN (subkueri | ekspresi [,… n]) |
Agregat Fungsi
Berbeda fungsi agregat yang didukung oleh SQL Server adalah sebagai berikut:
Fungsi | Deskripsi | Sintaksis | Contoh |
JUMLAH() | Digunakan untuk mengembalikan jumlah sekelompok nilai. | PILIH SUM (ColumnName) DARI TableName | PILIH SUM (Marks) DARI StudentsInfo |
MENGHITUNG() | Mengembalikan jumlah baris baik berdasarkan kondisi, atau tanpa kondisi. | PILIH JUMLAH (ColumnName) DARI TableName WHERE Kondisi | PILIH JUMLAH (StudentID) DARI StudentsInfo |
AVG () | Digunakan untuk menghitung nilai rata-rata kolom numerik. | PILIH AVG (ColumnName) DARI TableName | PILIH AVG (Tanda) DARI StudentsInfo |
MIN () | Fungsi ini mengembalikan nilai minimum kolom. | PILIH MIN (ColumnName) DARI TableName | PILIH MIN (Marks) FROM StudentsInfo |
MAX () | Mengembalikan nilai maksimum kolom. | PILIH MAX (ColumnName) DARI TableName | PILIH MAX (Tanda) DARI StudentsInfo |
PERTAMA() | Digunakan untuk mengembalikan nilai pertama kolom. | PILIH PERTAMA (ColumnName) DARI TableName | PILIH PERTAMA (Marks) DARI StudentsInfo |
TERAKHIR() | Fungsi ini mengembalikan nilai terakhir kolom. | PILIH TERAKHIR (ColumnName) DARI TableName | PILIH TERAKHIR (Tanda) DARI StudentsInfo |
Fungsi Buatan Pengguna
Microsoft SQL Server memungkinkan pengguna untuk membuat fungsi yang ditentukan pengguna yang merupakan rutinitas. Rutinitas ini menerima parameter, dapat melakukan tindakan sederhana hingga kompleks, dan mengembalikan hasil tindakan tertentu itu sebagai nilai. Di sini, nilai yang dikembalikan bisa berupa nilai skalar tunggal atau kumpulan hasil lengkap.
Anda dapat menggunakan fungsi yang ditentukan pengguna untuk:
- Izinkan pemrograman modular
- Kurangi lalu lintas jaringan
- Izinkan eksekusi kueri lebih cepat
Selain itu, ada berbagai jenis fungsi yang ditentukan pengguna yang dapat Anda buat. Mereka:
- Fungsi Skalar: Biasanyamengembalikan nilai data tunggal dari tipe yang ditentukan dalam klausa RETURNS.
- Fungsi Nilai Tabel: Biasanyakembali amejatipe data.
- Fungsi Sistem: Berbagai fungsi sistem disediakan oleh SQL Server untuk melakukan operasi yang berbeda.
Nah, selain dari fungsi yang ditentukan pengguna, ada banyak fungsi bawaan di SQL Server yang dapat digunakan untuk melakukan berbagai tugas. Melanjutkan artikel tentang tutorial SQL Server ini, mari kita sekarang memahami apa itu kueri bersarang.
Kueri Bertingkat
Kueri bertingkat adalah kueri yang memiliki kueri luar dan subkueri dalam. Jadi, pada dasarnya, subkueri adalah kueri yang bertumpuk di dalam kueri lain seperti SELECT, INSERT, UPDATE atau DELETE. Lihat gambar di bawah ini:
Selanjutnya dalam tutorial SQL Server ini, mari kita pahami berbagai jenis gabungan dalam SQL.
Bergabung
digunakan untuk menggabungkan tupel dari dua atau lebih tabel, berdasarkan kolom terkait antar tabel. Ada empat jenis gabungan:
- GABUNG DALAM: Mengembalikan rekaman yang memiliki nilai yang cocok di kedua tabel.
- KIRI GABUNG: Mengembalikan rekaman dari tabel kiri, dan juga rekaman yang memenuhi kondisi dari tabel kanan.
- GABUNG KANAN: Mengembalikan rekaman dari tabel kanan, dan juga rekaman yang memenuhi kondisi dari tabel kiri.
- BERGABUNG LENGKAP: Mengembalikan rekaman yang memiliki kecocokan di tabel kiri atau kanan.
Pertimbangkan tabel berikut bersama dengan tabel StudentsInfo, untuk memahami sintaks gabungan.
SubjectID | Identitas Siswa | SubjectName |
10 | 10 | Matematika |
2 | sebelas | Fisika |
3 | 12 | Kimia |
GABUNG DALAM
Sintaksis
PILIH ColumnName (s) DARI Tabel1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Contoh
PILIH Subjects.SubjectID, StudentsInfo.StudentName FROM Subjects INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID
KIRI BERGABUNG
Sintaksis
PILIH ColumnName (s) DARI Tabel1 LEFT JOIN Table2 ON Table1.ColumnName = Tabel2.ColumnName
Contoh
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo LEFT GABUNG Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
GABUNG KANAN
Sintaksis
PILIH ColumnName (s) DARI Tabel1 KANAN GABUNG Tabel2 PADA Tabel1.ColumnName = Tabel2.ColumnName
Contoh
PILIH StudentsInfo.StudentName, Subjects.SubjectID DARI StudentsInfo KANAN GABUNG Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
BERGABUNG LENGKAP
Sintaksis
PILIH ColumnName (s) DARI Tabel1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Contoh
SELECT StudentsInfo.StudentName, Subjects.SubjectID FROM StudentsInfo FULL OUTER GABUNG Subjects ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
Selanjutnya, dalam artikel tutorial SQL Server ini, mari kita pahami berbagai jenis loop yang didukung oleh SQL Server.
Loop
Perintah control-of-flow yang berbeda adalah sebagai berikut:
Mari kita bahas satu per satu.
MULAI .. AKHIR
Kata kunci ini digunakan untuk menyertakan serangkaian pernyataan SQL. Kemudian, grup pernyataan SQL ini dapat dijalankan.
Sintaksis
BEGIN StatementBlock END
ISTIRAHAT
Pernyataan ini digunakan untuk keluar dari loop WHILE saat ini. Dalam kasus ini, loop WHILE saat ini bersarang di dalam loop lain, maka pernyataan BREAK hanya keluar dari loop saat ini dan kontrol diteruskan ke pernyataan berikutnya dalam loop saat ini. Pernyataan BREAK umumnya digunakan di dalam pernyataan IF.
Sintaksis
ISTIRAHAT
TERUS
Pernyataan CONTINUE digunakan untuk memulai ulang pengulangan WHILE. Jadi, pernyataan apa pun setelah kata kunci LANJUTKAN akan diabaikan.
Sintaksis
TERUS
Di sini, Label adalah titik setelah pemrosesan dimulai jika GOTO ditargetkan ke label tersebut.
PERGI KE
Digunakan untuk mengubah aliran eksekusi ke label. Pernyataan yang ditulis setelah kata kunci GOTO dilewati dan pemrosesan dilanjutkan di label.
Sintaksis
Tentukan Label: Label: Alter Eksekusi: Label GOTO
Di sini, Label adalah titik setelah pemrosesan dimulai jika GOTO ditargetkan ke label tersebut.
JIKA..ELSE
Seperti bahasa pemrograman lainnya, pernyataan If-else di SQL Server menguji kondisi dan jika kondisinya salah maka pernyataan 'else' dijalankan.
Sintaksis
JIKA BooleanExpression StatementBlock [ELSE StatementBlock]
KEMBALI
Digunakan untuk keluar tanpa syarat dari kueri atau prosedur. Jadi, pernyataan yang ditulis setelah klausa RETURN tidak dieksekusi.
Sintaksis
KEMBALI [IntegerExpression]
Di sini, nilai integer dikembalikan.
TUNGGU
Alur kontrol WAITFOR digunakan untuk memblokir pelaksanaan prosedur yang tersimpan, transaksi atau batch sampai pernyataan tertentu diubah, mengembalikan setidaknya satu baris atau selang waktu atau waktu tertentu berlalu.
Sintaksis
WAITFOR (GetConversionGroupStatement)] [, TIMEOUT batas waktu]
dimana,
- MENUNDA - Jangka waktu yang harus dilalui
- TimeToPass - Pjangka waktu menunggu
- WAKTU - Ituwaktu ketika prosedur tersimpan, transaksi atau batch berjalan.
- TimeToExecute - Ituwaktu saat pernyataan WAITFOR selesai.
- RecieveStatement - UNTUKpernyataan RECEIVE yang valid.
- GetConversionGroupStatement - UNTUKpernyataan GET CONVERSATION GROUP yang valid.
- TIMEOUT batas waktu - Menentukan periode waktu, dalam milidetik, untuk menunggu pesan sampai di antrian.
SEMENTARA
Loop ini digunakan untuk menetapkan kondisi untuk eksekusi berulang dari pernyataan SQL tertentu atau blok pernyataan SQL. Pernyataan dijalankan selama kondisi yang disebutkan oleh pengguna adalah BENAR. Segera setelah kondisi gagal, loop berhenti dijalankan.
Sintaksis
WHILE BooleanExpression StatementBlock
Sekarang, setelah kalian mengetahui perintah DML, mari kita lanjutkan ke bagian selanjutnyadalam artikel ini di Tutorial SQL yaitu perintah DCL.
Perintah Bahasa Kontrol Data (DCL)
Bagian tutorial SQL Server ini akan memberi Anda gambaran tentang perintah yang digunakan untuk menegakkan keamanan database di beberapa lingkungan database pengguna. Perintahnya adalah sebagai berikut:
HIBAH
Perintah GRANT digunakan untuk memberikan akses atau hak istimewa pada database dan objeknya kepada pengguna.
Sintaksis
BERIKAN PrivilegeName PADA ObjectName KE RoleName [DENGAN GRANT OPTION]
dimana,
- PrivilegeName - Apakah privilege / hak / akses diberikan kepada pengguna.
- ObjectName - Nama objek database seperti TABLE / VIEW / STORED PROC.
- Nama pengguna - Nama pengguna yang diberi akses / hak / hak istimewa.
- PUBLIK - Untuk memberikan hak akses kepada semua pengguna.
- Nama peran - Nama sekumpulan hak istimewa yang dikelompokkan bersama.
- DENGAN PILIHAN GRANT - Untuk memberikan akses kepada pengguna untuk memberikan hak kepada pengguna lain.
Contoh
- Untuk memberikan izin SELECT ke tabel StudentsInfo ke pengguna1 GRANT SELECT ON StudentsInfo TO pengguna1
MENCABUT
Perintah REVOKE digunakan untuk menarik hak akses pengguna yang diberikan dengan menggunakan perintah GRANT.
Sintaksis
BATALKAN PrivilegeName PADA ObjectName DARI PUBLIK
Contoh
- Untuk mencabut izin yang diberikan dari pengguna1 REVOKE SELECT ON StudentsInfo TO pengguna1
Selanjutnya dalam tutorial SQL Server ini, mari kita pahami cara membuat dan menggunakan Prosedur Tersimpan.
Prosedur Tersimpan
Prosedur Tersimpan adalah unit yang dapat digunakan kembali yang merangkum logika bisnis tertentu dari aplikasi. Jadi, ini adalah sekelompok pernyataan dan logika SQL, dikompilasi dan disimpan bersama untuk melakukan tugas tertentu.
Sintaksis
BUAT [ATAU GANTI] PROSEDUR procedure_name [(parameter_name [IN | OUT | IN OUT] type [])] IS BEGIN [declaration_section] executable_section // Pernyataan SQL yang digunakan dalam prosedur tersimpan END GO
Contoh
--Buat prosedur yang akan mengembalikan nama siswa ketika StudentId diberikan sebagai parameter input ke prosedur yang disimpan Buat PROCEDURE GetStudentName (@StudentId INT, --Input parameter, @StudName VARCHAR (50) OUT --Parameter keluaran, AS BEGIN SELECT @StudName = StudentName FROM StudentsInfo WHERE StudentID = @ StudentId END
Langkah-langkah untuk mengeksekusi:
- Nyatakanlah sebagai nasehat (50)
- EXEC GetStudentName 01, keluaran @StudName
- PILIH @StudName
Prosedur di atas mengembalikan nama siswa tertentu,tentang pemberian id siswa itu sebagai masukan. Selanjutnya dalam tutorial SQL Server ini, mari kita memahami perintah bahasa kontrol transaksi.
Perintah Bahasa Kontrol Transaksi (TCL)
Bagian dari tutorial SQL Server ini akan memberi Anda wawasan tentang perintah yang digunakan untuk mengelola transaksi di database.Perintahnya adalah sebagai berikut:
MELAKUKAN
Perintah COMMIT digunakan untuk menyimpan transaksi ke dalam database.
Sintaksis
MELAKUKAN
ROLLBACK
Perintah ROLLBACK digunakan untuk memulihkan database ke status komitmen terakhir.
Sintaksis
ROLLBACK
CATATAN: Saat Anda menggunakan ROLLBACK dengan SAVEPOINT, Anda dapat langsung beralih ke savepoint dalam transaksi yang sedang berlangsung. Sintaks: ROLLBACK TO SavepointName
SAVEPOINT
Perintah SAVEPOINT digunakan untuk menyimpan transaksi sementara. Jadi jika Anda ingin melakukan rollback ke titik mana pun, Anda dapat menyimpan titik itu sebagai 'SAVEPOINT'.
Sintaksis
SAVEPOINT SAVEPOINTNAME
Pertimbangkan tabel di bawah ini untuk memahami cara kerja transaksi dalam database.
Identitas Siswa | Nama siswa |
satu | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Sekarang, gunakan yang di bawah ini untuk memahami transaksi dalam database.
INSERT INTO StudentTable VALUES (5, 'Avinash') COMMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable VALUES (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7, 'Sanjay ') SAVEPOINT S3 INSERT INTO StudentTable VALUES (8,' Veena ') SAVEPOINT S4 SELECT * FROM StudentTable
Selanjutnya di artikel tutorial SQL Server ini, mari kita memahami cara menangani pengecualian di Transact-SQL.
Penanganan Pengecualian
Ada dua jenis pengecualian, yaitu pengecualian yang ditentukan sistem dan pengecualian yang ditentukan pengguna. Seperti namanya, penanganan pengecualian adalah proses di mana pengguna dapat menangani pengecualian yang dihasilkan. Untuk menangani pengecualian, Anda harus memahami pernyataan aliran kontrol berikut:
MELEMPARKAN
Klausa ini digunakan untuk memunculkan eksepsi dan mentransfer eksekusi ke blok CATCH dari konstruksi TRY… CATCH.
Sintaksis
THROW [ErrorNumber, @localvariable, State] []
dimana,
- ErrorNumber - UNTUKkonstanta atau variabel yang mewakili pengecualian.
- Pesan - UNTUKvariabel atau string yang mendeskripsikan pengecualian.
- Negara -Konstanta atau variabel antara 0 dan 255 yang menunjukkan status yang akan dikaitkan dengan pesan.
THROW 51000, 'Record tidak ada.', 1
COBA TANGKAP
Digunakan untuk mengimplementasikan penanganan pengecualian di Transact-SQL. Sekelompok pernyataan dapat dimasukkan dalam blok TRY. Jika terjadi kesalahan di blok TRY, kontrol dilewatkan ke grup pernyataan lain yang disertakan dalam blok CATCH.
Sintaksis
MULAI COBA PernyataanBlock AKHIR COBALAH MULAI TANGKAP [StatementBlock] AKHIRI PENANGKAPAN []
MULAI COBA PILIH * DARI Informasi Siswa AKHIR COBA MULAI CATCH SELECT ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH
DI engan ini, kita sampai pada akhir artikel ini tentang Tutorial SQL Server. Saya harap Anda menikmati membaca artikel ini tentang Tutorial SQL Server Untuk Pemula.saya Jika Anda ingin mendapatkan pelatihan terstruktur tentang MySQL, lihat yang dilengkapi dengan pelatihan langsung yang dipimpin instruktur dan pengalaman proyek kehidupan nyata. Pelatihan ini akan membantu Anda memahami MySQL secara mendalam dan membantu Anda menguasai subjek. Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar ' Tutorial SQL Server 'Dan saya akan menghubungi Anda kembali.