Operator bahasa penyisipan sql dirancang untuk. Pernyataan SQL dasar. Sintaks dan contoh penggunaan pernyataan SELECT. Operator penurunan indeks

Standar bahasa SQL diadopsi pada tahun 1992 dan masih digunakan sampai sekarang. Inilah yang menjadi standar bagi banyak orang. Tentu saja, beberapa produsen menggunakan interpretasi standar mereka sendiri. Tetapi sistem apa pun masih memiliki komponen utama - pernyataan SQL.

Perkenalan

Menggunakan pernyataan SQL, nilai dan tabel dikelola dan diperoleh untuk analisis dan tampilan lebih lanjut. Mereka adalah sekumpulan kata kunci yang digunakan sistem untuk memahami apa yang harus dilakukan dengan data.

Beberapa kategori pernyataan SQL didefinisikan:

  • mendefinisikan objek database;
  • manipulasi nilai;
  • perlindungan dan pengendalian;
  • parameter sesi;
  • informasi tentang basis data;
  • SQL statis;
  • SQL dinamis.

Pernyataan SQL untuk manipulasi data

MENYISIPKAN. Menyisipkan baris ke dalam tabel yang sudah ada. Dapat digunakan untuk satu atau beberapa nilai, yang ditentukan oleh kondisi tertentu. Misalnya:

nama tabel (nama kolom 1, nama kolom 2)

NILAI(nilai 1, nilai 2).

Untuk menggunakan pernyataan INSERT pada beberapa nilai, gunakan sintaks berikut:

nama tabel 1 (nama kolom 1, nama kolom 2)

PILIH nama kolom 1, nama kolom 2

DARI nama tabel 2

WHERE nama tabel 2.nama kolom 1>2

Kueri ini akan memilih semua data dari tabel 2 yang lebih besar dari 2 di kolom 1 dan memasukkannya ke yang pertama.

MEMPERBARUI. Seperti namanya, pernyataan kueri SQL ini memperbarui data dalam tabel yang ada berdasarkan fitur tertentu.

PERBARUI nama tabel 1

SET nama kolom 2 = "Vasily"

WHERE nama tabel 1.nama kolom 1 = 1

Konstruksi ini akan mengisi dengan nilai Vasily semua baris yang bertemu dengan angka 1 pada kolom pertama.

Data dari tabel. Anda dapat menentukan kondisi atau menghapus semua baris.

HAPUS DARI nama tabel

WHERE nama tabel.nama kolom 1 = 1

Kueri di atas akan menghapus semua data dari database dengan nilai satu di kolom pertama. Berikut cara menghapus seluruh tabel:

pernyataan PILIH

Tujuan utama SELECT adalah memilih data menurut kondisi tertentu. Hasil karyanya selalu berupa tabel baru dengan data terpilih. Operator MS dapat digunakan dalam berbagai query yang berbeda. Oleh karena itu, bersamaan dengan itu, Anda dapat mempertimbangkan kata kunci terkait lainnya.

Untuk memilih semua data dari tabel tertentu, gunakan tanda “*”.

DARI nama tabel 1

Hasil kueri ini akan menjadi salinan persis tabel 1.

Dan di sini pemilihan dilakukan menggunakan kondisi WHERE, yang mengambil dari tabel 1 semua nilai yang lebih besar dari 2 di kolom 1.

DARI nama tabel 1

WHERE nama tabel 1.nama kolom 1 > 2

Anda juga dapat menentukan dalam pilihan bahwa hanya kolom tertentu yang diperlukan.

PILIH nama tabel 1.nama kolom 1

DARI nama tabel 1

Hasil dari kueri ini adalah semua baris dengan nilai dari kolom 1. Menggunakan operator MS SQL, Anda dapat membuat tabel sendiri, mengganti, menghitung, dan mengganti nilai tertentu dengan cepat.

nama tabel 1. nama kolom 1

nama tabel 1. nama kolom 2

nama tabel 1.nama kolom 3

nama tabel 1.nama kolom 2 * nama tabel 1.nama kolom 3 SEBAGAI SUMMA

DARI nama tabel 1

Kueri yang tampaknya rumit ini mengambil semua nilai dari Tabel 1, lalu membuat kolom baru EQ dan SUMMA. Yang pertama diisi dengan tanda “+”, dan yang kedua adalah hasil perkalian data dari kolom 2 dan 3. Hasil yang diperoleh dapat disajikan dalam bentuk tabel untuk memahami cara kerjanya:

Saat menggunakan pernyataan SELECT, Anda dapat langsung mengurutkan data menurut kriteria apa pun. Kata ORDER BY digunakan untuk ini.

nama tabel 1. nama kolom 1

nama tabel 1. nama kolom 2

nama tabel 1.nama kolom 3

DARI nama tabel 1

ORDER BY nama kolom 2

Tabel yang dihasilkan akan terlihat seperti ini:

Artinya, semua baris diatur sedemikian rupa sehingga di kolom 2 nilainya berada dalam urutan menaik.

Data juga dapat diperoleh dari beberapa tabel. Untuk lebih jelasnya, pertama-tama Anda perlu membayangkan ada dua di antaranya di database, kira-kira seperti ini:

Tabel "Karyawan"

Tabel "Gaji"

Sekarang kita perlu menghubungkan kedua tabel ini untuk mendapatkan nilai yang sama. Dengan menggunakan pernyataan SQL dasar, Anda dapat melakukannya seperti ini:

