Komputer, Pemrograman
Pernyataan SQL dasar
Standar SQL diadopsi pada tahun 1992 dan masih digunakan. Dialah yang menjadi patokan bagi banyak sistem manajemen basis data. Tentu saja, beberapa produsen menggunakan interpretasi standar mereka. Tapi dalam sistem apapun, ada komponen utama - pernyataan SQL.
Pendahuluan
Dengan bantuan pernyataan SQL di database, nilai, tabel dan data dikelola dan diterima untuk analisis dan tampilan lebih lanjut. Mereka adalah sekumpulan kata kunci yang dengannya sistem mengerti apa yang harus dilakukan dengan data.
Tentukan beberapa kategori pernyataan SQL:
- Definisi objek database;
- Manipulasi nilai;
- Perlindungan dan pengelolaan;
- Pengaturan sesi;
- Informasi tentang dasar;
- SQL statis;
- Dynamic SQL
Pernyataan SQL untuk memanipulasi data
Kategori ini mencakup kata kunci, dimana Anda dapat mengatur penempatan nilai dalam database.
INSERT Sisipan baris ke tabel yang ada. Hal ini dapat digunakan untuk satu nilai atau beberapa, yang didefinisikan oleh kondisi tertentu. Sebagai contoh:
INSERT INTO
Nama tabel (nama kolom 1, nama kolom 2)
NILAI (nilai 1, nilai 2).
Untuk menggunakan operator query SQL INSERT untuk beberapa nilai, sintaksnya adalah:
INSERT INTO
Nama tabel 1 (nama kolom 1, nama kolom 2)
Pilih nama kolom 1, nama kolom 2
FROM nama tabel 2
WHERE nama tabel 2. nama kolom 1> 2
Query ini akan memilih semua data dari Tabel 2 yang lebih besar dari 2 dengan kolom 1 dan memasukkannya ke dalam kolom pertama.
UPDATE Sesuai namanya, operator kueri SQL ini memperbarui data dalam tabel yang ada untuk karakteristik tertentu.
Contoh:
Nama tabel UPDATE 1
SET kolom nama 2 = "Basil"
WHERE nama tabel 1. nama kolom 1 = 1
Konstruksi ini akan mengisi nilai Basil dengan semua garis di mana ia menemukan nomor 1 di kolom pertama.
DELETE. Menghapus data dari tabel. Anda dapat menentukan suatu kondisi atau menghapus semua baris.
DELETE FROM nama tabel
WHERE nama tabel.column name 1 = 1
Permintaan di atas akan menghapus semua data dari database dengan nilai satu di kolom pertama. Dan inilah bagaimana Anda bisa membersihkan seluruh tabel:
HAPUS DARI nama tabel.
Selanjutnya perlu diketahui tentang operator SELECT. Dia adalah salah satu yang paling penting, jadi dia harus mencurahkan bab yang terpisah.
Pernyataan SELECT
Tujuan utama SELECT adalah untuk mengambil data untuk kondisi tertentu. Hasil karyanya selalu menjadi tabel baru dengan data yang dipilih. Pernyataan SELECT MS SQL dapat digunakan dalam banyak query yang berbeda. Karena itu, seiring dengan itu, Anda bisa mempertimbangkan kata kunci terkait lainnya.
Untuk memilih semua data dari tabel tertentu, gunakan tanda "*".
Pilih *
FROM nama tabel 1
Hasil query ini akan menjadi salinan yang tepat dari Tabel 1.
Dan di sini adalah contoh dengan kondisi WHERE, yang mengekstrak dari Tabel 1 semua nilai lebih besar dari 2 di kolom 1.
Pilih *
FROM nama tabel 1
WHERE nama tabel 1. nama kolom 1> 2
Anda juga dapat menentukan dalam pemilihan hanya kolom tertentu yang diperlukan.
SELECT nama tabel 1. nama kolom 1
FROM nama tabel 1
Hasil query ini akan menjadi semua baris, dengan nilai dari kolom 1. Dengan menggunakan statemen MS SQL, Anda dapat membuat tabel Anda sendiri, mengganti, menghitung dan mengganti nilai tertentu saat bepergian.
Pilih
Nama tabel 1. nama kolom 1
Nama tabel 1. nama kolom 2
Nama tabel 1. nama kolom 3
«=» SEBAGAI EQ
Nama tabel 1. nama kolom 2 * nama tabel 1. nama kolom 3 AS SUMMA
FROM nama tabel 1
Kueri yang tampaknya kompleks ini memilih semua nilai dari Tabel 1, lalu membuat kolom baru EQ dan SUMMA. Yang pertama menempatkan tanda "+", pada produk kedua dari data dari kolom 2 dan 3. Hasilnya dapat disajikan dalam bentuk tabel untuk memahami cara kerjanya:
Kolom 1 | Kolom 2 | Kolom 3 | EQ | SUMMA |
Nama Produk 1 | 10 | 50 | + | 500 |
Nama produk 2 | 15 | 100 | + | 1500 |
Bila menggunakan pernyataan SELECT, Anda dapat segera mengatur pemesanan data dengan beberapa jenis karakteristik. Untuk melakukan ini, gunakan kata ORDER BY.
Pilih
Nama tabel 1. nama kolom 1
Nama tabel 1. nama kolom 2
Nama tabel 1. nama kolom 3
FROM nama tabel 1
ORDER BY nama kolom 2
Tabel yang dihasilkan akan terlihat seperti ini:
Kolom 1 | Kolom 2 | Kolom 3 |
1 | 1 | 54 |
3 | 2 | 12 |
7 | 3 | 100 |
2 | 5 | 1 |
Artinya, semua baris telah diatur sedemikian rupa sehingga di kolom 2 nilainya masuk dalam urutan menaik.
Data juga bisa didapat dari beberapa tabel. Untuk kejelasan, pertama Anda perlu membayangkan bahwa ada dua di antaranya dalam database, kira-kira sebagai berikut:
Meja karyawan
Kamar | Nama | Nama terakhir |
1 | Vasya | Vasin |
2 | Petya | Petin |
Tabel "Gaji"
Kamar | Rate | Dibebankan |
1 | 1 | 10000 |
2 | 0.5 | 3500 |
Sekarang Anda perlu menghubungkan kedua tabel ini untuk mendapatkan nilai umum. Dengan menggunakan statemen SQL dasar, Anda bisa melakukan ini:
Pilih
Karyawan
Nama karyawan
Salary.Stavka
Salary.No
DARI Karyawan, Gaji
WHERE Employees.Number = Salary.Number
Di sini, pilihan dibuat dari dua tabel nilai yang berbeda, dikelompokkan berdasarkan angka. Hasilnya adalah kumpulan data berikut:
Kamar | Nama | Rate | Dibebankan |
1 | Vasya | 1 | 10000 |
2 | Petya | 0.5 | 3500 |
Sedikit lagi tentang SELECT. Menggunakan fungsi agregat
Salah satu statemen SELECT utama SQL dapat melakukan beberapa perhitungan pada sampel. Untuk melakukan ini, dia menggunakan fungsi dan formula tertentu.
Misalnya, untuk mendapatkan jumlah entri dari tabel Karyawan, Anda perlu menggunakan kueri ini:
SELECT COUNT (*) SEBAGAI N
DARI Karyawan
Hasilnya adalah tabel dengan satu nilai dan kolom.
N |
2 |
Dalam kueri, Anda bisa menggunakan fungsi yang menghitung jumlah, nilai maksimum dan minimum, dan juga rata-rata. Untuk ini, kata kunci SUM, MAX, MIN, AVG digunakan.
Misalnya, Anda perlu mencicipi dari tabel "Gaji" yang sudah dikenal:
Kamar | Rate | Dibebankan |
1 | 1 | 10000 |
2 | 0.5 | 3500 |
Anda dapat menerapkan kueri ini dan melihat apa yang terjadi:
Pilih
SUM (Salary.Specified) SEBAGAI SUMMA
MAX (Salary.No) SEBAGAI MAX
MIN (Salary.Specified) SEBAGAI MIN
AVG (Salary.No) SEBAGAI SRED
DARI Gaji
Tabel akhir adalah sebagai berikut:
SUMMA | MAX | MIN | SRED |
13500 | 10000 | 3500 | 6750 |
Dengan cara ini, Anda bisa memilih nilai yang dibutuhkan dari database, dengan cepat melakukan perhitungan berbagai fungsi.
Unifikasi, persimpangan dan perbedaan
Gabung beberapa query ke SQL
SELECT Employees.Name
DARI Karyawan
WHERE Employees.Number = 1
UNION
SELECT Employees.Name
DARI Karyawan, Gaji
WHERE Salary.Number = 1
Harus diperhitungkan bahwa dengan kombinasi seperti itu, tabel harus kompatibel. Artinya, memiliki jumlah kolom yang sama.
Sintaks dari pernyataan SELECT dan urutan pemrosesannya
Hal pertama SELECT menentukan area dari mana ia akan mengambil data. Kata kunci FROM digunakan untuk ini. Jika tidak ditentukan, apa sebenarnya yang harus dipilih.
Lalu mungkin ada klausa WHERE SQL. Dengan bantuannya, SELECT berjalan melalui semua baris tabel dan memeriksa data agar sesuai dengan kondisi.
Jika kueri memiliki GROUP BY, maka nilainya dikelompokkan menurut parameter yang ditentukan.
Operator untuk membandingkan data
Ada beberapa tipe. Di SQL, operator perbandingan dapat memeriksa berbagai jenis nilai.
«=». Tunjukkan, seperti dugaan Anda, persamaan dua ungkapan. Misalnya, sudah digunakan pada contoh di atas - WHERE Gaji. Nomor = 1.
«» ». Tanda itu lebih besar. Jika nilai sisi kiri dari ekspresi lebih besar, maka TRUE logis dikembalikan dan kondisinya terpenuhi.
«<». Tanda itu lebih kecil. Balikkan pernyataan sebelumnya.
Tanda-tanda "<=" dan "> =". Ini berbeda dengan operator sederhana apalagi, karena operannya sama, kondisinya juga benar.
«<>». Tidak sama Kondisi itu akan dianggap TRUE hanya jika satu operan tidak sama dengan yang lain. Dia memiliki satu interpretasi lagi - "! =".
SEPERTI
Terjemahkan kata kunci ini sebagai "serupa". Pernyataan LIKE di SQL digunakan kira-kira dengan cara yang sama - ia melakukan query pada template. Artinya, memungkinkan Anda untuk memperpanjang pemilihan data dari database menggunakan ekspresi reguler.
Misalnya, tugas berikut telah ditetapkan: dari basis "Karyawan" yang sudah dikenal, untuk mendapatkan semua orang yang namanya diakhiri dengan "Saya". Kemudian query bisa dituliskan sebagai berikut:
Pilih *
DARI Karyawan
MANA nama LIKE `% I`
Tanda persen dalam kasus ini berarti topeng, yaitu simbol dan nomor mereka. Dan dengan huruf "I" SQL akan menentukan bahwa karakter terakhir harus persis seperti ini.
KASUS
Pernyataan SQL Server ini adalah implementasi pilihan ganda. Ini menyerupai desain peralihan dalam banyak bahasa pemrograman. Pernyataan KASUS di SQL melakukan tindakan pada beberapa kondisi.
Misalnya, Anda harus memilih nilai maksimum dan minimum dari tabel "Gaji".
Kamar | Rate | Dibebankan |
1 | 1 | 10000 |
2 | 0.5 | 3500 |
Kemudian query bisa dituliskan sebagai berikut:
Pilih *
DARI Gaji
WHERE CASE WHEN SELECT MAX (Akhiri) KEMUDIAN Maksimum
SAAT PILIH MIN (Akrual) MAKA Minimum
Total AKHIR
Dalam konteks ini, sistem mencari nilai maksimum dan minimum di kolom "Akumulasi". Kemudian, dengan menggunakan END, bidang "total" dibuat, dimana "Maksimum" atau "Minimum" akan dicatat, tergantung pada hasil kondisinya.
Ngomong-ngomong, di SQL ada juga yang lebih kompak bentuk CASE - COALESCE.
Definisi Data Operator
Pandangan ini memungkinkan Anda membuat berbagai perubahan pada tabel - membuat, menghapus, memodifikasi, dan bekerja dengan indeks.
Yang pertama untuk dipertimbangkan adalah CREATE TABLE. Tidak ada apa-apa selain membuat meja. Jika Anda hanya mengetik CREATE TABLE, tidak ada yang terjadi, karena Anda masih perlu menentukan beberapa parameter.
Misalnya, untuk membuat tabel "Karyawan" yang sudah dikenal, Anda akan menggunakan perintah berikut:
MENCIPTAKAN TABEL Karyawan
(Nomor nomor (10) TIDAK NULL
Nama varchar (50) TIDAK NULL
Nama keluarga varchar (50) TIDAK NULL)
Dalam query ini, nama field dan tipe mereka langsung didefinisikan dalam tanda kurung, dan juga apakah itu bisa NULL.
DROP TABLE
Lakukan satu tugas sederhana - menghapus tabel yang ditentukan. Memiliki parameter tambahan IF EXISTS. Ini menyerap kesalahan saat dihapus, jika tabel tidak ada. Contoh penggunaan:
DROP TABEL Karyawan JIKA ADA.
MENCIPTAKAN INDEKS
SQL memiliki sistem indeks yang memungkinkan Anda untuk mempercepat akses data. Secara umum, ini adalah referensi yang mengarah ke kolom tertentu. Buat indeks bisa menjadi query sederhana:
MENCIPTAKAN INDEX index_name
ON tbl_name (column_name)
Operator ini digunakan di T-SQL, Oracle, PL SQL dan banyak interpretasi teknologi lainnya.
ALTER TABLE
Operator yang sangat fungsional dengan banyak pilihan. Secara umum, itu membuat perubahan dalam struktur, definisi dan penempatan tabel. Operator digunakan di Oracle SQL, Postgres dan banyak lainnya.
Di bawah ini Anda akan menemukan berbagai pilihan untuk menggunakan ALTER TABLE.
ADD. Menambahkan kolom ke meja. Sintaksnya adalah sebagai berikut: ALTER TABLE tbl_name ADD column_name data_type_type. Dapat memiliki parameter JIKA TIDAK ADA, yang menekan kesalahan jika kolom yang dibuat sudah ada;
DROP. Menghapus kolom Juga memiliki kunci IF EXISTS, tanpa kesalahan dihasilkan, menunjukkan bahwa kolom yang diperlukan hilang;
Ganti. Klik untuk mengganti nama field ke kolom yang ditentukan. Contoh penggunaan: ALTER TABLE tbl_name Ganti old_name new_name;
MODIFIKASI. Perintah ini akan membantu mengubah tipe dan atribut tambahan dari kolom tertentu. Dan ini digunakan seperti ini: ALTER TABLE tbl_name MODIFY column_name atribut data_type;
CREATE VIEW
Di SQL, ada hal seperti representasi. Singkatnya, ini adalah semacam tabel virtual dengan data. Ini terbentuk sebagai hasil sampling dengan menggunakan statemen SELECT SQL. Penayangan dapat membatasi akses ke database, menyembunyikannya, mengganti nama kolom yang sebenarnya.
Proses pembuatan dilakukan dengan query sederhana:
CREATE VIEW lihat nama AS SELECT FROM * table name
Sampel dapat terjadi baik keseluruhan database secara keseluruhan, dan untuk beberapa kondisi.
Sedikit tentang fungsi
Query SQL sering menggunakan berbagai fungsi built-in yang memungkinkan Anda berinteraksi dengan data dan mengkonversinya dengan cepat. Perlu mempertimbangkannya, karena ini merupakan bagian integral dari bahasa terstruktur.
COUNT. Menghitung catatan atau baris dalam tabel tertentu. Sebagai parameter, Anda bisa menentukan nama kolom, maka data akan diambil darinya. PILIH COUNT * DARI Karyawan;
AVG. Fungsi ini hanya berlaku untuk kolom dengan data numerik. Hasilnya adalah penentuan mean aritmetik dari semua nilai;
MIN dan MAX. Fungsi ini telah digunakan dalam artikel ini. Mereka menentukan nilai maksimum dan minimum dari kolom yang ditentukan;
SUM. Sederhana saja - fungsi menghitung jumlah nilai kolom. Ini digunakan secara eksklusif untuk tipe data numerik. Dengan menambahkan DISTINCT ke kueri, hanya nilai unik yang akan ditambahkan;
ROUND. Fungsi pembulatan angka pecahan desimal. Sintaksnya menggunakan nama kolom dan jumlah tempat desimal;
LEN. Fungsi sederhana yang menghitung panjang nilai kolom. Hasilnya adalah tabel baru dengan jumlah karakter;
Sekarang Kata kunci ini digunakan untuk menghitung tanggal dan waktu sekarang.
Operator Tambahan
Banyak contoh dengan pernyataan SQL memiliki kata kunci yang melakukan tugas kecil, namun tetap sangat menyederhanakan pengambilan sampel atau tindakan dengan database.
SEBAGAI. Ini digunakan saat Anda perlu memvisualisasikan hasilnya secara visual, menugaskan nama yang ditentukan ke tabel yang dihasilkan.
ANTARA. Alat yang sangat mudah digunakan untuk pengambilan sampel. Ini menunjukkan kisaran nilai di antara mana Anda ingin mengambil data. Masukan menerima parameter dari dan ke mana jumlah rentang yang digunakan;
TIDAK. Operator memberikan kebalikan dari ungkapan.
TRUNCATE. Menghapus data dari bagian database yang ditentukan. Ini berbeda dengan operator sejenis karena tidak mungkin memulihkan data setelah penggunaannya. Perlu dicatat bahwa penerapan kata kunci ini dalam berbagai interpretasi SQL mungkin berbeda. Karena itu, sebelum mencoba menggunakan TRUNCATE, lebih baik berkenalan dengan informasi referensi.
BATAS. Menetapkan jumlah baris ke output. Keunikan operator adalah dia selalu berada di akhir. Dibutuhkan satu parameter wajib dan satu parameter opsional. Yang pertama menentukan berapa banyak baris dengan data yang dipilih harus ditampilkan. Dan jika yang kedua digunakan, maka operator dipicu baik untuk kisaran nilai.
UNION. Operator yang sangat nyaman untuk menggabungkan beberapa permintaan. Dia sudah bertemu di antara contoh-contoh ini di artikel ini. Anda dapat menampilkan baris yang diperlukan dari beberapa tabel, menggabungkan UNION mereka untuk penggunaan yang lebih mudah. Sintaksnya adalah: SELECT column_name FROM tbl_name UNION SELECT name_of_other_column FROM_name dari tabel lainnya. Hasilnya adalah tabel ringkasan dengan query gabungan.
KUNCI PRIMER. Diterjemahkan sebagai "primary key". Sebenarnya, terminologi semacam itu digunakan dalam bahan referensi. Ini berarti pengenal unik untuk string. Ini digunakan, sebagai aturan, saat membuat tabel untuk menentukan bidang, yang akan berisinya.
DEFAULT. Sama seperti pernyataan sebelumnya, ini digunakan selama eksekusi query pembuatan. Ini menentukan nilai default yang akan diisi kolom saat membuatnya.
Beberapa tip untuk mengembangkan platform untuk bekerja dengan SQL
NULL. Pemula dan bukan hanya programmer sering lupa kemungkinan mendapatkan nilai NULL saat membuat query. Akibatnya, kesalahan merinding dalam kode, yang sulit dilacak saat melakukan debugging. Oleh karena itu, saat membuat tabel, memilih atau menghitung ulang nilai, Anda harus berhenti dan berpikir, dan apakah terjadinya NULL di bagian kueri ini diperhitungkan.
Memori Artikel ini menunjukkan beberapa fungsi yang bisa melakukan beberapa tugas. Saat mengembangkan shell untuk bekerja dengan database, Anda bisa "lebih besar daripada" perhitungan ungkapan sederhana pada sistem manajemen basis data. Dalam beberapa kasus, ini memberikan peningkatan kinerja yang signifikan.
Pembatasan Jika Anda perlu mendapatkan hanya dua dari database dengan ribuan baris, maka Anda harus menggunakan operator seperti LIMIT atau TOP. Anda tidak perlu mengekstrak data menggunakan bahasa pengembangan shell.
Koneksi Setelah menerima data dari beberapa tabel, banyak programmer mulai menggabungkannya dengan memori shell. Tapi kenapa? Setelah semua, Anda dapat membuat satu permintaan di mana semuanya akan hadir. Anda tidak perlu menulis kode tambahan dan menyimpan memori tambahan di sistem.
Sortasi. Jika ada kesempatan untuk menerapkan pemesanan dalam query, yaitu, mesin database, maka Anda perlu menggunakannya. Ini akan menghemat sumber daya secara signifikan saat menjalankan program atau layanan.
Banyak permintaan. Jika Anda harus memasukkan banyak catatan secara berurutan, maka untuk optimasi, Anda harus memikirkan penyisipan data paket dengan satu query. Ini juga akan meningkatkan kinerja keseluruhan sistem.
Penempatan data secara bijaksana. Sebelum menyusun struktur database, Anda perlu memikirkan apakah perlu memiliki banyak tabel dan kolom. Mungkin ada cara untuk menyatukan mereka atau menyerah. Sangat sering, programmer menggunakan jumlah data yang berlebihan yang tidak akan pernah digunakan dimanapun.
Jenis. Untuk menghemat ruang dan sumber daya, Anda harus peka terhadap jenis data yang digunakan. Jika memungkinkan untuk menggunakan jenis memori "berat" yang kurang, maka perlu menerapkannya. Misalnya, jika Anda tahu bahwa di bidang ini nilai numerik tidak akan melebihi 255, lalu mengapa menggunakan INT 4 byte jika ada TINYINT dalam 1 byte.
Kesimpulan
Sebagai kesimpulan, perlu dicatat bahwa bahasa query SQL terstruktur sekarang digunakan hampir di semua tempat - situs, layanan web, program PC, aplikasi untuk perangkat mobile. Oleh karena itu, pengetahuan tentang SQL akan membantu semua industri pembangunan.
Pada saat bersamaan, modifikasi standar bahasa asli terkadang berbeda satu sama lain. Sebagai contoh, pernyataan SQL PL mungkin memiliki sintaks yang berbeda daripada di SQL Server. Karena itu, sebelum Anda mulai berkembang dengan teknologi ini, ada baiknya membaca manual di dalamnya.
Di masa depan, analog yang bisa mengungguli fungsi dan kinerja SQL sepertinya tidak akan muncul, jadi area ini adalah ceruk yang cukup menjanjikan bagi programmer manapun.
Similar articles
Trending Now