Di pasaran hari ini, di mana sejumlah besar data dihasilkan setiap hari, sangat penting untuk memahami cara mengendalikan data. SQL Server adalah persekitaran bersepadu yang dikembangkan oleh Microsoft untuk menangani data.Dalam artikel ini mengenai tutorial SQL Server, anda akan mempelajari semua operasi dan perintah yang anda perlukan untuk meneroka pangkalan data anda.
Untuk pemahaman anda yang lebih baik, saya telah membahagikan blog kepada kategori berikut:
Perintah | Penerangan |
Set perintah ini digunakan untuk menentukan pangkalan data. | |
Perintah Bahasa Manipulasi Data (DML) | Perintah manipulasi digunakan untuk memanipulasi data yang ada dalam pangkalan data. |
Set perintah ini berkaitan dengan kebenaran, hak dan kawalan lain dari sistem pangkalan data. | |
Perintah ini digunakan untuk berurusan dengan transaksi pangkalan data. |
Terlepas dari perintah, topik berikut dibahas dalam artikel ini:
- Apa itu SQL Server?
- Pasang SQL Server
- Sambung ke Pelayan SQL menggunakan SSMS
- Akses Mesin Pangkalan Data
- Senibina Pelayan SQL
- Komen dalam SQL
- Jenis Data Pelayan SQL
- Kunci dalam pangkalan data
- Kekangan dalam pangkalan data
- Pengendali
- Fungsi Agregat
- Fungsi yang ditentukan pengguna
- Pertanyaan Bersarang
- Bergabung
- Gelung
- Prosedur yang Disimpan
- Pengendalian Pengecualian
***CATATAN*** Dalam Tutorial Pelayan SQL ini, saya akan mempertimbangkan pangkalan data di bawah sebagaicontoh, untuk menunjukkan kepada anda cara belajar dan menulisarahan.
ID pelajar | Nama pelajar | Nama Ibu Bapa | Nombor telefon | Alamat | Bandar | Negara |
satu | saya benci | Akriti mehra | 9955339966 | Blok Jalan Briged 9 | Hyderabad | India |
2 | Manasa | Shourya Sharma | 9234568762 | Jalan Mayo 15 | Kolkata | India |
3 | Anay | Soumya Mishra | 9876914261 | Rumah Marathalli No 101 | Bengaluru | India |
4 | Preeti | Rohan Sinha | 9765432234 | Jalan Queens 40 | Delhi | India |
5 | Shanaya | Abhinay agarwal | 9878969068 | Jalan Oberoi 21 | Mumbai | India |
Sebelum kita mulai memahami pelbagai perintah yang digunakan dalam SQL Server, mari kita memahami apa itu SQL Server, senibina dan cara memasangnya.
Apa itu SQL Server?
Microsoft SQL Server adalah hubungan sistem Pengurusan Pengkalan data . Ia menyokong Bahasa Pertanyaan Berstruktur dan dilengkapi dengan pelaksanaan bahasa SQL sendiri yang merupakan Transact-SQL (T-SQL) . Ini memiliki lingkungan terpadu untuk menangani pangkalan data SQL, yang merupakan .
Komponen utama SQL Server adalah seperti berikut:
- Enjin Pangkalan Data: Komponen ini mengendalikan penyimpanan, Pemprosesan Transaksi Cepat, dan Mengamankan Data.
- Pelayan SQL - Perkhidmatan ini digunakan untuk memulakan, menghentikan, menjeda dan meneruskan contoh MS SQL Server.
- Ejen Pelayan SQL - Perkhidmatan Ejen Pelayan memainkan peranan penjadual tugas dan dipicu oleh sebarang peristiwa atau mengikut keperluan.
- Penyemak Imbas Pelayan SQL - Perkhidmatan ini digunakan untuk menghubungkan permintaan masuk ke contoh SQL Server yang diinginkan.
- Carian Teks Penuh Pelayan SQL - Digunakan untuk membiarkan pengguna menjalankan pertanyaan teks penuh terhadap data watak dalam jadual SQL.
- Penulis VSS SQL Server - Membolehkan sandaran dan pemulihan fail data apabila SQL Server tidak dijalankan.
- Perkhidmatan Analisis Pelayan SQL (SSAS) - Perkhidmatan ini digunakan untuk menyediakan analisis data, perlombongan data dan kemampuan. Pelayan SQL juga diintegrasikan dengan dan R untuk analisis data lanjutan.
- Perkhidmatan Pelaporan Pelayan SQL (SSRS) - Seperti namanya, perkhidmatan ini digunakan untuk menyediakan ciri dan kemampuan membuat keputusan termasuk integrasi dengan .
- Perkhidmatan Integrasi Pelayan SQL (SSIS) - Perkhidmatan ini digunakan untuk melakukan operasi ETL untuk pelbagai jenis data dari pelbagai sumber data.
Sekarang, setelah anda mengetahui apa itu MS SQL Server, marilah kita maju dalam artikel ini mengenai tutorial SQL Server dan memahami cara memasang dan menyiapkan SQL Server.
Pasang SQL Server
Ikuti langkah di bawah untuk memasang SQL Server:
Langkah 1: Pergi ke halaman rasmi Muat turun Microsoft SQL Server , di mana anda akan mendapat pilihan untuk memasang SQL Server sama ada di premis atau di awan.
Langkah 2: Sekarang, tatal ke bawah dan anda akan melihat dua pilihan: Edisi Pembangun & Perusahaan . Di sini, saya akan memuat turun Edisi pembangun . Untuk memuat turun, anda hanya perlu mengklik pada Muat turun sekarang pilihan. Rujuk di bawah.
Langkah 3: Setelah aplikasi dimuat turun, klik dua kali pada fail dan anda akan melihat tetingkap berikut.
Langkah 4: Sekarang, anda boleh memilih salah satu daripada 3 pilihan untuk menyediakan SQL Server. Di sini, saya hanya akan memilih Pilihan asas . Apabila memilih pilihan jenis pemasangan, skrin seterusnya adalah menerima perjanjian lesen. Untuk melakukannya, klik pada Terima di tetingkap berikut.
Langkah 5: Seterusnya, anda harus menentukan lokasi pemasangan SQL Server. Kemudian, anda perlu mengklik Pasang.
Sebaik sahaja anda mengklik Pasang , anda akan melihat bahawa pakej yang diperlukan sedang dimuat turun. Sekarang, setelah pemasangan selesai, anda akan melihat skrin berikut:
Di sini, anda boleh maju dan klik pada Connect Now, atau anda boleh Customize pemasangannya. Untuk pemahaman anda yang lebih baik, saya akan terus maju dan memilih Sesuaikan.
Langkah 6: Sebaik sahaja anda mengklik Sesuaikan di tetingkap di atas, anda akan melihat penyihir berikut terbuka. pada tetingkap berikut, klik pada Seterusnya.
Langkah 7: Selepas peraturan dipasang secara automatik, klik Seterusnya . Rujuk di bawah.
Langkah 8: Seterusnya, anda harus memilih jenis pemasangan. Jadi, pilih yang Lakukan a pemasangan baru SQL Server 2017 pilihan dan kemudian klik pada Seterusnya.
Langkah 9: Dalam wizard yang terbuka, pilih edisi: Pemaju. Kemudian, klik pada Seterusnya . Rujuk di bawah.
Langkah 10: Sekarang, baca dan terima perjanjian lesen dengan mendaftar butang radio dan kemudian klik Seterusnya . Rujuk di bawah.
Langkah 11: Dalam wizard di bawah ini, anda boleh memilih ciri yang ingin anda pasangkan. Anda juga boleh memilih direktori root contoh dan kemudian klik Seterusnya . Di sini, saya akan memilih Perkhidmatan Enjin Pangkalan Data .
Langkah 12: Seterusnya anda harus memberi nama instance, dan secara automatik ID instance akan dibuat. Di sini, saya akan memberi nama contoh 'edureka'. Kemudian, klik pada Seterusnya.
Langkah 13: Dalam wizard Konfigurasi Pelayan, klik pada Seterusnya .
Langkah 14: Sekarang, anda harus mengaktifkan mod pengesahan. Di sini, anda akan melihat Mod pengesahan Windows dan Mod Campuran . Saya akan memilih Mod Campuran. Kemudian, sebutkan kata laluan dan kemudian saya akan menambahkan pengguna semasa sebagai Pentadbir dengan memilih Tambah Pengguna Semasa pilihan.
Langkah 15: Kemudian, pilih jalan fail konfigurasi dan klik Pasang .
Setelah pemasangan selesai, anda akan melihat skrin berikut:
Sambung ke Pelayan SQL menggunakan SSMS
Setelah SQL Server dipasang, langkah anda seterusnya adalah menyambungkan SQL Server ke SQL Server Management Studio. Untuk melakukannya, ikuti langkah berikut:
Langkah 1: Kembali, ke tetingkap berikut, dan klik pada pasang SSMS pilihan.
Langkah 2: Sebaik sahaja anda mengklik pilihan tersebut, anda akan diarahkan ke halaman berikut , di mana anda harus memilih Muat turun SSMS.
Langkah 3: Setelah persediaan dimuat turun, klik dua kali pada aplikasi dan anda akan melihat penyihir berikut terbuka.
Langkah 4: Klik pada Pasang pilihan , di tetingkap di atas dan anda akan melihat bahawa pemasangan akan bermula.
Langkah 5: Setelah pemasangan selesai, anda akan mendapat kotak dialog seperti gambar di bawah.
Setelah anda memasang SSMS, langkah seterusnya adalah mengakses Enjin Pangkalan Data .
Mengakses Mesin Pangkalan Data
Apabila anda membuka Studio pengurusan pelayan SQL daripada menu permulaan , tetingkap akan terbuka serupa dengan tetingkap yang ditunjukkan dalam gambar di bawah.
Di sini, sebutkan Nama Pelayan, Mod Pengesahan dan klik Sambung.
Selepas anda klik Sambung , anda akan melihat skrin berikut.
Baiklah, begitulah cara anda memasang dan menyiapkan SQL Server. Sekarang, terus maju dalam tutorial SQL Server ini, mari kita memahami pelbagai komponen seni bina SQL Server.
Senibina Pelayan SQL
Senibina SQL Server adalah seperti berikut:
- Pelayan & tolak Di sinilah perkhidmatan SQL dipasang dan pangkalan data berada
- Enjin Perhubungan & minus Mengandungi pengurai pertanyaan, pengoptimum, dan pelaksana dan pelaksanaannya berlaku dalam mesin hubungan.
- Penyusun Perintah & tolak Memeriksa sintaks pertanyaan dan menukar pertanyaan kepada bahasa mesin.
- Pengoptimum & minus Menyiapkan rancangan pelaksanaan sebagai output dengan mengambil statistik, pertanyaan dan Algebrator sebagai input.
- Pelaksana Pertanyaan & tolak Ini adalah tempat di mana pertanyaan dilaksanakan secara berperingkat
- Enjin Storan & tolak Ini bertanggungjawab untuk penyimpanan dan pengambilan data pada sistem penyimpanan, manipulasi data, mengurus dan mengunci transaksi.
Sekarang, setelah anda mengetahui cara mengatur dan memasang SQL Server dan pelbagai komponennya, mari kita mulakan penulisan Pelayan. Tetapi, sebelum itu izinkan saya membuat liputan bagaimana menulis komen di SQL Server.
Komen di SQL Server
Terdapat dua cara di mana anda boleh memberi komen dalam SQL, iaitu sama ada menggunakan s komen garis ingle atau m komen ulti-line .
Komen Garis Tunggal
Komen satu baris bermula dengan dua tanda hubung (-). Oleh itu, teks yang disebut selepas (-), hingga akhir satu baris akan diabaikan oleh penyusun.
Contoh:
- Contoh komen baris tunggal
Komen Pelbagai Garis
Komen berbilang baris bermula dengan / * dan diakhiri dengan * / . Oleh itu, teks yang disebut antara / * dan * / akan diabaikan oleh penyusun.
Contoh:
/ * Contoh untuk komen berbilang baris * /
Sekarang dalam artikel ini mengenai tutorial SQL Server, mari kita mulai dengan set perintah pertama iaitu perintah Bahasa Definisi Data.
Perintah Bahasa Definisi Data
Bahagian artikel ini akan memberi anda idea mengenai perintah dengan bantuan yang mana anda dapat menentukan pangkalan data anda. Perintahnya adalah seperti berikut:
BUAT
Pernyataan ini digunakan untuk membuat jadual, pangkalan data atau pandangan.
Penyataan ‘BUAT DATABASE’
Pernyataan ini digunakan untuk membuat pangkalan data.
Sintaks
BUAT Pangkalan DataNama Pangkalan Data
Contohnya
BUAT DATABASE Pelajar
The ‘ BUAT JADUAL Penyataan
Seperti namanya, pernyataan ini digunakan untuk membuat jadual.
Sintaks
BUAT JADUAL TableName (Jenis data Column1, Jenis data Column2, Jenis data Column3, .... Jenis data ColumnN)
Contohnya
BUAT JADUAL StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))
TURUNKAN
Pernyataan ini digunakan untuk menjatuhkan jadual, pangkalan data atau pandangan yang ada.
Penyataan ‘DROP DATABASE’
Pernyataan ini digunakan untuk menjatuhkan pangkalan data yang ada. Maklumat lengkap yang terdapat dalam pangkalan data akan hilang sebaik sahaja anda melaksanakan perintah di bawah ini.
Sintaks
DROP DATABASE Pangkalan DataNama
Contohnya
PEMIMPIN DATAB Pelajar
Penyataan ‘DROP TABLE’
Pernyataan ini digunakan untuk menjatuhkan jadual yang ada. Maklumat lengkap yang terdapat dalam jadual akan hilang sebaik sahaja anda melaksanakan perintah di bawah.
Sintaks
DROP TABLE Nama Jadual
Contohnya
DRAF TABEL StudentInfo
UMUR
Perintah ALTER digunakan untuk menambah, menghapus atau mengubah lajur atau kekangan dalam jadual yang ada.
The ‘ JADUAL ALTER Penyataan
Pernyataan ini digunakan untuk menambah, menghapus, mengubah lajur dalam jadual yang sudah ada.
Penyataan ‘ALTER TABLE’ dengan TAMBAH / TINGKATKAN COLUMN
Pernyataan ALTER TABLE digunakan dengan perintah ADD / DROP Column untuk menambah dan menghapus lajur.
Sintaks
ALTER TABLE TableName ADD ColumnName Datatype ALTER TABLE TableName DROP COLUMN ColumnName
Contohnya
- ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
Penyataan ‘ALTER TABLE’ dengan ALTER COLUMN
Pernyataan ALTER TABLE boleh digunakan dengan lajur ALTER untuk mengubah jenis data lajur yang ada dalam jadual.
Sintaks
ALTER TABLE TableName ALTER COLUMN ColumnName Datatype
Contohnya
--Tambah kolom DOB dan ubah jenis data dari tarikh ke waktu. ALTER TABLE StudentInfo TAMBAHKAN tarikh DOB ALTER TABLE StudentInfo ALTER COLUMN DOB datetime
TRUNCATE
Perintah SQL ini digunakan untuk menghapus maklumat yang terdapat dalam jadual tetapi tidak menghapus jadual itu sendiri. Oleh itu, jika anda ingin menghapus maklumat yang ada di dalam jadual, dan tidak menghapuskan jadual itu sendiri, anda harus menggunakan perintah TRUNCATE. Jika tidak, gunakan arahan DROP.
Sintaks
Jadual Jadual Nama Nama
Contohnya
Jadual Maklumat TRUNCATE StudentInfo
RENAMA
Pernyataan ini digunakan untuk menamakan semula satu atau lebih jadual.
Sintaks
sp_rename 'OldTableName', 'NewTableName'
Contohnya
sp_rename 'StudentInfo', 'Infostudents'
Melanjutkan artikel ini mengenai tutorial SQL Server, mari kita memahami pelbagai jenis data yang disokong oleh SQL Server.
Jenis Data Pelayan SQL
Kategori Jenis Data | Nama Jenis Data | Penerangan | Julat / Sintaks |
Nombor tepat | berangka | Digunakan untuk menyimpan nilai angka dan mempunyai nombor ketepatan dan skala yang tetap | - 10 ^ 38 +1 hingga 10 ^ 38 - 1. |
smallint | Digunakan untuk menyimpan nilai integer | 0 hingga 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) hingga 2 ^ 63-1 (9,223,372,036,854,775,807) | |
int | Digunakan untuk menyimpan nilai integer | -2 ^ 31 (-2,147,483,648) hingga 2 ^ 31-1 (2,147,483,647) | |
sedikit | Menyimpan jenis data integer yang menceritakan nilai 0, 1 atau NULL | 0, 1 atau NULL | |
perpuluhan | Digunakan untuk menyimpan nilai angka dan mempunyai nombor ketepatan dan skala yang tetap | - 10 ^ 38 +1 hingga 10 ^ 38 - 1. | |
wang kecil | Digunakan untuk menyimpan wangatau nilai mata wang. | - 214,748.3648 hingga 214,748.3647 | |
wang | Digunakan untuk menyimpan wangatau nilai mata wang. | -922,337,203,685,477.5808 hingga 922,337,203,685,477.5807 (-922,337,203,685,477.58 hingga 922,337,203,685,477.58 untuk Informatica. | |
Nombor anggaran | terapung | Digunakan untuk menyimpan data berangka titik terapung | - 1.79E + 308 hingga -2.23E-308, 0 dan 2.23E-308 hingga 1.79E + 308 |
nyata | Digunakan untuk menyimpan data berangka titik terapung | - 3.40E + 38 hingga -1.18E - 38, 0 dan 1.18E - 38 hingga 3.40E + 38 | |
Tarikh dan masa | Tarikh | Digunakan untuk menentukan tarikh di SQL Server. | Sintaks: tarikh |
masa kecil | Digunakan untuk menentukan tarikh yang digabungkan dengan waktu hari di mana waktunya didasarkan pada hari 24 jam, dengan detik selalu sifar (: 00) dan tanpa detik pecahan. | Sintaks: masa kecil | |
masa tarikh | Digunakan untuk menentukan tarikh yang digabungkan dengan waktu sehari dengan detik pecahan berdasarkan jam 24 jam. | Sintaks: masa masa | |
masa masa2 | masa masa2 adalah sebagai lanjutan dari yang ada masa tarikh taip yang mempunyai ketepatan pecahan lalai yang lebih besar, julat tarikh larget. | Sintaks: datetime2 | |
set masa | Digunakan untuk menentukan tarikh yang digabungkan dengan waktu dalam sehari yang mempunyai kesedaran zon waktu. Ia berdasarkan jam 24 jam. | Sintaks: datetimeoffset | |
masa | Digunakan untuk menentukan waktu dalam sehari. | Sintaks: masa | |
Rentetan watak | char | Digunakan untuk menyimpan watak bersaiz tetap. | char[( n )] di mana nilai n berbeza dari 1 - 8,000 |
varchar | Digunakan untuk menyimpan watak panjang berubah. | varchar [( n | maks)] di mana nilai n berbeza dari 1-8000 dan storan maksimum yang dibenarkan ialah 2GB. | |
teks | Digunakan untuk menyimpan vdata bukan Unicode panjang boleh ubah | Panjang tali maksimum dibenarkan - 2 ^ 31-1 (2,147,483,647) | |
Rentetan watak unicode | nchar | Digunakan untuk menyimpan watak bersaiz tetap. | nchar[(n)] di mana nilai n berbeza dari 1-4000 |
nvarchar | Digunakan untuk menyimpan watak panjang berubah. | varchar [( n | maks)] di mana nilai n berbeza dari 1-4000 dan storan maksimum yang dibenarkan ialah 2GB. | |
ntext | Digunakan untuk menyimpan data Unicode panjang berubah | Panjang tali maksimum dibenarkan - 2 ^ 30-1 (2,147,483,647) | |
Rentetan binari | binari | Digunakan untuk menyimpan jenis data binari sama ada panjang tetap | binari[( n )] di mana nilai n berbeza dari 1 - 8,000 |
varikos | Digunakan untuk menyimpan jenis data binari sama ada panjang tetap | varikos[( n )] di mana n vale berbeza dari 1-8000 dan penyimpanan maksimum yang dibenarkan ialah 2 ^ 31-1 bait. | |
imej | Digunakan untuk menyimpan data binari panjang berubah | 0 - 2 ^ 31-1 (2,147,483,647) bait | |
Jenis data lain | Ini adalah jenis data untuk prosedur yang tersimpan atau pemboleh ubah parameter OUTPUT yang mengandungi rujukan kepada kursor. | - | |
pusingan | Digunakan untuk mendedahkan nombor binari unik yang dihasilkan secara automatik dalam pangkalan data. | - | |
hierarki | Digunakan untuk mewakili kedudukan dalam hierarki. | - | |
pengecam unik | Adalah GUID 16-byte. | Sintaks:pengecam unik | |
sql_variant | Digunakan untuk menyimpan nilai pelbagai jenis data yang disokong oleh SQL Server | Sintaks: sql_variant | |
xml | Digunakan untuk menyimpan jenis data XML. | xml ([KANDUNGAN | DOKUMEN] xml_schemacollection) | |
Jenis Geometri Spatial | Digunakan untuk mewakili data dalam sistem koordinat Euclidean (rata). | - | |
Jenis Geografi Spatial | Digunakan untuk menyimpan data elipsoidal (bumi bulat), seperti koordinat garis lintang dan garis bujur GPS. | - | |
meja | Digunakan untuk menyimpan set hasil untuk diproses di lain waktu | - |
Seterusnya, dalam artikel ini mari kita memahami pelbagai jenis kunci dan kekangan dalam pangkalan data.
Jenis Kekunci Yang Berbeza Dalam Pangkalan Data
Berikut adalah pelbagai jenis kunci yang digunakan dalam pangkalan data:
- Kunci Calon - Kunci Calon adalah sekumpulan atribut yang dapat mengenal pasti jadual secara unik. Jadual boleh mempunyai lebih dari satu kunci calon, dan daripada kunci calon yang dipilih, satu kunci dipilih sebagai Kunci Utama.
- Kekunci Super - Kumpulan atribut dapat mengenal pasti tuple secara unik. Jadi, kunci calon, kunci unik, dan kunci utama adalah kunci super, tetapi sebaliknya tidak benar.
- Kunci utama - Kekunci utama digunakan untuk mengenal pasti setiap tupel secara unik.
- Kunci Alternatif - Kunci Alternatif adalah kunci calon yang tidak dipilih sebagai kunci Utama.
- Kunci Unik- Kekunci unik serupa dengan kunci utama, tetapi membenarkan satu nilai NULL di lajur.
- Kunci asing - Atribut yang hanya dapat mengambil nilai yang ada sebagai nilai dari beberapa atribut lain, adalah kunci asing kepada atribut yang merujuknya.
- Kunci Komposit- Kekunci komposit adalah gabungan dua atau lebih lajur yang mengenal pasti setiap tupel secara unik.
Kekangan Yang Digunakan Dalam Pangkalan Data
Kekangan digunakan dalam pangkalan data untuk menentukan peraturan untuk data yang disimpan dalam jadual. Pelbagai jenis kekangan dalam SQL adalah seperti berikut:
BUKAN NULL
Kekangan NOT NULL memastikan bahawa lajur tidak boleh mempunyai nilai NULL.
Contohnya
BUAT JADUAL StudentInfo (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)) - TIDAK NULL di ALTER TABLE ALTER TABLE PelajarInfo ALTER COLUMNNombor Telefon int NOT NULL
UNIK
Kekangan ini memastikan bahawa semua nilai dalam lajur adalah unik.
Contohnya
--UNIQUE pada Buat Jadual BUAT JADUAL StudentInfo (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)) - UNIK pada Pelbagai Lajur BUAT JADUAL StudentInfo (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 UNIK (StudentID, Nombor Telefon)) --UNIQUE pada ALTER TABLE ALTER TABLE PelajarInfo TAMBAH UNIK (StudentID) - Untuk menjatuhkan kekangan UNIK ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info
SEMAK
Kekangan CHECK memastikan bahawa semua nilai dalam lajur memenuhi keadaan tertentu.
Contohnya
- Kekangan CHECK 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 Kekangan pada banyak lajur BUAT JADUAL StudentInfo (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 (Negara = 'India' DAN Bandar = 'Hyderabad')) - Kekangan CHECK pada ALTER TABLE ALTER TABLE PelajarInfo TAMBAH SEMAK (Negara = 'India') --Untuk memberi beri nama kepada CHECK Constraint ALTER TABLE PelajarInfo TAMBAHKAN CONSTRAINT CheckConstraintName CHECK (Country = 'India') - Untuk menjatuhkan CHECK Constraint ALTER TABLE PelajarInfo DROP CONSTRAINT CheckConstraintName
DEFAULT
Kekangan DEFAULT terdiri daripada sekumpulan nilai lalai untuk lajur apabila tidak ada nilai yang ditentukan.
Contohnya
--DEFAULT Kekangan pada CREATE TABLE CREATE TABLE 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 Kekangan pada ALTER TABLE ALTER TABLE PelajarInfo TAMBAHKAN CONSTRAINT defau_Country DEFAULT 'India' UNTUK Negara - Untuk menjatuhkan Kekangan Lalai ALTER TABLE PelajarInfo ALTER COLUMN Country DROP defau_Country
INDEKS
The Kekangan INDEX digunakan untuk membuat indeks dalam jadual, di mana anda dapat membuat dan mengambil data dari pangkalan data dengan cepat.
Sintaks
- Buat Indeks di mana nilai pendua dibenarkan CREATE INDEX IndexName ON TableName (Column1, Column2, ... ColumnN) - Buat Indeks di mana nilai pendua tidak dibenarkan BUAT INDIKASI UNIK INDEXName ON Nama Table (Column1, Column2, ... LajurN)
Contohnya
BUAT INDEX idex_StudentName ON StudentsInfo (StudentName) --Untuk menghapus indeks dalam jadual DROP INDEX StudentsInfo.idex_StudentName
Melangkah ke depan dalam artikel ini mengenai tutorial SQL Server, mari sekarang kita memahami berbagai perintah Bahasa Manipulasi Data yang digunakan dalam Microsoft SQL Server.
Perintah Bahasa Manipulasi Data
Bahagian artikel ini akan merangkumi semua arahan di mana anda boleh memanipulasi pangkalan data. Perintahnya adalah seperti berikut:
Selain daripada perintah ini, terdapat juga pengendali / fungsi manipulatif lain seperti:
GUNAKAN
Pernyataan ini digunakan untuk memilih pangkalan data untuk mula melakukan berbagai operasi di atasnya.
Sintaks
GUNAKANNama Pangkalan Data
Contohnya
GUNAKAN Pelajar
MASUKKAN KE DALAM
The INSERT INTO pernyataan digunakan untuk memasukkan rekod baru ke dalam jadual yang ada.
Sintaks
INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) NILAI (nilai1, nilai2, nilai3, ...) --Jika anda tidak mahu menyebut nama lajur maka gunakan sintaks di bawah INSERT INTO NILAI Nama Table (Nilai1, Nilai2, Nilai3, ...)
Contohnya
INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) NILAI ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') MASUKKAN KE NILAI PelajarInfo (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Jalan Bagus 15 ',' Pune ',' India ')
KEMASKINI
Pernyataan UPDATE digunakan untuk mengubah atau mengemas kini rekod yang sudah ada dalam jadual.
Sintaks
UPDATE TableName SET Column1 = Value1, Column2 = Value2, ... DI MANA Keadaan
Contohnya
UPDATE StudentsInfo SET StudentName = 'Aahana', Bandar = 'Ahmedabad' DI MANA StudentID = 1
HAPUS
Pernyataan DELETE digunakan untuk menghapus rekod yang ada dalam jadual.
Sintaks
HAPUSKAN DARI Nama Jadual DI MANA Keadaan
Contohnya
HAPUS DARI PelajarInfo DI MANA Nama Pelajar = 'Aahana'
PERGI
Pernyataan MERGE digunakan untuk melakukan operasi INSERT, UPDATE dan DELETE pada jadual tertentu, di mana jadual sumber disediakan. Rujuk di bawah.
Sintaks
MERGE TagretTableName MENGGUNAKAN SourceTableName ON MergeCondition APABILA TELAH DIBARANG KEMUDIAN Update_Statement APABILA TIDAK PERTANDINGAN Sisipkan_Statement TAPI TIDAK DITETAPKAN OLEH SUMBER TELAH DIHAPUS
Contohnya
Untuk memahami pernyataan MERGE, pertimbangkan jadual berikut sebagai jadual Sumber dan jadual Sasaran.
Jadual Sumber:
ID pelajar | Nama pelajar | Tanda |
satu | saya benci | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Jadual Sasaran:
ID pelajar | Nama pelajar | Tanda |
satu | saya benci | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
MERGE SampleTargetTable TARGET DENGAN MENGGUNAKAN SampleSourceTable SOURCE ON (TARGET.StudentID = SOURCE.StudentID) APABILA PERTANDINGAN DAN SASARAN.StudentName SOURCE.StudentName ATAU TARGET.Marks SOURCE.Marks THEN UPDATE SET TARGET.StudentName = SOURNN.N.N.N. APABILA TIDAK DIBUAT DENGAN SASARAN KEMUDIAN INSERT (StudentID, StudentName, Marks) NILAI (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) APABILA TIDAK DITETAPKAN OLEH SUMBER KEMUDIAN
Pengeluaran
ID pelajar | Nama pelajar | Tanda |
satu | saya benci | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
PILIH
The PILIH penyataan digunakan untuk memilih data dari pangkalan data, jadual atau pandangan. Data yang dikembalikan disimpan dalam jadual hasil, yang disebut set hasil .
Sintaks
SELECT Column1, Column2, ... ColumN FROM TableName - (*) digunakan untuk memilih semua dari jadual SELECT * FROM table_name - Untuk memilih jumlah rekod yang akan dikembalikan: SELECT TOP 3 * FROM TableName
Contohnya
- Untuk memilih beberapa lajur SELECT StudentID, StudentName FROM StudentsInfo - (*) digunakan untuk memilih semua dari jadual SELECT * FROM StudentsInfo - Untuk memilih jumlah rekod yang akan digunakan kembali: SELECT TOP 3 * FROM StudentsInfo
Kami juga dapat menggunakan kata kunci berikut dengan pernyataan SELECT:
JAUH
Kata kunci DISTINCT digunakan dengan pernyataan SELECT untuk mengembalikan nilai yang berbeza sahaja.
Sintaks
PILIH DISTINCT Column1, Column2, ... ColumnN DARI TableName
Contohnya
PILIH NOMBOR DISTINCT DARI PelajarInfo
PERINTAH OLEH
Pernyataan ini digunakan untuk menyusun keputusan yang diperlukan sama ada dalam urutan menaik atau menurun. Secara lalai, hasilnya disimpan dalam urutan menaik. Namun, jika anda ingin mendapatkan hasilnya dalam urutan menurun, Anda harus menggunakan DESC kata kunci.
Sintaks
SELECT Column1, Column2, ... ColumnN DARI TableName ORDER MENGIKUT Column1, Column2, ... ASC | DESC
Contohnya
- Pilih semua pelajar dari jadual 'StudentsInfo' yang disusun mengikut ParentName: SELECT * FROM StudentsInfo ORDER BY ParentName - Pilih semua pelajar dari jadual 'StudentsInfo' yang disusun mengikut ParentName mengikut Susunan menurun: PILIH * DARI StudentsInfo ORDER MENGIKUT ParentName DESC - Pilih semua pelajar dari jadual 'StudentsInfo' yang disusun mengikut ParentName dan StudentName: SELECT * FROM StudentsInfo ORDER BY ParentName, StudentName / * Pilih semua pelajar dari jadual 'StudentsInfo' yang disusun mengikut ParentName mengikut Turutan dan Nama Pelajar dalam Susunan menaik: * / SELECT * DARI PelajarInfo ORDER OLEH ParentName ASC, StudentName DESC
KUMPULAN OLEH
Pernyataan ini digunakan dengan fungsi agregat untuk mengumpulkan kumpulan hasil dengan satu atau lebih lajur.
Sintaks
PILIH Lajur1, Lajur2, ..., LajurN DARI Nama Jadual DI MANA Keadaan KUMPULAN MENGIKUT Nama Lajur PESANAN MENGIKUT Nama Lajur
Contohnya
- Menyenaraikan bilangan pelajar dari setiap bandar. SELECT COUNT (StudentID), City DARI StudentsInfo GROUP MENGIKUT Bandar
SET KUMPULAN
SET KUMPULAN diperkenalkan di SQL Server 2008, digunakan untuk menghasilkan set hasil yang dapat dihasilkan oleh a UNION SEMUA daripada beberapa klausa GROUP BY yang mudah.
Sintaks
PILIH Nama Lajur DARI KUMPULAN Nama Jadual MENGIKUT SET KUMPULAN (Nama Lajur)
Contohnya
PILIH StudentID, StudentName, COUNT (City) dari StudentsInfo Group MENGIKUT SET KUMPULAN ((StudentID, StudentName, City), (StudentID), (StudentName), (City))
MEMPUNYAI
Klausa ini digunakan dalam senario di mana DI MANA kata kunci tidak boleh digunakan.
Sintaks
PILIH ColumnName DARI Nama Table DI MANA Condition GROUP BY ColumnName (s) MEMILIKI Condition ORDER BY ColumnName (s)
Contohnya
PILIH COUNT (StudentID), City DARI StudentInfo GROUP BY City MEMILIKI COUNT (StudentID)> 2 ORDER BY COUNT (StudentID) DESC
KE DALAM
Kata kunci INTO boleh digunakan dengan PILIH penyataan untuk menyalin data dari satu jadual ke jadual yang lain. Anda boleh memahami jadual ini sebagai jadual sementara. Jadual sementara biasanya digunakan untuk melakukan manipulasi pada data yang ada di dalam jadual, tanpa mengganggu jadual asalnya.
Sintaks
SELECT * INTO NewTable [IN ExternalDB] DARI OldTable DI MANA Keadaan
Contohnya
- Untuk membuat sandaran jadual 'StudentsInfo' SELECT * INTO StudentsBackup FROM StudentsInfo --Untuk memilih hanya beberapa lajur dari StudentsInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'
CUBA
CUBE adalah lanjutan dari Fasal KUMPULAN . Ini membolehkan anda menghasilkan sub-total untuk semua kombinasi lajur pengelompokan yang dinyatakan dalam klausa GROUP BY.
Sintaks
SELECT ColumnName (s) DARI TableName GROUP BY CUBE (ColumnName1, ColumnName2, ....., ColumnNameN)
Contohnya
PILIH StudentID, COUNT (Bandar) DARI StudentInfo GROUP BY CUBE (StudentID) ORDER BY StudentID
MENGGULUNG
ROLLUP adalah lanjutan dari klausa GROUP BY. Ini membolehkan anda memasukkan baris tambahan yang mewakili subtotal. Ini disebut sebagai baris terkumpul super bersama dengan jumlah keseluruhan.
Sintaks
PILIH ColumnName DARI TableName GROUP BY ROLLUP (ColumnName1, ColumnName2, ....., ColumnNameN)
Contohnya
PILIH StudentID, COUNT (Bandar) DARI KUMPULAN INFO Pelajar MENGIKUT ROLLUP (StudentID)
OFFSET
Klausa OFFSET digunakan dengan SELECT dan Pernyataan ORDER BY untuk mendapatkan pelbagai rekod. Ia mesti digunakan dengan klausa ORDER BY kerana ia tidak boleh digunakan sendiri. Juga, julat yang anda sebutkan mestilah sama dengan atau lebih besar dari 0. Sekiranya anda menyebut nilai negatif, maka ini menunjukkan ralat.
Sintaks
PILIH ColumnNames) DARI Nama Table DI MANA Condition ORDER BY ColumnName (s) OFFSET BarisToSkip ROWS
Contohnya
Pertimbangkan lajur baru Tanda di dalam Maklumat Pelajar meja.
PILIH Nama Pelajar, Nama Ibu Bapa DARI PelajarInfo ORDER MENGIKUT Tanda OFFSET 1 ROWS
AMBIL
Klausa FETCH digunakan untuk mengembalikan sekumpulan sejumlah baris. Ia mesti digunakan bersama dengan klausa OFFSET.
perbezaan antara overloading dan overriding
Sintaks
PILIH Nama Lajur) DARI Nama Jadual DI MANA Keadaan ORDER MENGIKUT Nama Lajur OFFSET RowsToSkip FETCH NEXT NumberOfRows ROWS ONLY
Contohnya
PILIH Nama Pelajar, Nama Ibu Bapa DARI PelajarInfo ORDER MENGIKUT Tanda OFFSET 1 ROWS FETCH SETERUSNYA 1 ROWS ONLY
TOP
Klausa TOP digunakan dengan pernyataan SELECT untuk menyebut jumlah rekod yang akan dikembalikan.
Sintaks
SELECT TOP Number ColumnName DARI Nama Table DI MANA Keadaan
Contohnya
PILIH TOP 3 * DARI PelajarInfo
PIVOT
PIVOT digunakan untuk memutar baris ke nilai lajur dan menjalankan agregasi apabila diperlukan pada nilai lajur yang tinggal.
Sintaks
SELECT NonPivited ColumnName, [First Pivot ColumnName] AS ColumnName, [Second Pivoted ColumnName] AS ColumnName, [Third Pivited ColumnName] AS ColumnName, ... [Nama Terpilih Terakhir] Sebagai Nama Kolom DARI (SELECT pertanyaan yang menghasilkan data) AS [alias untuk pertanyaan awal] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName dari lajur yang nilainya akan menjadi tajuk lajur] IN ([First Pivot ColumnName], [Second Pivoting ColumnName], [Third Pivoting ColumnName] ... [terakhir lajur berpusing])) SEBAGAI [alias untuk Jadual Pangsi]
Contohnya
Untuk mendapatkan contoh terperinci, anda boleh merujuk artikel saya mengenai SQL PIVOT dan UNPIVOT . Seterusnya dalam Tutorial Pelayan SQL ini, marilah kita melihat pelbagai pengendali yang disokong oleh Microsoft SQL Server.
Pengendali
The pelbagai jenis pengendali disokong oleh SQL Server adalah seperti berikut:
- Pengendali Aritmetik
- Pengendali Tugasan
- Pengendali Bitwise
- Pengendali Perbandingan
- Pengendali Kompaun
- Pengendali Logik
- Pengendali Resolusi Skop
- Tetapkan Pengendali
- Pengendali Gabungan String
Mari kita bincangkan masing-masing satu persatu.
Pengendali Aritmetik
Pengendali | Makna | Sintaks |
+ | Penambahan | ungkapan + ungkapan |
- | Penolakan | ungkapan - ungkapan |
* | Pendaraban | ungkapan * ungkapan |
/ | Pembahagian | ungkapan / ungkapan |
% | Sopan | ungkapan% ungkapan |
Pengendali Tugasan
Pengendali | Makna | Sintaks |
= | Berikan nilai kepada pemboleh ubah | pemboleh ubah = ‘nilai’ |
Pengendali Bitwise
Pengendali | Makna | Sintaks |
& (Sedikit demi sedikit DAN) | Digunakan untuk melakukan operasi DAN logik sedikit demi sedikit antara dua nilai integer. | ungkapan & ungkapan |
& = (Bitwise DAN Tugasan) | Digunakan untuk melakukan operasi DAN logik sedikit demi sedikit antara dua nilai integer. Ini juga menetapkan nilai untuk output operasi. | ungkapan & = ungkapan |
| (Bitwise ATAU) | Digunakan untuk melakukan operasi ATAU sedikit logik antara dua nilai integer seperti yang diterjemahkan ke ungkapan binari dalam pernyataan Transact-SQL. | ungkapan | ungkapan |
| = (Bitwise ATAU Tugasan) | Digunakan untuk melakukan operasi ATAU sedikit logik antara dua nilai integer seperti yang diterjemahkan ke ungkapan binari dalam pernyataan Transact-SQL. Ini juga menetapkan nilai untuk output operasi. | ungkapan | = ungkapan |
^ (Eksklusif Bitwise ATAU) | Digunakan untuk melakukan operasi ATAU sedikit eksklusif antara dua nilai integer. | ungkapan ^ ungkapan |
^ = (Bitwise Exclusive ATAU Tugasan) | Digunakan untuk melakukan operasi ATAU sedikit eksklusif antara dua nilai integer. Ini juga menetapkan nilai untuk output operasi. | ungkapan ^ = ungkapan |
~ (Bitwise TIDAK) | Digunakan untuk menjalankan operasi TIDAK sedikit logik pada nilai integer. | ~ ungkapan |
Pengendali Perbandingan
Pengendali | Makna | Sintaks |
= | Sama dengan | ungkapan = ungkapan |
> | Lebih besar daripada | ungkapan> ungkapan |
< | Kurang daripada | ungkapan |
> = | Lebih besar daripada atau sama dengan | ungkapan> = ungkapan |
<= | Kurang daripada atau sama dengan | ungkapan<= expression |
Tidak sama dengan | ungkapan ekspresi | |
! = | Tidak sama dengan | ungkapan! = ungkapan |
!< | Tidak kurang dari | ungkapan! |
!> | Tidak lebih besar daripada | ungkapan!> ungkapan |
Pengendali Kompaun
Pengendali | Makna | Sintaks |
+ = | Digunakan untuk menambah nilai ke nilai asal dan menetapkan nilai asal ke hasilnya. | ungkapan + = ungkapan |
- = | Digunakan untuk mengurangkan nilai dari nilai asal dan menetapkan nilai asal ke hasilnya. | ungkapan - = ungkapan |
* = | Digunakan untuk melipatgandakan nilai ke nilai asal dan menetapkan nilai asal ke hasilnya. | ungkapan * = ungkapan |
/ = | Digunakan untuk membahagi nilai dari nilai asal dan menetapkan nilai asal ke hasilnya. | ungkapan / = ungkapan |
% = | Digunakan untuk membahagi nilai dari nilai asal dan menetapkan nilai asal ke hasilnya. | ungkapan% = ungkapan |
& = | Digunakan untuk melakukan operasi AND sedikit demi sedikit dan menetapkan nilai asal pada hasilnya. | ungkapan & = ungkapan |
^ = | Digunakan untuk melakukan operasi ATAU sedikit eksklusif dan menetapkan nilai asalnya ke hasilnya. | ungkapan ^ = ungkapan |
| = | Digunakan untuk melakukan operasi ATAU sedikit demi sedikit dan menetapkan nilai asal pada hasilnya. | ungkapan | = ungkapan |
Pengendali Logik
Pengendali | Makna | Sintaks |
SEMUA | Mengembalikan BENAR jika semua set perbandingan BENAR. | scalar_expression! = SEMUA (subkueri) |
DAN | Mengembalikan BENAR jika kedua-dua ungkapan itu BENAR. | boolean_expression DAN boolean_expression |
SEBARANG | Mengembalikan BENAR jika salah satu daripada set perbandingan itu BENAR. | scalar_ekspresi! = {SEBARANG} (pertanyaan) |
ANTARA | Mengembalikan BENAR jika operan berada dalam julat. | contoh ekspresi [BUKAN] ANTARA ekspresi begin dan ekspresi akhir |
ADA | Mengembalikan BENAR jika subkueri mengandungi sebarang baris. | ADA (sub pertanyaan) |
DALAM | Mengembalikan BENAR jika operan sama dengan salah satu senarai ungkapan. | test_expression [NOT] IN (subkueri | ungkapan [,… n]) |
Mengembalikan BENAR jika operan sepadan dengan corak. | match_expression [TIDAK] SUKA corak [ESCAPE escape_character] | |
TIDAK | Membalikkan nilai mana-mana operator boolean. | [BUKAN] ungkapan_boolean |
ATAU | Mengembalikan BENAR jika salah satu ungkapan boolean BENAR. | boolean_expression ATAU boolean_expression |
SESETENGAH | Mengembalikan BENAR jika beberapa set perbandingan BENAR. | scalar_ekspresi<= { SOME} ( subquery ) |
Pengendali Resolusi Skop
Pengendali | Makna | Contohnya |
:: | Memberi akses kepada anggota statik dari jenis data kompaun. Jenis data majmuk adalah jenis data yang mengandungi pelbagai kaedah dan jenis data mudah. Jenis data kompaun Ini termasuk jenis CLR terbina dalam dan Jenis Ditetapkan Pengguna (UDT) SQLCLR tersuai. | DECLARE @hid hierarchyid PILIH @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString () |
Tetapkan Pengendali
Terdapat tiga operasi terutamanya:KESATUAN,MENARIK,TOLAK. Anda boleh merujuk pada gambar di bawah ini untuk memahami operasi yang ditetapkan di SQL. Rujuk gambar di bawah:
Pengendali | Makna | Sintaks |
KESATUAN | Operator UNION digunakan untuk menggabungkan set hasil dua atau lebih pernyataan SELECT. | PILIH Nama Lajur DARI Jadual1 KESATUAN PILIH Nama Lajur DARI Jadual2 |
MENARIK | Klausa INTERSECT digunakan untuk menggabungkan duaPILIHpernyataan dan mengembalikan persimpangan set data kedua-dua pernyataan SELECT. | PILIH Lajur1, Lajur2…. DARI Nama Jadual DI MANA Keadaan MENARIK PILIH Lajur1, Lajur2…. DARI Nama Jadual DI MANA Keadaan |
KECUALI | Operator KECUALI mengembalikan tupel yang dikembalikan oleh operasi SELECT pertama, dan tidak dikembalikan oleh operasi SELECT kedua. | PILIH Nama Lajur DARI Nama Jadual KECUALI PILIH Nama Lajur DARI Nama Jadual |
Pengendali String
Pengendali | Makna | Sintaks / Contoh |
+ (Gabungan Rentetan) | Gabungkan dua atau lebih rentetan perduaan atau watak, lajur, atau gabungan rentetan dan nama lajur menjadi satu ungkapan | ungkapan + ungkapan |
+ = (Gabungan Rentetan) | Digunakan untuk menggabungkan dua rentetan dan menetapkan rentetan pada hasil operasi. | ungkapan + = ungkapan |
% (Watak Wildcard untuk dipadankan) | Digunakan untuk memadankan rentetan sifar atau lebih aksara. | Contoh: ‘sample%’ |
[] (Watak Wildcard untuk dipadankan) | Digunakan untuk memadankan satu watak dalam julat atau set yang ditentukan antara tanda kurung []. | Contoh: m [n-z]% ’ |
[^] (Watak Wildcard untuk dipadankan) | Digunakan untuk mencocokkan satu watak yang tidak berada dalam julat atau set yang ditentukan antara tanda kurung persegi. | Contoh: ‘Al [^ a]%’ |
_ (Watak Wildcard untuk dipadankan) | Digunakan untuk memadankan satu watak dalam operasi perbandingan rentetan | test_expression [NOT] IN (subkueri | ungkapan [,… n]) |
Agregat Fungsi
Perbezaan fungsi agregat disokong oleh SQL Server adalah seperti berikut:
Fungsi | Penerangan | Sintaks | Contohnya |
RUMUSAN () | Digunakan untuk mengembalikan jumlah kumpulan nilai. | PILIH SUM (ColumnName) DARI Nama Table | PILIH SUM (Markah) DARI PelajarInfo |
COUNT () | Mengembalikan bilangan baris sama ada berdasarkan keadaan, atau tanpa syarat. | PILIH COUNT (ColumnName) DARI Nama Table DI MANA Keadaan | PILIH COUNT (StudentID) DARI StudentInfo |
AVG () | Digunakan untuk mengira nilai purata lajur angka. | PILIH AVG (ColumnName) DARI Nama Table | PILIH AVG (Markah) DARI Maklumat Pelajar |
MIN () | Fungsi ini mengembalikan nilai minimum lajur. | PILIH MIN (ColumnName) DARI Nama Table | PILIH MIN (Markah) DARI Maklumat Pelajar |
MAX () | Mengembalikan nilai maksimum lajur. | PILIH MAX (ColumnName) DARI Nama Table | PILIH MAX (Markah) DARI Maklumat Pelajar |
PERTAMA () | Digunakan untuk mengembalikan nilai pertama lajur. | PILIH PERTAMA (ColumnName) DARI Nama Table | PILIH PERTAMA (Markah) DARI PelajarInfo |
TERAKHIR () | Fungsi ini mengembalikan nilai terakhir lajur. | PILIH TERAKHIR (ColumnName) DARI Nama Table | PILIH TERAKHIR (Markah) DARI Maklumat Pelajar |
Fungsi yang Ditentukan Pengguna
Microsoft SQL Server membolehkan pengguna membuat fungsi yang ditentukan pengguna yang merupakan rutin. Rutin ini menerima parameter, dapat melakukan tindakan sederhana hingga kompleks dan mengembalikan hasil tindakan tertentu itu sebagai nilai. Di sini, nilai yang dikembalikan boleh menjadi nilai skalar tunggal atau set hasil yang lengkap.
Anda boleh menggunakan fungsi yang ditentukan pengguna untuk:
- Benarkan pengaturcaraan modular
- Kurangkan trafik rangkaian
- Benarkan pelaksanaan pertanyaan lebih pantas
Juga, terdapat pelbagai jenis fungsi yang ditentukan pengguna yang boleh anda buat. Mereka adalah:
- Fungsi Skalar: Pernahmengembalikan nilai data tunggal dari jenis yang ditentukan dalam klausa RETURNS.
- Fungsi Nilai Jadual: Pernahmengembalikan amejajenis data.
- Fungsi Sistem: Pelbagai fungsi sistem disediakan oleh SQL Server untuk melakukan operasi yang berbeza.
Nah, selain dari fungsi yang ditentukan pengguna, ada banyak fungsi bawaan di SQL Server yang dapat digunakan untuk melakukan berbagai tugas. Melanjutkan artikel ini mengenai tutorial SQL Server, mari sekarang kita memahami apa itu pertanyaan bersarang.
Pertanyaan Bersarang
Pertanyaan bersarang adalah pertanyaan yang mempunyai pertanyaan luar dan pertanyaan dalam. Jadi, pada dasarnya, subkueri adalah pertanyaan yang bersarang dalam pertanyaan lain seperti PILIH, MASUK, KEMASKINI atau HAPUS. Rujuk gambar di bawah:
Seterusnya dalam tutorial Pelayan SQL ini, marilah kita memahami pelbagai jenis penyertaan dalam SQL.
Bergabung
digunakan untuk menggabungkan tupel dari dua atau lebih jadual, berdasarkan lajur yang berkaitan antara jadual. Terdapat empat jenis penyertaan:
- GABUNGAN DALAM: Mengembalikan rekod yang mempunyai nilai yang sepadan dalam kedua-dua jadual.
- GABUNGAN KIRI: Mengembalikan rekod dari jadual kiri, dan juga rekod yang memenuhi syarat dari jadual kanan.
- BERSAMA KANAN: Mengembalikan rekod dari jadual kanan, dan juga rekod yang memenuhi syarat dari meja kiri.
- BERSAMA PENUH: Mengembalikan rekod yang mempunyai perlawanan di kiri atau meja kanan.
Pertimbangkan jadual berikut bersama dengan jadual StudentsInfo, untuk memahami sintaks bergabung.
SubjekID | ID pelajar | Nama Subjek |
10 | 10 | Matematik |
2 | sebelas | Fizik |
3 | 12 | Kimia |
GABUNGAN DALAM
Sintaks
PILIH Nama Lajur DARI Jadual1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Contohnya
PILIH Subjek.SubjectID, StudentsInfo.StudentName DARI Subjek INNER JOIN StudentsInfo ON Subjects.StudentID = StudentsInfo.StudentID
BERSAMA KIRI
Sintaks
PILIH Nama Lajur DARI Jadual1 KIRI BERSAMA Jadual2 PADA Jadual1.ColumnName = Table2.ColumnName
Contohnya
PILIH StudentsInfo.StudentName, Subjects.SubjectID DARI StudentsInfo LEFT GOIN Subjek ON StudentsInfo.SubjectID = Subjects.SubjectID ORDER BY StudentsInfo.StudentName
BERSAMA KANAN
Sintaks
PILIH Nama Lajur DARI Jadual1 BERSAMA KANAN Jadual2 DI Jadual1.ColumnName = Table2.ColumnName
Contohnya
PILIH PelajarInfo.StudentName, Subjek.SubjekID DARI PelajarInfo Kanan BERSAMA Subjek PADA PelajarInfo.SubjectID = Subjek.SubjekID ORDER OLEH StudentsInfo.StudentName
BERSAMA PENUH
Sintaks
PILIH Nama Lajur DARI Jadual1 GABUNGAN LENGKAP PENUH Jadual2 PADA Jadual1.ColumnName = Table2.ColumnName
Contohnya
PILIH PelajarInfo.StudentName, Subjek.SubjekID DARI PelajarInfo PENUH GABUNGAN Subjek PADA PelajarInfo.SubjectID = Subjek.SubjekID ORDER OLEH StudentsInfo.StudentName
Selanjutnya, dalam artikel ini mengenai tutorial SQL Server, mari kita memahami pelbagai jenis gelung yang disokong oleh SQL Server.
Gelung
Perintah kawalan aliran yang berbeza adalah seperti berikut:
Mari kita bincangkan masing-masing satu persatu.
AWAL..END
Kata kunci ini digunakan untuk menyertakan serangkaian pernyataan SQL. Kemudian, kumpulan penyataan SQL ini dapat dijalankan.
Sintaks
BEGIN StatementBlock END
BREAK
Pernyataan ini digunakan untuk keluar dari gelung WHILE semasa. Sekiranya, gelung WHILE semasa bersarang di dalam gelung lain, maka pernyataan BREAK keluar hanya gelung semasa dan kawalan diteruskan ke pernyataan seterusnya dalam gelung semasa. Pernyataan BREAK umumnya digunakan di dalam pernyataan IF.
Sintaks
BREAK
TERUSKAN
Pernyataan TERUS digunakan untuk memulakan semula gelung WHILE. Oleh itu, sebarang pernyataan selepas kata kunci TERUS akan diabaikan.
Sintaks
TERUSKAN
Di sini, Label adalah titik selepas pemprosesan dimulakan jika GOTO disasarkan pada label tertentu.
PERGI KE
Digunakan untuk mengubah aliran pelaksanaan ke label. Pernyataan yang ditulis setelah kata kunci GOTO dilangkau dan pemprosesan diteruskan pada label.
Sintaks
Tentukan Label: Label: Perubahan Pelaksanaan: Label GOTO
Di sini, Label adalah titik selepas pemprosesan dimulakan jika GOTO disasarkan pada label tertentu.
JIKA TIDAK
Seperti bahasa pengaturcaraan lain, pernyataan If-else di SQL Server menguji keadaan dan jika syaratnya salah maka pernyataan ‘lain’ dijalankan.
Sintaks
JIKA BooleanExpression StatementBlock [ELSE StatementBlock]
KEMBALI
Digunakan untuk keluar dari pertanyaan atau prosedur tanpa syarat. Oleh itu, pernyataan yang ditulis selepas klausa RETURN tidak dilaksanakan.
Sintaks
KEMBALI [IntegerExpression]
Di sini, nilai integer dikembalikan.
TUNGGU TUNGGU
Aliran kawalan WAITFOR digunakan untuk menyekat pelaksanaan prosedur, transaksi atau kumpulan tersimpan sehingga penyataan tertentu berubah, mengembalikan sekurang-kurangnya satu baris atau selang waktu atau selang waktu yang ditentukan.
Sintaks
TUNGGU (GetConversionGroupStatement)] [, tamat masa TIMEOUT]
di mana,
- MENYELESAIKAN - Tempoh masa yang mesti dilalui
- TimeToPass - Ptempoh masa untuk menunggu
- MASA - Themasa ketika prosedur, transaksi atau kumpulan disimpan.
- TimeToExecute - Themasa di mana penyataan WAITFOR selesai.
- Terima Pernyataan - KEpenyataan TERIMA sah.
- GetConversionGroupStatement - KEpenyataan GET CONVERSATION GROUP yang sah.
- Tamat masa TIMEOUT - Menentukan jangka masa, dalam milisaat, untuk menunggu mesej tiba di barisan.
KETIKA
Gelung ini digunakan untuk menetapkan syarat untuk pelaksanaan berulang pernyataan SQL tertentu atau blok pernyataan SQL. Penyataan dilaksanakan selagi keadaan yang disebut oleh pengguna adalah BENAR. Sebaik sahaja keadaan gagal, gelung berhenti berfungsi.
Sintaks
KETIKA Penyataan BooleanExpressionBlock
Sekarang, setelah anda mengetahui arahan DML, mari kita ke bahagian seterusnyadalam artikel ini mengenai SQL Tutorial iaitu perintah DCL.
Perintah Bahasa Kawalan Data (DCL)
Bahagian tutorial SQL Server ini akan memberi anda idea tentang perintah yang digunakan untuk menegakkan keamanan pangkalan data di beberapa lingkungan pangkalan data pengguna. Perintahnya adalah seperti berikut:
PEMBERIAN
Perintah GRANT digunakan untuk memberikan akses atau keistimewaan pada pangkalan data dan objeknya kepada pengguna.
Sintaks
GRANT PrivilegeName ON ObjectName TO RoleName [DENGAN PILIHAN GRANT]
di mana,
- Nama Keistimewaan - Adakah hak istimewa / hak / akses diberikan kepada pengguna.
- Nama Objek - Nama objek pangkalan data seperti JADUAL / LIHAT / PROSEDUR.
- Nama Pengguna - Nama pengguna yang diberi akses / hak / keistimewaan.
- AWAM - Memberi hak akses kepada semua pengguna.
- Nama Peranan - Nama sekumpulan hak istimewa yang dikumpulkan bersama.
- DENGAN PILIHAN GRANT - Untuk memberi pengguna akses untuk memberi hak kepada pengguna lain.
Contohnya
- Untuk memberi kebenaran SELECT ke jadual StudentsInfo kepada pengguna1 PILIH PILIH DI StudentsInfo KEPADA pengguna1
MEMBATALKAN
Perintah REVOKE digunakan untuk menarik balik hak akses pengguna yang diberikan dengan menggunakan perintah GRANT.
Sintaks
REVOKE PrivilegeName ON ObjectName DARI AWAM
Contohnya
- Untuk mencabut kebenaran yang diberikan dari pengguna1 REVOKE SELECT ON StudentsInfo TO user1
Melanjutkan tutorial SQL Server ini, mari kita memahami cara membuat dan menggunakan Prosedur Tersimpan.
Prosedur yang Disimpan
Prosedur yang Disimpan adalah unit yang boleh digunakan semula yang merangkumi logik perniagaan tertentu dari aplikasi. Oleh itu, ini adalah sekumpulan pernyataan dan logik SQL, disusun dan disimpan bersama untuk melaksanakan tugas tertentu.
Sintaks
BUAT [ATAU GANTI] PROSEDUR prosedur_nama [(parameter_name [IN | OUT | IN OUT] type [])] ADALAH BEGIN [Deklarasi_seksyen] executable_section // Pernyataan SQL yang digunakan dalam prosedur yang disimpan TAMAT GO
Contohnya
- Buat prosedur yang akan mengembalikan nama pelajar ketika StudentId diberikan sebagai parameter input ke prosedur yang tersimpan Buat PROSEDUR GetStudentName (@StudentId INT, - Parameter input, @StudName VARCHAR (50) OUT - Parameter output, AS BEGIN SELECT @StudName = StudentName DARI StudentsInfo MANA StudentID = @ StudentId TAMAT
Langkah-langkah untuk melaksanakan:
- Nyatakan @StudName sebagai nvarchar (50)
- Keluaran EXEC GetStudentName 01, @StudName
- PILIH @StudName
Prosedur di atas mengembalikan nama pelajar tertentu,memberi pelajar itu sebagai input. Selanjutnya dalam tutorial SQL Server ini, mari kita memahami perintah bahasa kawalan transaksi.
Perintah Bahasa Kawalan Transaksi (TCL)
Bahagian tutorial SQL Server ini akan memberi anda gambaran mengenai arahan yang digunakan untuk menguruskan transaksi dalam pangkalan data.Perintahnya adalah seperti berikut:
KOMITMEN
Perintah COMMIT digunakan untuk menyimpan transaksi ke dalam pangkalan data.
Sintaks
KOMITMEN
KEMBALIKAN
Perintah ROLLBACK digunakan untuk mengembalikan pangkalan data ke keadaan terakhir yang dilakukan.
Sintaks
KEMBALIKAN
CATATAN: Apabila anda menggunakan ROLLBACK dengan SAVEPOINT, maka anda boleh langsung menuju ke titik simpanan dalam transaksi yang sedang berjalan. Sintaks: ROLLBACK KE SavepointName
SIMPANAN
Perintah SAVEPOINT digunakan untuk menyimpan transaksi buat sementara waktu. Oleh itu, jika anda ingin kembali ke mana-mana, maka anda boleh menyimpan titik itu sebagai ‘SIMPAN’.
Sintaks
SAVEPOINT SAVEPOINTNAME
Pertimbangkan jadual di bawah untuk memahami cara kerja urus niaga dalam pangkalan data.
ID pelajar | Nama pelajar |
satu | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Sekarang, gunakan perkara di bawah untuk memahami urus niaga dalam pangkalan data.
INSERT INTO StudentTable VALUES (5, 'Avinash') KOMIT UPDATE StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 INSERT INTO StudentTable NILU (6, 'Sanjana') SAVEPOINT S2 INSERT INTO StudentTable VALUES (7 ') SIMPAN S3 Sisipkan ke NILAI Jadual Pelajar (8,' Veena ') SIMPAN S4 PILIH * DARI Jadual Pelajar
Selanjutnya dalam artikel ini mengenai tutorial SQL Server mari kita memahami bagaimana menangani pengecualian dalam Transact-SQL.
Pengendalian Pengecualian
Terdapat dua jenis pengecualian, iaitu pengecualian yang ditentukan oleh sistem dan pengecualian yang ditentukan oleh pengguna. Seperti namanya, pengendalian pengecualian adalah proses di mana pengguna dapat menangani pengecualian yang dihasilkan. Untuk menangani pengecualian, anda harus memahami pernyataan aliran kawalan berikut:
MELALUI
Klausa ini digunakan untuk meningkatkan pengecualian dan memindahkan pelaksanaan ke blok CATCH dari konstruksi TRY… CATCH.
Sintaks
THROW [ErrorNumber, @localvariable, State] []
di mana,
- Nombor Ralat - KEpemalar atau pemboleh ubah yang mewakili pengecualian.
- Mesej - KEpemboleh ubah atau rentetan yang menerangkan pengecualian.
- Nyatakan -Pemalar atau pemboleh ubah antara 0 dan 255 yang menunjukkan keadaan untuk dikaitkan dengan mesej.
THROW 51000, 'Rekod tidak wujud.', 1
CUBA TANGKAP
Digunakan untuk melaksanakan pengendalian pengecualian dalam Transact-SQL. Sekumpulan pernyataan boleh dilampirkan di blok TRY. Sekiranya ralat berlaku di blok TRY, kawalan diteruskan ke kumpulan pernyataan lain yang dilampirkan dalam blok CATCH.
Sintaks
BEGIN TRY StatementBlock END TRY BEGIN CATCH [StatementBlock] TAMAT CATCH []
BEGIN TRY SELECT * FROM StudentsInfo END TRY BEGIN CATCH SELECT ERROR_NUMBER () SEBAGAI ErNum, ERROR_MESSAGE () SEBAGAI ErMsg END CATCH
DALAM Dengan ini, kita sampai pada akhir artikel ini mengenai SQL Server Tutorial. Saya harap anda seronok membaca artikel ini mengenai Tutorial Pelayan SQL Untuk Pemula.Saya Sekiranya anda ingin mendapatkan latihan berstruktur di MySQL, kemudian periksa kami yang dilengkapi dengan latihan langsung yang dipimpin oleh instruktur dan pengalaman projek kehidupan sebenar. Latihan ini akan membantu anda memahami MySQL secara mendalam dan membantu anda mencapai penguasaan terhadap subjek ini. Ada soalan untuk kami? Sila sebutkan di bahagian komen ” Tutorial Pelayan SQL 'Dan saya akan menghubungi anda.