Karyawan.Nomor

Karyawan.Nama

Gaji. Tarif

Gaji

DARI Karyawan, Gaji

DIMANA Karyawan.Nomor = Gaji.Nomor

Di sini kita memilih dari dua tabel nilai berbeda, digabungkan berdasarkan angka. Hasilnya adalah kumpulan data berikut:

Sedikit lebih banyak tentang PILIH. Menggunakan Fungsi Agregat

Salah satu operator utama dapat melakukan beberapa penghitungan saat mengambil. Untuk melakukan ini, ia menggunakan fungsi dan rumus tertentu.

Misalnya, untuk mendapatkan jumlah record dari tabel Employees, Anda perlu menggunakan query:

PILIH JUMLAH (*) SEBAGAI N

DARI Karyawan

Hasilnya adalah tabel dengan satu nilai dan satu kolom.

Anda dapat menjalankan kueri seperti ini dan melihat apa yang terjadi:

SUM(Gaji. Masih Harus Dibayar) SEBAGAI SUMMA

MAX(Gaji. Masih Harus Dibayar) SEBAGAI MAX

MIN (Gaji. Masih Harus Dibayar) SEBAGAI MIN

AVG (Gaji. Masih Harus Dibayar) SEBAGAI SRED

DARI Gaji

Tabel terakhirnya akan seperti ini:

Dengan cara ini, Anda dapat memilih nilai yang diinginkan dari database, menghitung berbagai fungsi dengan cepat.

Persatuan, persimpangan dan perbedaan

Gabungkan beberapa kueri dalam SQL

PILIH Karyawan.Nama

DARI Karyawan

DIMANA Karyawan.Nomor = 1

PILIH Karyawan.Nama

DARI Karyawan, Gaji

DIMANA Gaji.Nomor = 1

Perlu diingat bahwa dengan penyatuan seperti itu, tabel harus kompatibel. Artinya, memiliki jumlah kolom yang sama.

Sintaks pernyataan SELECT dan urutan pemrosesan

Hal pertama yang dilakukan SELECT adalah menentukan area dari mana data akan diambil. Kata kunci FROM digunakan untuk ini. Jika tidak disebutkan apa yang harus dipilih.

Maka klausa SQL WHERE mungkin ada. Dengan bantuannya, SELECT menjalankan semua baris tabel dan memeriksa kepatuhan data dengan kondisi.

Jika kueri berisi GROUP BY, maka nilainya dikelompokkan berdasarkan parameter yang ditentukan.

Operator untuk membandingkan data

Ada beberapa jenis. Di SQL, operator perbandingan dapat menguji berbagai jenis nilai.

    "=". Menunjukkan, seperti yang Anda duga, persamaan dua ekspresi. Misalnya sudah digunakan pada contoh di atas - WHERE Gaji.Nomor = 1.

    ">". Tanda lebih lanjut. Jika nilai sisi kiri ekspresi lebih besar, maka logika TRUE dikembalikan dan kondisi dianggap terpenuhi.

    «<». Знак меньше. Обратный предыдущему оператор.

    Tanda "<=» и «>=". Berbeda dengan operator more and less sederhana, jika operannya sama, maka kondisinya juga akan benar.

MENYUKAI

Kata kunci ini dapat diterjemahkan sebagai “serupa”. Operator LIKE di SQL digunakan dengan cara yang kira-kira sama - operator ini mengeksekusi kueri berdasarkan templat. Artinya, ini memungkinkan Anda untuk memperluas pilihan data dari database menggunakan ekspresi reguler.

Misalnya, tugas berikut telah ditetapkan: dari database “Karyawan” yang sudah dikenal, dapatkan semua orang yang namanya diakhiri dengan “I”. Maka querynya bisa ditulis seperti ini:

DARI Karyawan

DIMANA Nama SEPERTI `%i`

Tanda persen dalam hal ini berarti topeng, yaitu karakter apa saja dan nomornya. Dan dengan huruf “I”, SQL akan menentukan bahwa karakter terakhir harus persis seperti ini.

KASUS

Pernyataan SQL Server ini merupakan implementasi dari pilihan ganda. Ini mengingatkan pada konstruksi saklar di banyak bahasa pemrograman. Pernyataan CASE di SQL melakukan tindakan berdasarkan beberapa kondisi.

Misalnya, Anda perlu memilih nilai maksimum dan minimum dari tabel “Gaji”.

Maka querynya bisa ditulis seperti ini:

DARI Gaji

DI MANA KASUS KETIKA PILIH MAX(Accrued) MAKA Maksimum

KETIKA PILIH MIN (Masih harus dibayar) MAKA Minimum

Dalam konteks ini, sistem mencari nilai maksimum dan minimum pada kolom Accrued. Kemudian, dengan menggunakan END, kolom “total” dibuat, di mana “Maksimum” atau “Minimum” akan dimasukkan, tergantung pada hasil kondisinya.

Omong-omong, SQL juga memiliki bentuk CASE - COALESCE yang lebih ringkas.

Operator Definisi Data

Tampilan ini memungkinkan Anda melakukan berbagai modifikasi pada tabel - membuat, menghapus, memodifikasi, dan bekerja dengan indeks.

Yang pertama patut dipertimbangkan adalah CREATE TABLE. Itu tidak lebih dari membuat tabel. Jika Anda cukup mengetikkan kueri CREATE TABLE, tidak akan terjadi apa-apa, karena Anda masih perlu menentukan beberapa parameter.

