KomputerPengaturcaraan

Penyata SQL asas

SQL standard telah diterima pakai pada tahun 1992 dan masih digunakan hari ini. Bahawa dia telah menjadi penanda aras bagi banyak sistem pengurusan pangkalan data. Sudah tentu, beberapa pengeluar menggunakan tafsiran mereka sendiri piawaian. Tetapi dalam mana-mana sistem, masih terdapat komponen utama - penyata SQL.

pengenalan

Menggunakan penyata SQL di dalam pangkalan data berlaku jadual pengurusan nilai dan persediaan mereka untuk analisis lanjut dan paparan. Mereka adalah satu set kata kunci, yang mana sistem itu tahu apa yang perlu dilakukan dengan data.

Menentukan beberapa kategori penyata SQL:

  • definisi objek pangkalan data;
  • memanipulasi nilai;
  • perlindungan dan pengurusan;
  • parameter sesi;
  • Maklumat tentang asas;
  • SQL statik;
  • SQL dinamik.

penyata SQL untuk manipulasi data

Kategori ini termasuk kata kunci yang anda boleh mengawal penempatan nilai dalam pangkalan data.

INSERT. Selitkan baris dalam jadual yang sedia ada. Ia boleh digunakan sebagai nilai tunggal atau berbilang, yang ditakrifkan oleh keadaan tertentu. Sebagai contoh:

INSERT INTO

nama jadual (lajur 1 nama, nama lajur 2)

VALUES (nilai 1 nilai 2).

Untuk menggunakan operator kenyataan SQL INSERT dengan pelbagai nilai, menggunakan sintaks yang berikut:

INSERT INTO

1 Nama meja (nama lajur 1, nama lajur 2)

nama lajur SELECT 1, nama lajur 2

DARI nama jadual 2

MANA nama 2.imya lajur jadual 1> 2

Pertanyaan ini memilih semua data dalam Jadual 2, yang lebih besar daripada 2 untuk 1 lajur dan tampalkannya ke dalam pertama.

UPDATE. Seperti namanya, kenyataan ini mengemas kini data SQL pertanyaan dalam jadual yang sedia ada atas dasar tertentu.

contoh:

UPDATE nama jadual 1

nama lajur SET = 2 "Basil"

MANA nama jadual 1.imya lajur 1 = 1

Struktur nilai mengisi Basil semua baris yang memenuhi nombor 1 dalam ruang pertama.

DELETE. Memadam data dari jadual. Anda boleh menentukan apa-apa syarat atau untuk membuang semua baris.

DELETE FROM nama jadual

MANA lajur nama tablitsy.imya 1 = 1

Pertanyaan di atas akan memadamkan semua data dari pangkalan data dengan nilai satu dalam lajur pertama. Berikut adalah bagaimana anda boleh mengosongkan seluruh jadual:

DELETE FROM nama jadual.

Berikut adalah perlu untuk memberitahu tentang kenyataan SELECT. Beliau adalah salah satu yang paling penting, jadi dia perlu menumpukan bab yang berasingan.

kenyataan SELECT

Tujuan utama SELECT - pemilihan data mengikut syarat-syarat tertentu. Hasil kerja beliau sentiasa jadual baru dengan data yang dipilih. MS operator SQL SELECT boleh digunakan untuk berat permintaan yang berbeza. Oleh itu, bersama-sama dengan itu, anda boleh mempertimbangkan kata kunci lain yang berkaitan.

Untuk memilih semua simbol data "*" digunakan daripada jadual tertentu.

SELECT *

DARI nama jadual 1

Hasil daripada pertanyaan ini akan menjadi satu salinan tepat sesuatu jadual 1.

Dan di sini adalah diambil oleh mana syarat yang menarik keluar dari Jadual 1, nilai-nilai yang lebih besar daripada 2 dalam lajur 1.

SELECT *

DARI nama jadual 1

MANA nama 1.imya lajur jadual 1> 2

Anda juga boleh menentukan dalam pemilihan yang hanya lajur tertentu diperlukan.

SELECT nama jadual 1.imya lajur 1

DARI nama jadual 1

