Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Sistem Platform Analitik (PDW)
Database SQL di Microsoft Fabric
Note
Jalur pembelajaran Memulai Kueri dengan Transact-SQL menyediakan konten yang lebih mendalam, bersama dengan contoh praktis.
Pelajaran ini memperlihatkan kepada Anda cara membuat database, membuat tabel dalam database, lalu mengakses dan mengubah data dalam tabel. Karena pelajaran ini adalah pengantar untuk menggunakan Transact-SQL, pelajaran ini tidak menggunakan atau menjelaskan banyak opsi yang tersedia untuk pernyataan ini.
Pernyataan T-SQL dapat ditulis dan dikirimkan ke Mesin Database dengan cara berikut:
Dengan menggunakan SQL Server Management Studio. Tutorial ini mengasumsikan bahwa Anda menggunakan Management Studio, tetapi Anda juga dapat menggunakan Management Studio Express, yang tersedia sebagai unduhan gratis dari Pusat Unduhan Microsoft.
Dengan menggunakan utilitas sqlcmd.
Dengan menyambungkan melalui aplikasi yang Anda buat.
Kode dijalankan pada Mesin Database dengan cara yang sama dan dengan izin yang sama, terlepas dari bagaimana Anda mengirimkan pernyataan kode.
Untuk menjalankan pernyataan Transact-SQL di Management Studio, buka Management Studio dan sambungkan ke instans Mesin Database SQL Server.
Prerequisites
Untuk menyelesaikan tutorial ini, Anda memerlukan SQL Server Management Studio dan akses ke instans SQL Server.
- Instal SQL Server Management Studio.
Jika Anda tidak memiliki instans SQL Server, buat instans tersebut. Untuk membuatnya, pilih platform Anda dari tautan berikut. Jika Anda memilih Autentikasi SQL, gunakan kredensial masuk SQL Server Anda.
- Windows: Unduh SQL Server 2022 Developer Edition.
- Linux: Panduan cepat: Menjalankan image kontainer SQL Server Linux dengan Docker.
Buat basis data
Seperti banyak pernyataan Transact-SQL, CREATE DATABASE pernyataan memiliki parameter yang diperlukan: nama database.
CREATE DATABASE juga memiliki banyak parameter opsional, seperti lokasi disk tempat Anda ingin meletakkan file database. Saat Anda menjalankan CREATE DATABASE tanpa parameter opsional, SQL Server menggunakan nilai default untuk banyak parameter ini.
Di jendela Editor Kueri, ketik tetapi jangan jalankan kode berikut:
CREATE DATABASE TestData GOGunakan penunjuk untuk memilih kata
CREATE DATABASE, lalu tekan F1. ArtikelCREATE DATABASEseharusnya terbuka. Anda dapat menggunakan teknik ini untuk menemukan sintaks lengkap untukCREATE DATABASEdan untuk pernyataan lain yang digunakan dalam tutorial ini.Di Editor Kueri, tekan F5 untuk menjalankan pernyataan dan membuat database bernama
TestData.
Saat Anda membuat database, SQL Server membuat salinan model database, dan mengganti nama salinan menjadi nama database. Operasi ini hanya boleh memakan waktu beberapa detik, kecuali Anda menentukan ukuran awal database yang besar sebagai parameter opsional.
Note
Kata kunci GO memisahkan pernyataan ketika lebih dari satu pernyataan dikirimkan dalam satu batch.
GO bersifat opsional ketika batch hanya berisi satu pernyataan.
Buat tabel
Berlaku untuk:SQL Server
Azure SQL Database
Azure Synapse Analytics
Analytics Platform System (PDW)
Untuk membuat tabel, Anda harus memberikan nama untuk tabel, serta nama dan jenis data setiap kolom dalam tabel. Ini juga merupakan praktik yang baik untuk menunjukkan apakah nilai null diizinkan di setiap kolom. Untuk membuat tabel, Anda harus memiliki CREATE TABLE izin, dan ALTER SCHEMA izin pada skema yang akan berisi tabel. Peran database tetap db_ddladmin memiliki izin berikut.
Sebagian besar tabel memiliki kunci primer, terdiri dari satu atau beberapa kolom tabel. Kunci primer selalu unik. Mesin Database memberlakukan pembatasan bahwa nilai kunci utama apa pun tidak dapat diulang dalam tabel.
Untuk daftar jenis data dan tautan untuk deskripsi masing-masing, lihat Jenis data.
Note
Mesin Basis Data dapat diinstal agar peka terhadap huruf besar/kecil atau tidak peka terhadap huruf besar/kecil. Jika Mesin Database diinstal dengan pengaturan yang membedakan huruf besar dan huruf kecil, nama objek harus selalu menggunakan huruf besar/kecil yang sama. Misalnya, tabel bernama OrderData adalah tabel yang berbeda dari tabel bernama ORDERDATA. Jika Mesin Database diinstal sebagai non-peka huruf besar/kecil, kedua nama tabel tersebut dianggap sebagai tabel yang sama, dan nama tersebut hanya dapat digunakan satu kali.
Mengalihkan koneksi Editor Kueri ke database TestData
Di jendela Editor Kueri, ketik dan jalankan kode berikut untuk mengubah koneksi Anda ke TestData database.
USE TestData
GO
Membuat tabel
Di jendela Editor Kueri, ketik dan jalankan kode berikut untuk membuat tabel bernama Products. Kolom dalam tabel diberi nama ProductID, , ProductName, Pricedan ProductDescription. Kolom ProductID adalah kunci utama tabel.
int, , varchar(25)money, dan varchar(max) semua jenis data. Hanya kolom Price dan ProductionDescription yang boleh tidak berisi data saat baris disisipkan atau diubah. Pernyataan ini berisi elemen opsional (dbo.) yang disebut skema. Skema adalah objek database yang memiliki tabel. Jika Anda adalah administrator, dbo adalah skema default.
dbo singkatan dari pemilik database.
CREATE TABLE dbo.Products
(ProductID int PRIMARY KEY NOT NULL,
ProductName varchar(25) NOT NULL,
Price money NULL,
ProductDescription varchar(max) NULL)
GO
Menyisipkan dan memperbarui data dalam tabel
Sekarang setelah Anda membuat Products tabel, Anda siap untuk menyisipkan data ke dalam tabel dengan menggunakan INSERT pernyataan . Setelah data disisipkan, Anda akan mengubah konten baris dengan menggunakan UPDATE pernyataan. Anda menggunakan klausa WHERE dari pernyataan UPDATE untuk membatasi pembaruan hanya pada satu baris. Empat pernyataan tersebut memasukkan data berikut.
| ProductID | ProductName | Price | ProductDescription |
|---|---|---|---|
| 1 | Clamp | 12.48 | Klem meja kerja |
| 50 | Screwdriver | 3.17 | Kepala datar |
| 75 | Bilah Ban | Alat untuk mengganti ban. | |
| 3000 | Braket 3 mm | 0.52 |
Sintaks dasarnya adalah: INSERT, nama tabel, daftar kolom, VALUES, lalu daftar nilai yang akan disisipkan. Dua tanda hubung di depan garis menunjukkan bahwa baris adalah komentar dan teks diabaikan oleh pengkompilasi. Dalam hal ini, komentar menjelaskan variasi sintaks yang diizinkan.
Menyisipkan data ke dalam tabel
Jalankan pernyataan berikut untuk menyisipkan satu baris ke dalam tabel
Productsyang dibuat pada tugas sebelumnya.-- Standard syntax INSERT dbo.Products (ProductID, ProductName, Price, ProductDescription) VALUES (1, 'Clamp', 12.48, 'Workbench clamp') GOJika penyisipan berhasil, lanjutkan ke langkah berikutnya.
Jika penyisipan gagal, mungkin karena
Producttabel sudah memiliki baris dengan ID produk tersebut di dalamnya. Untuk melanjutkan, hapus semua baris dalam tabel dan ulangi langkah sebelumnya. TRUNCATE TABLE menghapus semua baris dalam tabel.Jalankan perintah berikut untuk menghapus semua baris dalam tabel:
TRUNCATE TABLE TestData.dbo.Products; GOSetelah Anda mengosongkan tabel, ulangi perintah
INSERTpada langkah ini.Pernyataan berikut menunjukkan bagaimana Anda dapat mengubah urutan di mana parameter disediakan dengan mengalihkan penempatan
ProductIDdanProductNamedi daftar bidang (dalam tanda kurung) dan dalam daftar nilai.-- Changing the order of the columns INSERT dbo.Products (ProductName, ProductID, Price, ProductDescription) VALUES ('Screwdriver', 50, 3.17, 'Flat head') GOPernyataan berikut menunjukkan bahwa nama kolom bersifat opsional, selama nilai tercantum dalam urutan yang benar. Sintaks ini umum tetapi tidak disarankan karena mungkin lebih sulit bagi orang lain untuk memahami kode Anda.
NULLditentukan untukPricekolom karena harga untuk produk ini belum diketahui.-- Skipping the column list, but keeping the values in order INSERT dbo.Products VALUES (75, 'Tire Bar', NULL, 'Tool for changing tires.') GONama skema bersifat opsional selama Anda mengakses dan mengubah tabel dalam skema default Anda.
ProductDescriptionKarena kolom memungkinkan nilai null dan tidak ada nilai yang disediakan,ProductDescriptionnama kolom dan nilai dapat dihilangkan dari pernyataan sepenuhnya.-- Dropping the optional dbo and dropping the ProductDescription column INSERT Products (ProductID, ProductName, Price) VALUES (3000, '3 mm Bracket', 0.52) GO
Memperbarui tabel produk
Ketik dan jalankan pernyataan berikut UPDATE untuk mengubah ProductName produk kedua dari Screwdriver, menjadi Flat Head Screwdriver.
UPDATE dbo.Products
SET ProductName = 'Flat Head Screwdriver'
WHERE ProductID = 50
GO
Membaca data dari tabel
SELECT Gunakan pernyataan untuk membaca data dalam tabel. Pernyataan ini SELECT adalah salah satu pernyataan Transact-SQL yang paling penting, dan ada banyak variasi dalam sintaks. Untuk tutorial ini, Anda akan bekerja dengan lima versi dasar.
Membaca data dalam tabel
Ketik dan jalankan pernyataan berikut untuk membaca data dalam
Productstabel.-- The basic syntax for reading data from a single table SELECT ProductID, ProductName, Price, ProductDescription FROM dbo.Products GOAnda bisa menggunakan tanda bintang (
*) untuk memilih semua kolom dalam tabel. Tanda bintang digunakan untuk kueri ad hoc. Dalam kode permanen, berikan daftar kolom sehingga pernyataan mengembalikan kolom yang diprediksi, bahkan jika kolom baru ditambahkan ke tabel nanti.-- Returns all columns in the table -- Does not use the optional schema, dbo SELECT * FROM Products GOAnda dapat menghilangkan kolom yang tidak ingin Anda kembalikan. Kolom dikembalikan dalam urutan yang tercantum.
-- Returns only two of the columns from the table SELECT ProductName, Price FROM dbo.Products GOWHEREGunakan klausa untuk membatasi baris yang dikembalikan kepada pengguna.-- Returns only two of the records in the table SELECT ProductID, ProductName, Price, ProductDescription FROM dbo.Products WHERE ProductID < 60 GOAnda dapat bekerja dengan nilai dalam kolom tersebut sebagaimana adanya saat dikembalikan. Contoh berikut melakukan operasi matematika pada
Pricekolom . Kolom yang telah diubah dengan cara ini tidak memiliki nama kecuali Anda menyediakannya dengan menggunakanASkata kunci.-- Returns ProductName and the Price including a 7% tax -- Provides the name CustomerPays for the calculated column SELECT ProductName, Price * 1.07 AS CustomerPays FROM dbo.Products GO
Fungsi yang berguna dalam pernyataan SELECT
Untuk informasi tentang beberapa fungsi yang bisa Anda gunakan untuk bekerja dengan data dalam SELECT pernyataan, lihat artikel berikut ini:
Membuat tampilan dan prosedur tersimpan
Tampilan adalah pernyataan tersimpan SELECT , dan prosedur tersimpan adalah satu atau beberapa pernyataan Transact-SQL yang dijalankan sebagai batch.
Tampilan dikueri seperti tabel dan tidak menerima parameter. Prosedur tersimpan lebih kompleks daripada tampilan. Prosedur tersimpan dapat memiliki parameter input dan output dan dapat berisi pernyataan untuk mengontrol alur kode, seperti IF pernyataan dan WHILE . Ini adalah praktik pemrograman yang baik untuk menggunakan prosedur tersimpan untuk semua tindakan berulang dalam database.
Untuk contoh ini, Anda menggunakan CREATEVIEW untuk membuat tampilan yang hanya memilih dua kolom dalam Products tabel. Kemudian, Anda menggunakan CREATE PROCEDURE untuk membuat prosedur tersimpan yang menerima parameter harga dan hanya mengembalikan produk yang harganya kurang dari nilai parameter yang ditentukan.
Buat tampilan
Jalankan pernyataan berikut untuk membuat tampilan yang menjalankan pernyataan pilih, dan mengembalikan nama dan harga produk kami kepada pengguna.
CREATE VIEW vw_Names
AS
SELECT ProductName, Price FROM Products;
GO
Menguji tampilan
Tampilan diperlakukan seperti tabel. Gunakan pernyataan SELECT untuk mengakses tampilan.
SELECT * FROM vw_Names;
GO
Membuat prosedur tersimpan
Pernyataan berikut membuat prosedur tersimpan bernama pr_Names, menerima parameter input bernama @VarPrice dengan tipe data money. Prosedur tersimpan mencetak pernyataan Products less than yang digabungkan dengan parameter input yang diubah dari money jenis data menjadi varchar(10) jenis data karakter. Kemudian, prosedur menjalankan pernyataan SELECT terhadap tampilan, dengan meneruskan parameter input sebagai bagian dari klausa WHERE. Ini mengembalikan semua produk yang harganya lebih murah dari nilai parameter input.
CREATE PROCEDURE pr_Names @VarPrice money
AS
BEGIN
-- The print statement returns text to the user
PRINT 'Products less than ' + CAST(@VarPrice AS varchar(10));
-- A second statement starts here
SELECT ProductName, Price FROM vw_Names
WHERE Price < @VarPrice;
END
GO
Uji prosedur tersimpan
Untuk menguji prosedur tersimpan, ketik dan jalankan pernyataan berikut. Prosedur harus mengembalikan nama kedua produk yang dimasukkan ke dalam Products tabel di Pelajaran 1 dengan harga kurang dari 10.00.
EXECUTE pr_Names 10.00;
GO