Misalnya, untuk membuat tabel “Karyawan” yang sudah familiar, Anda perlu menggunakan perintah:

BUAT TABEL Karyawan

(Nomor(10) BUKAN NULL

Nama varchar(50) BUKAN NULL

Nama belakang varchar(50) BUKAN NULL)

Dalam kueri ini, nama bidang dan tipenya segera ditentukan dalam tanda kurung, serta apakah bisa sama dengan NULL.

JATUHKAN MEJA

Melakukan satu tugas sederhana - menghapus tabel yang ditentukan. Memiliki parameter tambahan JIKA ADA. Ini menyerap kesalahan jatuh jika tabel yang Anda cari tidak ada. Contoh penggunaan:

DROP TABLE Karyawan JIKA ADA.

BUAT INDEKS

SQL memiliki sistem indeks yang memungkinkan Anda mempercepat akses data. Secara umum, ini adalah tautan yang mengarah ke kolom tertentu. Anda dapat membuat indeks dengan kueri sederhana:

BUAT INDEKS nama_indeks

PADA nama_tabel(nama_kolom)

Operator ini digunakan di T-SQL, Oracle, PL SQL dan banyak teknologi interpretasi lainnya.

MENGUBAH TABEL

Operator yang sangat fungsional dengan banyak pilihan. Secara umum mengubah struktur, definisi dan penempatan tabel. Operator yang digunakan di Oracle SQL, Postgres dan banyak lainnya.

    MENAMBAHKAN. Menambahkan kolom ke tabel. Sintaksnya adalah sebagai berikut: ALTER TABLE nama_tabel ADD nama_kolom yang disimpan_tipe_data. Mungkin memiliki opsi IF NOT EXISTS untuk menekan kesalahan jika kolom yang dibuat sudah ada;

    MENJATUHKAN. Menghapus kolom. Ia juga memiliki kunci IF EXISTS, yang tanpanya kesalahan akan dihasilkan yang menunjukkan bahwa kolom yang diperlukan tidak ada;

    MENGUBAH. Berfungsi untuk mengganti nama field menjadi yang ditentukan. Contoh penggunaan: ALTER TABLE nama_tabel GANTI nama_lama nama_baru;

    MEMODIFIKASI. Perintah ini akan membantu Anda mengubah jenis dan atribut tambahan pada kolom tertentu. Dan digunakan seperti ini: ALTER TABLE nama_tabel MODIFY nama_kolom atribut tipe_data;

BUAT TAMPILAN

Di SQL ada yang namanya tampilan. Singkatnya, ini adalah semacam tabel virtual dengan data. Itu terbentuk sebagai hasil seleksi menggunakan pernyataan SQL SELECT. Tampilan dapat membatasi akses ke database, menyembunyikannya, dan mengganti nama kolom sebenarnya.

Proses pembuatannya dilakukan dengan permintaan sederhana:

BUAT LIHAT nama tampilan SEBAGAI SELECT FROM * nama tabel

Pengambilan sampel dapat terjadi baik dari keseluruhan database atau berdasarkan kondisi tertentu.

Sedikit tentang fungsinya

Kueri SQL sering kali menggunakan berbagai fungsi bawaan yang memungkinkan Anda berinteraksi dengan data dan mengubahnya dengan cepat. Penting untuk mempertimbangkannya karena merupakan bagian integral dari bahasa terstruktur.

    MENGHITUNG. Menghitung catatan atau baris dalam tabel tertentu. Anda dapat menentukan nama kolom sebagai parameter, kemudian data akan diambil darinya. PILIH JUMLAH * DARI Karyawan;

    Rata-rata. Hanya berlaku untuk kolom dengan data numerik. Hasilnya adalah penentuan mean aritmatika dari semua nilai;

    MIN dan maks. Fungsi-fungsi ini telah digunakan dalam artikel ini. Mereka menentukan nilai maksimum dan minimum dari kolom tertentu;

    JUMLAH. Sederhana saja - fungsinya menghitung jumlah nilai kolom. Berlaku khusus untuk data numerik. Dengan menambahkan parameter DISTINCT ke kueri, hanya nilai unik yang akan dijumlahkan;

    BULAT. Berfungsi untuk membulatkan pecahan desimal. Sintaksnya menggunakan nama kolom dan jumlah tempat desimal;

    LEN. Fungsi sederhana yang menghitung panjang nilai kolom. Hasilnya akan berupa tabel baru yang menunjukkan jumlah karakter;

    SEKARANG. Kata kunci ini digunakan untuk menghitung tanggal dan waktu saat ini.

Operator Tambahan