Hasil daripada pertanyaan ini akan semua baris dengan nilai-nilai lajur 1. Menggunakan pengendali MS SQL boleh membuat jadual sendiri, dalam perjalanan untuk menggantikan, mengira dan menggantikan nilai-nilai tertentu.

SELECT

nama jadual 1.imya lajur 1

nama jadual 1.imya lajur 2

nama jadual 1.imya lajur 3

«=» AS EQ

nama jadual 1.imya lajur 2 nama jadual * 1.imya lajur 3 AS SUMMA

DARI nama jadual 1

Ini pertanyaan yang seolah-olah kompleks ini diperoleh semua nilai dalam Jadual 1, dan kemudian mencipta ruang baru dan EQ SUMMA. Pertama memasuki tanda "+", dalam ruang data kedua produk 2 dan 3. Keputusan ini boleh diwakili sebagai jadual, untuk memahami bagaimana ia berfungsi:

lajur 1

lajur 2

lajur 3

EQ

SUMMA

Nama produk 1

10

50

+

500

Nama Produk 2

15

100

+

1500

Jika anda menggunakan kenyataan SELECT, anda boleh terus menghabiskan pesanan data mengenai apa-apa alasan. Ia menggunakan ORDER perkataan OLEH.

SELECT

nama jadual 1.imya lajur 1

nama jadual 1.imya lajur 2

nama jadual 1.imya lajur 3

DARI nama jadual 1

PERINTAH OLEH nama lajur 2

Jadual terhasil akan kelihatan seperti ini:

lajur 1

lajur 2

lajur 3

1

1

54

3

2

12

7

3

100

2

5

1

Iaitu, semua garis yang telah dipasang dalam apa-apa cara yang lajur 2 nilai sedang mendaki.

Data juga boleh diperolehi dari pelbagai jadual. Untuk kejelasan, anda perlu membayangkan bahawa mereka mempunyai dua, ada yang di dalam pangkalan data:

Jadual "Pekerja"

nombor

nama

nama keluarga

1

Vasya

vasin

2

petya

Petin

Jadual "Gaji"

nombor

Kadar

dikreditkan dengan

1

1

10000

2

0.5

3500

Sekarang anda perlu, seperti yang menghubungkan kedua-dua jadual untuk mendapatkan nilai yang sama. Menggunakan penyata SQL asas ia boleh dilakukan seperti berikut:

SELECT

Sotrudniki.Nomer

Sotrudniki.Imya

Zarplata.Stavka

Zarplata.Nachisleno

DARI Pekerja Gaji

MANA Sotrudniki.Nomer = Zarplata.Nomer

Terdapat diambil dari dua jadual yang berbeza nilai, bersatu dengan nombor. hasilnya adalah set data berikut:

nombor

nama

Kadar

dikreditkan dengan

1

Vasya

1

10000

2

petya

0.5

3500

A sedikit lebih lanjut mengenai SELECT. Menggunakan fungsi agregat

Salah satu kenyataan asas SQL SELECT boleh menghasilkan beberapa pengiraan dalam sampel. Untuk melakukan ini, dia menggunakan fungsi dan formula tertentu.

Sebagai contoh, untuk mendapatkan bilangan rekod daripada jadual "Pekerja", anda perlu menggunakan pertanyaan:

COUNT SELECT (*) AS N

DARI Pekerja

hasilnya akan menjadi meja dengan satu lajur dan nilai.

N

2

fungsi boleh digunakan dalam pertanyaan yang mengira jumlah, nilai maksimum dan minimum, dan purata. Untuk melakukan ini, kata kunci digunakan SUM, MAX, MIN, AVG.

Sebagai contoh, ia adalah perlu untuk mengadakan sampel "Gaji" meja yang sudah diketahui:

nombor

Kadar

dikreditkan dengan

1

1

10000

2

0.5

3500

Anda boleh memohon apa-apa permintaan dan lihat apa yang berlaku:

SELECT

SUM (Zarplata.Nachisleno) AS SUMMA

MAX (Zarplata.Nachisleno) AS MAX

MIN (Zarplata.Nachisleno) AS MIN

