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 utilitas sqlcmd .
Dengan menyambungkan dari 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: Mulai cepat: Menjalankan gambar kontainer SQL Server Linux dengan Docker.
Membuat database
Seperti banyak pernyataan Transact-SQL, pernyataan CREATE DATABASE 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 DATABASEharus 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 ServerAzure 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 ini.
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 Database dapat diinstal sebagai peka huruf besar/kecil atau tidak peka huruf besar/kecil. Jika Mesin Database diinstal sebagai peka huruf besar/kecil, nama objek harus selalu memiliki kasus 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.
Price Hanya kolom dan ProductionDescription yang tidak dapat memiliki 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 WHERE klausul UPDATE pernyataan untuk membatasi pembaruan ke satu baris. Empat pernyataan tersebut memasukkan data berikut.
| ProductID | ProductName | Price | ProductDescription |
|---|---|---|---|
| 1 | Clamp | 12.48 | Klem workbench |
| 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 baris ke
Productsdalam tabel yang dibuat di 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 memotong tabel, ulangi
INSERTperintah dalam 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 adalah 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 bisa bekerja dengan nilai dalam kolom 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 CREATE VIEW 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.
SELECT Gunakan pernyataan untuk mengakses tampilan.
SELECT * FROM vw_Names;
GO
Membuat prosedur tersimpan
Pernyataan berikut membuat nama pr_Namesprosedur tersimpan , menerima parameter input bernama @VarPrice jenis moneydata . 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 SELECT pernyataan pada tampilan, meneruskan parameter input sebagai bagian WHERE dari klausa. 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
Menguji 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