Banyak contoh pernyataan SQL memiliki kata kunci yang melakukan tugas-tugas kecil namun masih sangat menyederhanakan pengambilan atau manipulasi database.

    SEBAGAI. Ini digunakan ketika Anda perlu memformat hasilnya secara visual dengan memberikan nama tertentu ke tabel yang dihasilkan.

    DI ANTARA. Alat pengambilan sampel yang sangat nyaman. Ini menentukan rentang nilai di mana data akan diambil. Dibutuhkan sebagai input parameter dari dan ke nomor berapa rentang yang digunakan;.

    BUKAN. Operator memberikan ekspresi kebalikannya.

    MEMOTONG. Menghapus data dari bagian tertentu dari database. Ini berbeda dari operator serupa karena tidak mungkin memulihkan data setelah menggunakannya. Perlu dipertimbangkan bahwa penerapan kata kunci ini dalam interpretasi SQL yang berbeda mungkin berbeda. Oleh karena itu, sebelum mencoba menggunakan TRUNCATE, ada baiknya membaca informasi bantuan.

    MEMBATASI. Menetapkan jumlah baris yang akan dikeluarkan. Keunikan operator adalah letaknya selalu di ujung. Menerima satu parameter wajib dan satu parameter opsional. Yang pertama menentukan berapa banyak baris data yang dipilih yang harus ditampilkan. Dan jika yang kedua digunakan, maka operator berfungsi untuk rentang nilai.

    SERIKAT. Operator yang sangat nyaman untuk menggabungkan beberapa kueri. Contohnya telah ditemukan di artikel ini. Anda dapat menampilkan baris yang diinginkan dari beberapa tabel dengan menggabungkannya dengan UNION agar lebih nyaman digunakan. Sintaksnya adalah sebagai berikut: SELECT nama_kolom FROM nama_tabel UNION SELECT nama_kolom lain DARI nama_tabel_lainnya. Hasilnya adalah tabel pivot dengan kueri gabungan.

    KUNCI UTAMA. Diterjemahkan sebagai "kunci utama". Faktanya, terminologi inilah yang digunakan dalam bahan referensi. Itu berarti pengidentifikasi baris unik. Biasanya digunakan saat membuat tabel untuk menunjukkan bidang yang akan memuatnya.

    BAWAAN. Sama seperti operator sebelumnya, ini digunakan selama eksekusi permintaan pembuatan. Ini mendefinisikan nilai default yang akan digunakan untuk mengisi bidang saat dibuat.

    BATAL. Pemula dan bukan hanya programmer, ketika menulis query, sering kali melupakan kemungkinan mendapatkan nilai NULL. Akibatnya, kesalahan menyusup ke dalam kode, yang sulit dilacak selama proses debug. Oleh karena itu, saat membuat tabel, memilih atau menghitung ulang nilai, Anda perlu berhenti dan memikirkan apakah kemunculan NULL di bagian kueri ini diperhitungkan.

    Ingatan. Artikel ini menunjukkan beberapa fungsi yang dapat melakukan beberapa tugas. Saat mengembangkan shell untuk bekerja dengan database, Anda dapat melakukan outsourcing penghitungan ekspresi sederhana ke sistem manajemen database. Dalam beberapa kasus, hal ini memberikan peningkatan kinerja yang signifikan.

    Pembatasan. Jika Anda hanya ingin mendapatkan dua baris dari database dengan ribuan baris, maka Anda harus menggunakan operator seperti LIMIT atau TOP. Tidak perlu mengekstrak data menggunakan bahasa pengembangan shell.

    Menggabungkan. Setelah menerima data dari beberapa tabel, banyak programmer mulai menyatukannya menggunakan memori shell. Tapi kenapa? Lagi pula, Anda dapat membuat satu permintaan yang berisi semua ini. Tidak perlu menulis kode tambahan dan mencadangkan memori tambahan di sistem.

    Penyortiran. Jika memungkinkan untuk menerapkan pengurutan dalam kueri, yaitu menggunakan DBMS, maka Anda perlu menggunakannya. Ini akan memungkinkan Anda 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 untuk memasukkan data secara batch dengan satu permintaan. Hal ini juga akan meningkatkan kinerja keseluruhan sistem secara keseluruhan.

    Penempatan data yang bijaksana. Sebelum mengkompilasi struktur database, Anda perlu memikirkan apakah diperlukan begitu banyak tabel dan kolom. Mungkin ada cara untuk menggabungkannya atau membuangnya. Seringkali pemrogram menggunakan data dalam jumlah berlebihan yang tidak akan pernah digunakan di mana pun.

    Jenis. Untuk menghemat ruang dan sumber daya, Anda harus peka terhadap jenis data yang Anda gunakan. Jika memungkinkan untuk menggunakan tipe yang tidak terlalu “berat” untuk memori, maka sebaiknya gunakanlah. Misalnya, jika Anda mengetahui bahwa nilai numerik dalam bidang tertentu tidak akan melebihi 255, lalu mengapa menggunakan INT 4-byte jika ada TINYINT 1-byte.

Kesimpulan

Sebagai kesimpulan, perlu dicatat bahwa bahasa kueri terstruktur SQL sekarang digunakan hampir di mana-mana - situs web, layanan web, program PC, aplikasi untuk perangkat seluler. Oleh karena itu, pengetahuan tentang SQL akan membantu semua cabang pembangunan.

Namun modifikasi standar bahasa aslinya terkadang berbeda satu sama lain. Misalnya, pernyataan PL SQL mungkin memiliki sintaks yang berbeda dari pada SQL Server. Oleh karena itu, sebelum Anda mulai mengembangkan teknologi ini, ada baiknya membaca tutorialnya.

Di masa depan, analog yang dapat melampaui SQL dalam hal fungsionalitas dan kinerja tidak mungkin muncul, jadi area ini merupakan ceruk yang cukup menjanjikan bagi programmer mana pun.

Operator O adalah kata atau simbol khusus yang digunakan terutama di WHERE dan memberikan pernyataan SQL untuk melakukan operasi seperti operasi perbandingan dan aritmatika.