AVG (Zarplata.Nachisleno) AS Sred

DARI Gaji

Jadual di akhir adalah seperti berikut:

SUMMA

MAX

MIN

Sred

13500

10000

3500

6750

Itulah cara, anda boleh memilih daripada pangkalan data nilai yang sesuai dengan cepat untuk melakukan pengiraan pelbagai fungsi.

Union, persimpangan dan perbezaan

Menggabungkan pelbagai pertanyaan dalam SQL

SELECT Sotrudniki.Imya

DARI Pekerja

MANA Sotrudniki.Nomer = 1

UNION

SELECT Sotrudniki.Imya

DARI Pekerja Gaji

MANA Zarplata.Nomer = 1

Perlu diingat bahawa dalam jadual persatuan ini mesti serasi. Iaitu, mempunyai jumlah yang sama tiang.

Sintaks kenyataan SELECT dan tatacara bagi pemprosesan

Perkara pertama SELECT menentukan kawasan dari mana ia akan mengambil data. Untuk melakukan ini, gunakan kata kunci FROM. Jika tidak dinyatakan, apa yang perlu memilih.

Anda boleh mengemukakan penyata SQL MANA. Dengan bantuan SELECT berjalan melalui setiap baris meja dan memeriksa data untuk pematuhan dengan syarat.

Jika pertanyaan ini mempunyai GROUP BY, maka perkumpulan nilai-nilai parameter ini.

Pengendali untuk membandingkan data

Mereka mempunyai beberapa jenis. Dalam SQL operator perbandingan boleh menguji jenis nilai-nilai.

  • "=". Menandakan, seperti yang anda sangka, persamaan kedua-dua ungkapan. Sebagai contoh, ia telah digunakan dalam contoh di atas - MANA Zarplata.Nomer = 1.

  • ">". Lebih tinggi daripada tanda. Jika nilai sebelah kiri ungkapan adalah lebih besar maka TRUE logik dikembalikan dan keadaan ini dipenuhi.

  • "<". Tanda kurang daripada. Songsang pengendali sebelumnya.

  • Tanda-tanda "<=" dan "> =". Ia berbeza daripada pengendali mudah lebih dan kurang adalah bahawa dengan operan sama keadaan juga benar.

  • "<>". Saya tidak peduli. Keadaan ini dianggap TRUE, jika hanya satu operan tidak sama dengan yang lain. Beliau mempunyai satu lagi tafsiran - "=".

LIKE

Terjemah kata kunci ini boleh menjadi "yang sama." LIKE operator dalam SQL digunakan kira-kira pada prinsip yang sama - berjalan pertanyaan daripada templat. Iaitu, ia membolehkan anda untuk mengembangkan data sampel dari pangkalan data menggunakan ungkapan biasa.

Sebagai contoh, ia menetapkan apa-apa tugas: dari asas "kakitangan" yang sudah diketahui untuk mendapatkan semua orang yang namanya berakhir dengan "I". Maka permintaan itu boleh terdiri seperti berikut:

SELECT *

DARI Pekerja

MANA Nama LIKE '% I`ll

Tanda peratus dalam kes ini bermakna topeng, iaitu apa-apa watak, dan bilangan mereka. Dan dalam surat itu, "Saya» SQL menentukan bahawa aksara terakhir untuk menjadi seperti itu.

CASE

Kenyataan SQL Server adalah pelaksanaan pelbagai pilihan. Ia menyerupai kenyataan suis dalam banyak bahasa pengaturcaraan. kenyataan CASE dalam SQL melakukan satu amalan di beberapa syarat.

Sebagai contoh, anda pilih daripada jadual "gaji" maksimum dan nilai minimum.

nombor

Kadar

dikreditkan dengan

1

1

10000

2

0.5

3500

Maka permintaan itu boleh terdiri seperti berikut:

SELECT *

DARI Gaji

MANA KES APABILA SELECT MAX (Dicaj) THEN maksimum

APABILA SELECT MIN (Dicaj) THEN Minimum

hasil END

dalam lajur "Dikenakan" dalam konteks ini, sistem kelihatan untuk nilai maksimum dan minimum. Kemudian, dengan menggunakan medan END yang dicipta "jumlah", yang akan dilog dalam "maksimum" atau "minimum" bergantung kepada hasil daripada keadaan.

Dengan cara ini, dalam SQL terdapat bentuk yang lebih padat CASE - bertaut.

definisi data

Pandangan ini membolehkan anda untuk menjalankan pelbagai perubahan jadual - membuat, memadam, mengubah suai, dan bekerja dengan indeks.

Yang pertama, yang bernilai mengingati - CREATE TABLE. Ia berbuat apa-apa lagi daripada mewujudkan jadual. Jika anda hanya perlu menaip CREATE TABLE pertanyaan, tiada apa yang akan berlaku, kerana anda perlu untuk menentukan beberapa lagi parameter.

Sebagai contoh, untuk membuat jadual biasa "Pekerja" mahu menggunakan arahan:

CREATE TABLE Pekerja

(Nombor ID (10) TIDAK NULL

Nama varchar (50) TIDAK NULL

Nama Akhir varchar (50) TIDAK NULL)

Dalam permohonan ini, dalam kurungan segera ditakrifkan nama medan dan jenis mereka, dan juga sama ada ia boleh menjadi NULL.

DROP TABLE

Melakukan satu tugas yang mudah - menghapuskan Rajah berkata. Ia mempunyai pilihan tambahan IF EXISTS. Ia menyerap ralat apabila memotong, jika jadual yang diperlukan tidak wujud. Contoh penggunaan:

DROP TABLE Pekerja IF EXISTS.

CREATE INDEX

Dalam SQL, terdapat satu sistem indeks, yang membolehkan akses yang lebih cepat kepada data. Secara umum, ia adalah pautan yang menunjuk ke lajur tertentu. Mencipta indeks boleh menjadi permintaan yang mudah:

CREATE INDEX nazvanie_indeksa

ON nazvanie_tablitsy (nazvanie_stolbtsa)

Menggunakan kenyataan ini dalam T-SQL, Oracle, PL SQL dan banyak tafsiran lain teknologi.

ALTER TABLE

operator sangat berfungsi dengan banyak pilihan. Secara umum, perubahan menghasilkan struktur definisi dan jadual peruntukan. Operator digunakan dalam Oracle SQL, Postgres, dan lain-lain lagi.

Rujukan sekarang akan dibentangkan dengan pelbagai pilihan menggunakan ALTER TABLE.

  • ADD. Menjalankan penambahan lajur dalam jadual. Sintaks kepadanya: MENGUBAH JADUAL TAMBAH nazvanie_tablitsy nazvanie_stolbtsa tip_hranimyh_dannyh. Boleh mempunyai parameter JIKA TIDAK EXISTS, yang menyekat ralat jika lajur sudah telah diwujudkan;

  • DROP. Membuang lajur. IF EXISTS juga selesai, yang akan menghasilkan ralat yang mengatakan bahawa ruangan yang diminta tidak wujud;

  • TUKAR. Digunakan untuk menamakan semula nama medan yang dinyatakan. Contoh penggunaan: ALTER TABLE TUKAR nazvanie_tablitsy OldName NEW_NAME;

  • MENGUBAH SUAI. Arahan ini akan menukar jenis lajur tertentu dan ciri-ciri tambahan. Dan ia digunakan seperti ini: ALTER TABLE MENGUBAH SUAI nazvanie_tablitsy jenisdata nazvanie_stolbtsa sifat-sifat;

CREATE VIEW

Dalam SQL, terdapat perkara yang sedemikian sebagai satu idea. Pendek kata, ia adalah sejenis meja maya dengan data. Ia terbentuk akibat daripada sampel menggunakan bahasa SQL SELECT kenyataan itu. Views boleh menyekat akses kepada pangkalan data untuk menyembunyikan mereka, untuk menggantikan lajur nama sebenar.

Proses penciptaan berlaku oleh pertanyaan yang mudah:

CREATE VIEW nama pandangan AS SELECT DARIPADA * nama jadual