Operator digunakan untuk mendefinisikan kondisi dalam SQL dan berfungsi sebagai gabungan untuk beberapa kondisi dalam sebuah pernyataan.

  • Operator aritmatika
  • Operator Perbandingan
  • Operator logika
  • Operator digunakan untuk meniadakan suatu kondisi

Operator aritmatika dalam SQL:

Misalkan variabelnya A sama dengan 10, dan variabel B sama dengan 20, maka:

Operator perbandingan dalam SQL:

Misalkan variabel a sama dengan 10 dan variabel b sama dengan 20, maka:

operatorKeterangancontoh
= Mengecek apakah nilai kedua operan sama atau tidak, jika iya maka kondisi menjadi benar.(a = b) tidak benar.
!= (a != b) benar.
<> Mengecek apakah nilai kedua operan sama atau tidak; jika nilainya tidak sama maka kondisi menjadi benar.(A<>b) benar.
> Mengecek apakah nilai operan kiri lebih besar dari nilai operan kanan, jika iya maka kondisi menjadi benar.(a > b) tidak benar.
< Mengecek apakah nilai operan kiri lebih kecil dari nilai operan kanan, jika iya maka kondisi menjadi benar.(A< b) истинно.
> = Menguji apakah nilai operan kiri lebih besar atau sama dengan nilai operan kanan, jika iya maka kondisi menjadi benar.(a >= b) salah.
<= Mengecek apakah nilai operan kiri lebih kecil atau sama dengan nilai operan kanan, jika iya maka kondisi menjadi benar.(A<= b) истинно.
Mengecek apakah nilai operan kiri tidak kurang dari nilai operan kanan, jika iya maka kondisi menjadi benar.(A!< b) неверно.
!> Mengecek apakah nilai operan kiri tidak lebih besar dari nilai operan kanan, jika iya maka kondisi menjadi benar.(a! > b) benar.

Operator logika dalam SQL:

Berikut adalah daftar semua operator logika yang tersedia di SQL.

operatorKeterangan
SEMUAOperator ALL digunakan untuk membandingkan suatu nilai untuk semua nilai pada kumpulan nilai lainnya.
DANOperator AND memungkinkan adanya beberapa kondisi dalam pernyataan SQL WHERE.
SETIAPOperator APAPUN digunakan untuk membandingkan nilai apa pun yang berlaku dalam daftar menurut kondisi.
DI ANTARAOperator BETWEEN digunakan untuk mencari nilai yang berada dalam suatu himpunan nilai, dengan diberi nilai minimum dan nilai maksimum.
ADAOperator EXISTS digunakan untuk mencari keberadaan suatu baris pada tabel tertentu yang memenuhi kriteria tertentu.
DI DALAMOperator IN digunakan untuk membandingkan suatu nilai dalam daftar nilai literal yang telah ditentukan.
MENYUKAIOperator LIKE digunakan untuk membandingkan nilai serupa menggunakan operator wildcard.
BUKANOperator NOT mengubah arti dari operator logika yang digunakannya. Misal : TIDAK ADA, TIDAK ANTARA, TIDAK DALAM, dsb. Operator menyangkal hal ini.
ATAUOperator OR digunakan untuk menggabungkan beberapa kondisi dalam pernyataan SQL WHERE.
ADALAH BATALOperator NULL digunakan untuk membandingkan suatu nilai dengan nilai NULL.
UNIKOperator tunggal mencari keunikan setiap baris dari tabel yang ditentukan (tidak ada duplikat).

Dan di atas data tabel.

Bahasa SQL disebut bawaan, Karena Ini berisi fungsi bahasa pengembangan lengkap, dan berfokus pada akses data, sehingga merupakan bagian dari alat pengembangan aplikasi. Standar bahasa SQL mendukung bahasa pemrograman Pascal, Fortran, COBOL, C, dll.

Ada 2 Metode Menggunakan SQL Tertanam:

  • statis penggunaan bahasa ( SQL statis) – teks program berisi panggilan ke fungsi SQL, yang disertakan dalam modul yang dapat dieksekusi setelah kompilasi.
  • dinamis penggunaan bahasa ( SQL dinamis) – konstruksi dinamis pemanggilan fungsi SQL dan interpretasinya. Misalnya, Anda dapat mengakses data dari database jarak jauh selama eksekusi program.

Bahasa SQL (seperti bahasa lain untuk bekerja dengan database) dirancang untuk menyiapkan dan mengeksekusi kueri. Sebagai hasil dari mengeksekusi query data dari satu atau lebih tabel, sekumpulan record diperoleh, yang disebut presentasi.

Definisi 1

Pertunjukan adalah tabel yang terbentuk sebagai hasil eksekusi query.

Operator Bahasa Kueri SQL Dasar

Operator bahasa SQL secara kondisional dibagi menjadi 2 subbahasa:

  1. Bahasa Definisi Data HAL-HAL;
  2. Bahasa manipulasi data DML.

Di tabel, mereka ditandai dengan * operator tertentu bahasa.