Persampelan boleh berlaku sebagai pangkalan data keseluruhan secara keseluruhan, dan dalam keadaan tertentu.

Sedikit mengenai ciri-ciri

Dalam SQL pertanyaan sering menggunakan fungsi terbina dalam yang berbeza yang membolehkan anda berinteraksi dengan data dan menukar mereka dengan cepat. Ia adalah bernilai mengingati mereka, kerana mereka adalah merupakan sebahagian daripada bahasa berstruktur.

  • COUNT. Menghasilkan mengira baris atau penyertaan dalam jadual tertentu. Sebagai pilihan, anda boleh menentukan nama lajur, maka data akan diambil dari padanya. COUNT SELECT * FROM Pekerja;

  • AVG. Ciri ini hanya terpakai kepada tiang dengan data angka. hasilnya adalah penentuan min aritmetik semua nilai;

  • MIN dan MAX. Fungsi-fungsi ini telah digunakan dalam artikel ini. Mereka menentukan nilai maksimum dan minimum lajur tersebut;

  • SUM. Ia mudah - fungsi mengira hasil tambah nilai dalam lajur. Ia digunakan secara eksklusif untuk jenis data berangka. Menambah permintaan parameter yang berbeza, akan ditambah hanya untuk nilai unik;

  • ROUND. Fungsi pembundaran nombor pecahan perpuluhan. Sintaks yang digunakan oleh nama lajur dan bilangan tempat perpuluhan;

  • LEN. Fungsi mudah yang mengira panjang tiang. hasilnya akan menjadi jadual baru yang menunjukkan bilangan aksara;

  • SEKARANG. Kata kunci ini digunakan untuk mengira tarikh dan masa semasa.

pengendali tambahan

Banyak contoh penyata SQL adalah kata kunci yang melaksanakan tugas-tugas kecil, namun sangat memudahkan sampel atau aktiviti pangkalan data.

  • AS. Ia digunakan apabila anda mahu untuk visual menguruskan hasil daripada memberikan nama yang dinyatakan untuk mendapatkan jadual.

  • ANTARA. Satu alat yang sangat berguna untuk persampelan. Ia menunjukkan julat nilai, termasuk keperluan untuk mendapatkan data. Parameter input menerima dari dan ke pelbagai nombor digunakan;.

  • TIDAK. pengendali memberikan bertentangan dengan ungkapan.

  • Memendekkan. Membuang data dari bahagian asas tersebut. Berbeza daripada pengendali yang memulihkan data selepas penggunaannya mustahil. Ia diperhatikan bahawa pelaksanaan kata kunci tertentu dalam SQL yang berbeza boleh menjadi tafsiran yang berbeza. Jadi, sebelum anda cuba menggunakan memendekkan, lebih baik berkenalan dengan maklumat latar belakang.

  • LIMIT. Menetapkan bilangan baris output. The keanehan pengendali adalah bahawa ia sentiasa terletak pada akhir. Ia mengambil masa satu mandatori dan satu parameter pilihan. Pertama menunjukkan berapa banyak baris dengan data yang dipilih untuk menunjukkan. Dan jika kedua, kemudian pengendali mengendalikan kedua-dua julat nilai.

  • UNION. Sangat pengendali mesra pengguna untuk menggabungkan pelbagai pertanyaan. Beliau telah bertemu antara contoh ini dalam artikel ini. Anda boleh memaparkan baris daripada berbilang jadual, UNION menggabungkan mereka untuk kegunaan lebih mudah. Sintaks kepadanya: Pilih lajur FROM Rajah UNION SELECT DARIPADA Rajah imya_drugogo_stolbtsa imya_drugoy. Hasilnya ialah jadual ringkasan daripada tuntutan yang bersatu padu.

  • KEY RENDAH. Diterjemahkan sebagai "kunci utama." Sebenarnya, itu istilah itu digunakan dalam bahan-bahan rujukan. Beliau adalah pengecam unik untuk baris. Ia digunakan, sebagai peraturan, semasa membuat jadual untuk menunjukkan bidang yang akan membendungnya.

  • DEFAULT. Sama seperti pengendali sebelumnya, yang digunakan dalam pelaksanaan mewujudkan pertanyaan. Ia mentakrifkan nilai lalai, yang akan diisi dalam padang apabila ia dicipta.

Beberapa tips untuk membangunkan platform untuk bekerja dengan SQL

  1. NULL. Pemula dan bukan hanya pengaturcara dalam penyediaan permintaan sering lupa tentang adanya nilai NULL. Hasilnya, kod ralat ngeri dalam, yang sukar untuk mengesan dalam proses debugging. Oleh itu, semasa membuat jadual, nilai-nilai sampel atau dikira semula perlu berhenti dan berfikir, dan sama ada NULL kejadian diambil kira di kawasan pertanyaan.

  2. Ingatan. Dalam kertas ini kita telah ditunjukkan beberapa fungsi, mampu melaksanakan tugas-tugas tertentu. Dalam pembangunan shell untuk bekerja dengan pangkalan data, anda boleh "melebihi" pengiraan ungkapan mudah untuk sistem pangkalan data. Dalam sesetengah kes, ini memberi rangsangan ketara dalam prestasi.

  3. Sekatan. Jika anda mahu untuk mendapatkan dari pangkalan data dengan beribu-ribu baris hanya dua, ia adalah perlu untuk menggunakan operator seperti LIMIT atau TOP. Tidak perlu untuk mendapatkan data melalui shell perkembangan bahasa.

  4. Menyambung. Setelah menerima data daripada beberapa jadual, ramai pengaturcara mula mengurangkan mereka bersama-sama sampul surat memori bermakna. Tetapi mengapa? Lagipun, anda boleh membuat permintaan di mana ia akan semua hadir. Anda tidak perlu menulis kod sekali dan tempahan memori tambahan di dalam sistem.

  5. Sorting. Jika ia adalah mungkin untuk memohon peraturan dalam permintaan itu, iaitu, kuasa-kuasa DBMS, adalah perlu untuk menggunakannya. Ini akan menjimatkan sumber apabila program atau perkhidmatan.

  6. Banyak permintaan. Jika anda perlu memasukkan banyak rekod dalam urutan, maka pengoptimuman perlu memikirkan data paket dimasukkan satu permintaan. Ini juga akan meningkatkan prestasi keseluruhan sistem.

  7. penempatan berhati-hati dengan data. Sebelum merangka struktur asas perlu berfikir tentang bagaimana dan sama ada apa-apa beberapa jadual dan medan yang diperlukan. Mungkin ada cara untuk menggabungkan mereka, atau memberikan beberapa. Selalunya, pengaturcara menggunakan terlalu banyak data yang mana-mana dan tidak pernah digunakan.

  8. Jenis. Untuk menjimatkan ruang dan sumber perlu peka dengan jenis data yang digunakan. Jika anda boleh mengambil kesempatan daripada kurang "berat" untuk jenis memori, anda perlu menggunakan nama-Nya. Sebagai contoh, jika diketahui bahawa dalam bidang ini adalah nilai angka tidak akan melebihi 255, mengapa penggunaan 4-bait INT, jika terdapat TINYINT 1 bait.

kesimpulan

Kesimpulannya, ia harus diperhatikan bahawa bahasa distrukturkan pertanyaan SQL kini digunakan di mana-mana - laman web, perkhidmatan web, perisian desktop, aplikasi mudah alih. Oleh itu, pengetahuan SQL akan membantu semua sektor pembangunan.

Walau bagaimanapun, pengubahsuaian standard bahasa ibunda kadang-kadang berbeza antara satu sama lain. Sebagai contoh, pengendali SQL PL mungkin mempunyai sintaks berbeza daripada dalam SQL Server. Jadi sebelum anda mula mengembangkan dengan teknologi ini, adalah perlu untuk berkenalan dengannya oleh garis panduan.

Dalam rakan-rakan masa depan, yang boleh mengatasi fungsi SQL dan prestasi, ia tidak mungkin untuk muncul, jadi skop ini agak niche menjanjikan untuk sebarang programmer.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ms.birmiss.com. Theme powered by WordPress.