Mari kita lihat pernyataan SQL yang paling penting.

    Pernyataan pembuatan tabel:

    Nama tabel yang sedang dibuat dan nama minimal satu kolom (field) adalah operan yang wajib diisi. Untuk nama kolom, Anda harus menentukan jenis data yang akan disimpan di dalamnya.

    Untuk masing-masing bidang, Anda dapat menentukan aturan tambahan untuk mengontrol nilai yang dimasukkan ke dalamnya. Misalnya, BUKAN BATAL menunjukkan bahwa bidang tersebut tidak boleh kosong dan harus diisi dengan nilai.

    Contoh 1

    Untuk membuat tabel buku katalog buku, yang berisi bidang:

    jenis– jenis buku,

    nama- judul buku,

    harga– harga buku

    pernyataannya mungkin terlihat seperti ini:

    Operator untuk mengubah struktur tabel:

    Saat mengubah struktur tabel, Anda dapat menambahkan ( MENAMBAHKAN), mengubah ( MEMODIFIKASI) atau hapus ( MENJATUHKAN) satu atau lebih kolom tabel. Aturan pencatatan operator ini sama dengan aturan operator BUAT TABEL. Untuk menghapus kolom Anda tidak perlu menentukannya.

    Contoh 2

    Untuk menambahkan ke tabel buku bidang nomor, di mana jumlah buku akan disimpan, Anda dapat menulis operatornya:

    Operator jatuhkan meja:

    Contoh 3

    Misalnya, untuk menghapus nama tabel yang sudah ada buku cukup menggunakan operator:

    Operator pembuatan indeks:

    Operator membuat indeks pada satu atau lebih kolom tabel tertentu, yang dapat mempercepat operasi kueri dan pencarian. Beberapa indeks dapat dibuat untuk satu tabel.

    Opsi opsional UNIK bertanggung jawab untuk memastikan bahwa nilai di semua kolom yang ditentukan dalam pernyataan itu unik.

    A.S.C. mengatur nilai dalam kolom untuk diurutkan secara otomatis dalam urutan menaik (default), dan DESK– dalam urutan menurun.

    Operator penurunan indeks:

    Lihat operator pembuatan:

    Saat membuat tampilan, Anda tidak perlu menentukan nama kolom. Kemudian nama kolom dari kueri, yang dijelaskan oleh operator terkait, akan digunakan MEMILIH.

    Lihat operator penghapusan:

    Operator pemilihan rekaman:

    Operator MEMILIH melakukan pengambilan sampel dan perhitungan pada data dari satu atau lebih tabel. Hasil dari eksekusi operator adalah tabel respon yang berisi ( SEMUA) atau tidak mengandung ( BERBEDA) baris yang diulang.

    Operan DARI berisi daftar tabel dari mana catatan diambil untuk pemilihan data.

    Operator modifikasi rekaman:

    Nilai bidang baru dalam catatan mungkin tidak berisi nilai ( BATAL) atau dihitung berdasarkan ekspresi aritmatika.

    Operator untuk memasukkan record baru:

    Dalam catatan operator pertama MENYISIPKAN Catatan baru dimasukkan dengan nilai tertentu di kolom.

    Dalam catatan operator kedua MENYISIPKAN baris baru dimasukkan, dipilih dari tabel lain melalui klausa MEMILIH.

    Operator penghapusan catatan:

    Sebagai hasil dari eksekusi operator, baris yang memenuhi kondisi yang ditentukan oleh operan opsional akan dihapus dari tabel yang ditentukan DI MANA. Jika operan DI MANA tidak ditentukan, semua catatan tabel dihapus.

Bahasa kueri terstruktur Structure Query Language (SQL) dibuat sebagai hasil pengembangan model data relasional dan saat ini menjadi bahasa standar de facto untuk DBMS relasional. Bahasa SQL saat ini didukung oleh sejumlah besar DBMS dari berbagai jenis.

Nama bahasa SQL biasanya diucapkan “es-qu-el”. Terkadang nama mnemonik "See-Quel" digunakan.

Bahasa SQL memberi pengguna (dengan sedikit usaha) kemampuan berikut:

Buat database dan tabel dengan deskripsi lengkap tentang strukturnya

Lakukan operasi manipulasi data dasar: memasukkan, mengubah, menghapus data

Jalankan kueri sederhana dan kompleks.

Bahasa SQL relatif lengkap.

Struktur dan sintaks perintahnya cukup sederhana, dan bahasanya sendiri bersifat universal, yaitu sintaksis dan struktur perintahnya tidak berubah ketika berpindah dari satu DBMS ke DBMS lainnya.

Bahasa SQL memiliki dua komponen utama:

DDL (Data Definition Language) untuk mendefinisikan struktur database dan mengontrol akses ke data

Bahasa DML (Data Manipulation Language) dirancang untuk mengambil dan memperbarui data.

SQL merupakan bahasa non-prosedural, artinya ketika Anda menggunakannya, Anda harus menentukan informasi apa yang harus diperoleh, bukan bagaimana cara memperolehnya. Perintah SQL adalah kata-kata bahasa Inggris biasa (SELECT, INSERT, dll.). Mari kita lihat pernyataan SQL DML terlebih dahulu:

SELECT - memilih data dari database

INSERT - memasukkan data ke dalam tabel

UPDATE - memperbarui data dalam tabel

DELETE - menghapus data dari tabel

pernyataan PILIH

Operator SELECT melakukan tindakan yang setara dengan operasi aljabar relasional berikut: seleksi, proyeksi, dan penggabungan.

Kueri SQL paling sederhana yang menggunakannya terlihat seperti ini:

PILIH col_name DARI tbl

Kata kunci pilih diikuti dengan daftar kolom yang dipisahkan koma yang datanya akan dikembalikan oleh kueri. Kata kunci from menentukan dari tabel (atau tampilan) mana data diambil.

Hasil dari kueri pemilihan selalu berupa tabel yang disebut tabel hasil. Selain itu, hasil query yang dieksekusi menggunakan pernyataan pilih dapat digunakan untuk membuat tabel baru. Jika hasil dua query pada tabel berbeda memiliki format yang sama, Anda bisa menggabungkannya menjadi satu tabel. Selain itu, tabel yang diperoleh sebagai hasil kueri dapat menjadi subjek kueri lebih lanjut.

Untuk memilih semua kolom dan semua baris tabel, cukup keluarkan perintah SELECT * FROM tbl;

Perhatikan tabel Produk yang berisi informasi harga berbagai jenis produk:

Hasil permintaan

PILIH * DARI Produk;

akan menjadi seluruh tabel Produk.

Anda dapat memilih kolom tabel tertentu menggunakan kueri

PILIH col1, col2, … , kolom DARI tbl;

Jadi, hasil permintaannya

PILIH Jenis, Harga DARI Produk;

akan ada meja

Daftar kolom dalam pernyataan pilih juga digunakan jika perlu mengubah urutan kolom dalam tabel yang dihasilkan:

Untuk memilih hanya baris tabel yang memenuhi batasan tertentu, kata kunci khusus dimana digunakan, diikuti dengan kondisi logis. Jika suatu record memenuhi kondisi ini, maka record tersebut akan disertakan dalam hasil. Jika tidak, entri tersebut akan dibuang.

Misalnya, memilih produk-produk dari tabel Produk yang harganya memenuhi kondisi Harga<3200, можно осуществить, используя запрос

PILIH * DARI Produk dimana Harganya<3200;

Hasilnya:

Kondisi tersebut dapat digabungkan dan digabungkan dengan menggunakan operator logika NOT , AND, OR, XOR, contoh: dimana id_ Price>500 AND Price<3500. Допускается также использование выражений в условии: where Price>(1+1) dan konstanta string: di mana nama= "berat otomatis".

Menggunakan konstruksi BETWEEN var1 AND var2 memungkinkan Anda memeriksa apakah nilai ekspresi apa pun berada dalam rentang dari var1 hingga var2 (termasuk nilai-nilai ini):

PILIH * DARI Produk yang Harganya ANTARA 3000 DAN 3500;

Mirip dengan operator NOT BETWEEN, ada operator NOT IN.

Nama kolom yang ditentukan dalam klausa SELECT dapat diganti namanya. Untuk ini, kata kunci AS digunakan, namun dapat dihilangkan karena tersirat secara implisit. Misalnya, permintaan

PILIH Model tipe AS, Tipe_id AS nomor DARI Produk dengan Type_id =3

akan kembali (nama alias harus ditulis tanpa tanda kutip):

Operator LIKE dirancang untuk membandingkan string dengan pola:

PILIH * DARI tbl dimana col_name SEPERTI "abc"

Kueri ini hanya mengembalikan rekaman yang berisi nilai string abc di kolom col_name.

Sampel diperbolehkan menggunakan dua karakter wildcard: "_" dan "%". Yang pertama menggantikan satu karakter arbitrer dalam templat, dan yang kedua menggantikan serangkaian karakter arbitrer. Jadi, "abc%" cocok dengan string apa pun yang dimulai dengan abc, "abc_" cocok dengan string 4 karakter yang dimulai dengan abc, "%z" cocok dengan string apa pun yang diakhiri dengan z, dan terakhir, "%z%" - rangkaian karakter yang mengandung z.

Anda dapat menemukan semua rekaman tabel Produk yang nilai Tipenya dimulai dengan huruf "a" seperti ini:

PILIH * DARI Produk yang Ketik LIKE "a%";

timbangan truk

Jika string pencarian berisi karakter wildcard, maka Anda harus menentukan karakter escape di klausa ESCAPE. Karakter kontrol ini harus digunakan dalam pola sebelum karakter wildcard, yang menunjukkan bahwa karakter wildcard harus diperlakukan sebagai karakter biasa. Misalnya, jika Anda mencari semua nilai dalam bidang yang berisi karakter "_", maka pola "%_%" akan menghasilkan semua catatan dari tabel dikembalikan. Dalam hal ini, templatnya harus ditulis sebagai berikut:

"%|_%" LARI "|"

Untuk memeriksa nilai kepatuhan dengan string "20%" Anda dapat menggunakan operator berikut:

SEPERTI "20#%" LARI "#"

Operator IS NULL memungkinkan Anda untuk memeriksa tidak adanya (keberadaan) nilai NULL di bidang tabel. Menggunakan operator perbandingan reguler dalam kasus ini mungkin menghasilkan hasil yang salah karena membandingkan dengan NULL menghasilkan UNKNOWN. Jadi, kondisi pemilihannya akan terlihat seperti ini:

di mana col_name IS NULL, bukan di mana col_name=NULL.

Hasil pemilihan default mengembalikan rekaman dalam urutan yang sama dengan penyimpanannya di database. Jika Anda ingin mengurutkan rekaman berdasarkan salah satu kolom, Anda harus menggunakan klausa ORDER BY, diikuti dengan nama kolom tersebut:

PILIH * DARI tbl ORDER BERDASARKAN col_name;

Kueri ini akan mengembalikan catatan dalam urutan nilai atribut col_name.

Anda juga dapat mengurutkan rekaman berdasarkan beberapa kolom. Untuk melakukan ini, nama mereka harus ditentukan setelah ORDER BY dipisahkan dengan koma:

PILIH * DARI tbl ORDER OLEH col_name1, col_name2.

Catatan akan diurutkan berdasarkan kolom col_name1; jika ada beberapa record dengan nilai yang cocok pada kolom col_name1 maka akan diurutkan berdasarkan field col_name2.

Jika Anda ingin mengurutkan rekaman dalam urutan terbalik (misalnya, menurun berdasarkan tanggal), Anda harus menentukan ORDER BY col_name DESC.

Untuk penyortiran langsung, terdapat kata kunci ASC yang diterima sebagai nilai default.

Jika hasil sampel berisi ratusan atau ribuan catatan, keluaran dan pemrosesannya memerlukan waktu yang cukup lama.

Oleh karena itu, informasi sering kali dibagi menjadi beberapa halaman dan disajikan kepada pengguna dalam beberapa bagian. Paginasi digunakan menggunakan kata kunci limit diikuti dengan jumlah entri yang akan ditampilkan. Kueri berikut mengambil 10 catatan pertama sekaligus mengurutkan mundur pada bidang col_name1:

PILIH * DARI tbl ORDER OLEH col_name1 DESC LIMIT 10

Untuk mengambil 10 record berikutnya, gunakan kata kunci limit dengan dua nilai: yang pertama menentukan posisi dari mana hasil harus dicetak, dan yang kedua menentukan jumlah record yang akan diambil:

PILIH * DARI tbl ORDER OLEH col_name1 DESC LIMIT 10,10

Untuk mengambil 10 catatan berikutnya, Anda harus menggunakan konstruksi LIMIT 20, 10.

SQL (Structured Query Language) adalah bahasa komputer universal yang digunakan untuk membuat, memodifikasi, dan mengelola data dalam database relasional. Bahasa SQL didasarkan pada aljabar relasional dan merupakan kumpulan operator.

Ada 4 kelompok operator. Mari kita pertimbangkan sekelompok operator manipulasi data (Bahasa Manipulasi Data, DML, SQL DML)

Pemilihan data

Pemilihan data adalah operasi paling umum yang dilakukan menggunakan SQL. Pernyataan SELECT adalah salah satu pernyataan terpenting dalam bahasa ini, yang digunakan untuk memilih data. Sintaks dari operator ini adalah sebagai berikut:

PILIH kolom DARI tabel

Pernyataan SELECT harus mengandung kata SELECT dan FROM; kata kunci lainnya bersifat opsional.

Kata kunci SELECT diikuti dengan informasi tentang bidang mana yang akan disertakan dalam kumpulan data yang dihasilkan. Tanda bintang (*) menandakan semua field tabel, contoh:

Untuk memilih satu kolom, gunakan sintaks berikut:

PILIH Perusahaan

Contoh pemilihan beberapa kolom terlihat seperti ini:

PILIH Perusahaan, Telepon, Surat

Untuk menentukan nama tabel dari mana record dipilih, gunakan kata kunci FROM, misalnya:

PILIH * DARI Pelanggan

Kueri ini akan mengembalikan semua bidang dari tabel Pelanggan.

Anda dapat menggunakan klausa WHERE (opsional) untuk memfilter hasil yang dikembalikan oleh pernyataan SELECT

PILIH * DARI Produk DIMANA Kategori = 4

Anda dapat menggunakan berbagai ekspresi dalam klausa WHERE,

DIMANA ekspresi1 [(DAN | ATAU) ekspresi2 ...]

Misalnya:

PILIH * DARI Produk DIMANA Kategori = 2 DAN Postavshik > 10

PILIH Nama, Harga DARI Produk DIMANA Kategori= 3 ATAU Harga< 50

Anda dapat menggunakan operator berikut:

< Меньше

<= Меньше или равно

<>Tidak setara

> Lebih lanjut

>= Lebih besar dari atau sama dengan

Klausa ORDER BY (opsional) digunakan untuk mengurutkan kumpulan data yang dihasilkan berdasarkan satu atau lebih kolom. Kata kunci ASC (ascending) atau DESC (descending) digunakan untuk menentukan urutan pengurutan. Secara default, data diurutkan dalam urutan menaik.

Modifikasi data

Selain mengambil data, SQL dapat digunakan untuk memperbarui dan menghapus data, menyalin catatan ke tabel lain, dan melakukan operasi lainnya. Di bawah ini kita akan melihat pernyataan UPDATE, DELETE, dan INSERT yang digunakan untuk menyelesaikan beberapa masalah ini.

pernyataan PEMBARUAN

Untuk mengubah nilai dalam satu atau lebih kolom tabel, gunakan pernyataan UPDATE. Sintaks dari operator ini adalah:

UPDATE tabel SET kolom1 = ekspresi1 kriteria WHERE

Ekspresi pada klausa SET dapat berupa konstanta atau hasil perhitungan. Misalnya, untuk menaikkan harga semua produk yang harganya kurang dari $10, Anda dapat menjalankan kueri berikut:

UPDATE Produk SET Harga = Harga * 1.1 WHERE Harga< 10

pernyataan HAPUS

Untuk menghapus baris dari tabel, Anda harus menggunakan operator DELETE, yang sintaksnya adalah:

HAPUS DARI tabel kriteria WHERE

Hapus semua produk yang harganya kurang dari 100.

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat