Rumah > Artikel > pangkalan data > Mari bercakap tentang arahan SQL, pemprosesan jadual dan ringkasan mata pengetahuan SQL lanjutan.
Artikel ini membawakan anda pengetahuan yang berkaitan tentang bahasa pangkalan data SQL Ia terutamanya memperkenalkan isu yang berkaitan dengan arahan SQL, pemprosesan jadual dan kemahiran SQL lanjutan.
Pembelajaran yang disyorkan: tutorial video mysql
Arahan SQL merujuk kepada cara SQL digunakan untuk menyimpan, membaca dan memproses data jadual dalam pangkalan data.
Arahan SQL biasa adalah seperti berikut:
(1) Fungsi: Pilih data daripada jadual dalam pangkalan data. Keupayaan untuk membaca semua data dalam satu atau beberapa lajur dalam jadual.
Apakah itu borang? Jadual ialah struktur dalam pangkalan data yang tujuannya adalah untuk menyimpan data.
(2) Pernyataan: pilih nama lajur 1, nama lajur 2... daripada nama jadual
(1) Fungsi: Semasa memproses data, anda perlu mengetahui nilai data yang berbeza dalam jadual, iaitu , anda perlu mengetahui nilai yang berbeza dalam lajur, tanpa mengira bilangan kali setiap nilai muncul. Gunakan yang berbeza pada masa ini.
(2) Pernyataan: pilih nama lajur yang berbeza daripada nama jadual
(1) Fungsi: Apabila anda perlu menanyakan beberapa maklumat secara bersyarat, gunakan tempat
( 2) Pernyataan: pilih nama lajur daripada nama jadual dengan keadaan
(1) Fungsi: Keadaan kompleks di mana terdiri daripada dua atau lebih keadaan mudah yang disambungkan oleh dan atau atau. Terdapat bilangan syarat mudah yang tidak terhingga dalam pernyataan SQL.
(2) pernyataan: pilih nama lajur daripada nama jadual di mana syarat mudah 1 dan|atau syarat mudah 2...
(1) Fungsi: dalam klausa, biasanya diikuti dengan mana Digunakan bersama, ini bermakna syarat mengambil nilai dalam julat terputus
(2) pernyataan: pilih nama lajur daripada nama jadual di mana nama lajur sebagai syarat dalam (nilai 1, Nilai 2, nilai 3...) wujud
(3) Tambahan: Jika terdapat hanya satu nilai dalam kurungan klausa in, ia bersamaan dengan ... di mana nama lajur = Nilai 1
(1) Fungsi: Arahan dalam adalah untuk mendapatkan nilai dalam pangkalan data dalam had satu atau beberapa nilai tak selanjar, manakala perintah antara adalah untuk mendapatkan nilai dalam pangkalan data dalam julat berterusan. Biasanya digunakan bersama dengan mana.
(2) Pernyataan: pilih nama lajur daripada nama jadual di mana nama lajur antara nilai 1 dan nilai 2
(1) Fungsi: Cari maklumat yang diperlukan berdasarkan corak. Biasanya digunakan bersama dengan mana.
(2) Pernyataan: pilih nama lajur daripada nama jadual di mana nama lajur seperti {mode}
(3 ) {Mode}:
Sebagai contoh, A_B bermakna hanya boleh ada satu aksara antara permulaan A dan akhir B, ABC% bermaksud rentetan yang bermula dengan ABC, � C bermaksud rentetan yang berakhir dengan ABC, � C% mewakili rentetan yang mengandungi corak ABC.
(1) Fungsi: Membuat paparan sistematik bagi data yang diperolehi , yang ialah, paparan pengisihan, tertib positif atau tertib terbalik.
(2) Pernyataan: pilih nama lajur daripada nama jadual di mana keadaan tertib mengikut nama lajur [ASC, DESC]
(3) [ ] bermaksud pilihan, tidak diperlukan. ASC bermaksud dari kecil ke besar, DESC bermaksud sebaliknya. ASC digunakan secara lalai.
(4) Nota: Jika di mana wujud, maka di mana perlu berada di hadapan susunan mengikut klausa.
(5) Tambahan: Beberapa nama lajur boleh diisih pada masa yang sama. susunan mengikut nama lajur 1 [ASC, DESC], nama lajur 2 [ASC, DESC]. Jika anda memilih untuk mengisih kedua-dua lajur daripada kecil kepada besar, hasil daripada klausa ini ialah: mengisih nama lajur 1 daripada kecil kepada besar. Jika terdapat beberapa hasil pertanyaan dengan nama lajur 1 yang sama, maka keputusan ini akan disusun dalam tertib menaik mengikut nama lajur 2, dan seterusnya.
(1) Fungsi: Banyak kandungan dalam pangkalan data wujud dalam bentuk nombor Bila menjalankan operasi pada nombor ini, ia boleh dijalankan terus melalui beberapa fungsi yang ditentukan.
(2) Fungsi yang biasa digunakan:
AVG: Purata
KIRA: Kira
MAX: Nilai maksimum
MIN: Nilai minimum
SUM: Jumlah
(3) Pernyataan: pilih nama fungsi (nama lajur) daripada nama jadual
( 1) Fungsi: Kira, kira jumlah bilangan penyertaan yang layak ditemui dalam jadual.
(2) Pernyataan: pilih kiraan(nama lajur) daripada nama jadual
(3) Nota: kiraan selalunya digunakan bersama-sama dengan berbeza untuk mengetahui berapa banyak entri berbeza yang terdapat dalam jadual.
(1) Fungsi: Apabila kita memilih lebih daripada satu lajur nama Dan apabila sekurang-kurangnya satu daripada nama lajur mengandungi aplikasi fungsi, anda perlu menggunakan kumpulan dengan arahan. Dalam kes ini, kita perlu memastikan kita mempunyai kumpulan mengikut semua nama lajur lain. Iaitu: Selain nama lajur termasuk fungsi, ia perlu diletakkan dalam kumpulan mengikut klausa .
(2) Pernyataan: pilih nama lajur 1 jumlah(nama lajur 2) daripada kumpulan nama jadual mengikut nama lajur 1
(1) Fungsi: Tetapkan syarat untuk nilai yang dijana oleh fungsi . mempunyai klausa berada di hujung ayat SQL.
SQL yang mengandungi klausa mempunyai tidak semestinya mengandungi kumpulan demi klausa.
(2) Pernyataan: pilih nama lajur 1, jumlah (nama lajur 2) daripada kumpulan nama jadual mengikut nama lajur 1 yang mempunyai (keadaan fungsi)
(3) Nota: Jika hanya lajur fungsi dipilih, kumpulan mengikut klausa tidak diperlukan.
(1) Fungsi: Berikan jadual dan lajur Alias .
Alias untuk nama lajur: untuk menjadikan hasil yang dijana oleh SQL mudah dibaca.
Alias jadual: Hanya tinggalkan ruang selepas nama jadual dalam klausa dari, dan kemudian senaraikan alias jadual untuk digunakan.
Iaitu, kedua-dua alias ini diletakkan selepas nama jadual atau nama lajur yang akan diganti, dan dipisahkan daripada nama jadual atau nama lajur mengikut ruang.
(2) Pernyataan: pilih alias jadual.nama lajur 1 nama lajur 1 alias lajur daripada nama jadualalias jadual
(3) Nota: Alias lajur bukan sahaja boleh diletakkan terus selepas nama lajur, tetapi juga selepas fungsi, seperti...sum(column nama) lajur Alias ...
(1) Fungsi: melalui dua jadual Lajur yang sama menghubungkan dua jadual.
Klausa tempat memainkan peranan penting dalam sambungan jadual.
Jika anda menggunakan tempat yang salah, anda berkemungkinan mendapat sambung Cartesian (semua kemungkinan gabungan antara setiap dua baris dua jadual).
(1) Fungsi:
Gabungan kiri yang sering kita panggil ialah gabungan dalaman. Dalam kes sambungan dalaman, kedua-dua jadual perlu mempunyai nilai yang sama sebelum sekeping data itu akan dipilih.
Jika anda ingin menyenaraikan setiap item maklumat dalam jadual, tidak kira sama ada nilainya muncul dalam jadual lain. Pada masa ini, sambungan luaran diperlukan: SQL OUTER JOIN.
(2) Pernyataan: Sintaks sambungan luaran berbeza-beza bergantung pada pangkalan data. Sebagai contoh, dalam Oracle, tambah ( ) selepas jadual di mana semua data akan dipilih dalam klausa where untuk menunjukkan bahawa kita memerlukan semua data dalam jadual ini.
(3) Nota: Apabila jadual kedua tidak mempunyai data relatif, SQL akan mengembalikan NULL.
(1) Fungsi: Gabungkan hasil yang diperoleh dengan nama lajur yang berbeza berdiri . Kaedah yang disediakan oleh setiap pangkalan data mungkin berbeza-beza:
MySQL: CONCAT()
Oracle: CONCAT(), ||
SQL Server:
(2) Pernyataan: concat(Watak 1, Watak 2, Watak 3...)
bermaksud menggabungkan watak 1, watak 2 dan watak 3.
(3) Nota: Oracle's concat() hanya membenarkan dua parameter iaitu, hanya dua rentetan boleh dirangkai bersama pada satu masa. Tetapi anda boleh menggunakan ||. untuk menggabungkan berbilang rentetan sekaligus.
(1) Fungsi: Fungsi substring dalam SQL digunakan untuk mendapatkan Bahagian daripada lajur data.
Dalam pangkalan data yang berbeza, nama fungsi ini berbeza:
MySQL: substr(), substring()
Oracle: substr()
SQL Server: substring()
(2) Pernyataan: substr(str, pos) bermaksud memilih aksara bermula dari kedudukan pos. Sintaks ini tidak digunakan pada SQL Server.
sub(str, pos, len) bermaksud bermula dari kedudukan pos str, pilih rentetan panjang len.
(1) Fungsi: Fungsi trim () digunakan untuk mengalih keluar permulaan atau akhir aksara dalam rentetan. Yang paling biasa ialah mengalih keluar ruang kosong di hadapan atau di belakang.
Dalam pangkalan data yang berbeza, kaedahnya berbeza:
MySQL: trim(), rtrim(), ltrim()
Oracle: rtrim(), ltrim()
SQL Server: rtrim(), ltrim()
(2) Pernyataan: trim([[kedudukan] [rentetan untuk dibuang] daripada] rentetan)
(3) Nota: Jika Jika tiada senarai rentetan yang hendak dialih keluar, ruang putih akan dialih keluar (jika ada).
Arahan pemprosesan jadual merujuk kepada cara menggunakan SQL untuk memproses setiap jadual dalam pangkalan data, menambah, memadam, mengubah suai , dsb.
(1) Fungsi: Buat jadual dalam pangkalan data
(2) pernyataan:
buat jadual nama jadual
(Atribut nama lajur 1,
atribut nama lajur 2, atribut
nama lajur 3 atribut
(1) Fungsi: Digunakan untuk menentukan data yang boleh disimpan dalam borang, atau dipinjam kemudian Ditentukan oleh penyataan jadual ubah.
(2) Sekatan biasa ialah:
bukan batal
unik
semak
kunci utama
Kunci asing
(1) Kesan: Apabila tiada nilai lajur A dibenarkan untuk mempunyai nilai nol, tertakluk kepada sebarang sekatan. Jika nilai lajur tidak dibenarkan mengandungi null, maka anda perlu menentukan bukan null untuk lajur itu.
(2) pernyataan:
buat nama jadual jadual
(lajur Namakan 1 atribut bukan null,
nama lajur 2 atribut bukan null,
lajur Nama 3 atribut);
(1) Fungsi : Pastikan nilai dalam lajur adalah berbeza.
(2) pernyataan:
buat nama jadual jadual
(lajur Namakan 1 atribut bukan nol unik,
nama lajur 2 atribut bukan nol,
nama lajur 3 atribut);
(3) Nota: Lajur yang ditetapkan sebagai kunci utama mesti mengandungi ciri unik. Tetapi lajur unik tidak semestinya kunci utama.
(1) Fungsi: Pastikan semua nilai dalam lajur adalah syarat-syarat tertentu yang konsisten.
(2) pernyataan:
buat nama jadual jadual
(lajur Namakan 1 atribut semak(nama lajur 1>10) bukan null unik,
nama lajur 2 atribut bukan null,
Atribut nama lajur 3);
(3) Nota: Sekatan semakan belum lagi dilaksanakan pada pangkalan data MySQL.
(1) Fungsi: kunci utama ) ialah nilai unik dalam jadual.
Iaitu, ia digunakan untuk mengesahkan secara unik setiap nilai baris dalam jadual.
Kunci primer boleh menjadi lajur dalam data asal atau lajur buatan (lajur yang tidak mempunyai hubungan dengan nilai asal).
Kunci utama boleh mengandungi satu atau lebih lajur. Apabila kunci utama mengandungi berbilang lajur, ia dipanggil kunci komposit.
(2) pernyataan:
MySQL:
buat jadual Nama
(nama lajur 1 atribut semakan(nama lajur 1>10) bukan null unik,
nama lajur 2 atribut bukan null,
Atribut nama lajur 3,
kunci utama (nama lajur 1) ); >
Dalam Oracle:
buat nama jadual jadual
(nama lajur 1 semakan atribut(Nama lajur 1>10) bukan null unik
kunci utama, nama lajur 2 atribut bukan nol,
nama lajur 3 atribut);
SQL Server:
buat nama jadual jadual
(Semakan atribut nama lajur 1(Nama lajur 1>10) bukan kunci utama unik nol,
Atribut nama lajur 2 bukan nol,
Atribut nama lajur 3);
(3) Bagaimana untuk menetapkan kunci utama dengan menukar struktur jadual sedia ada:
MySQL: tukar nama jadual tambah kunci utama ( Nama lajur 2)
Oracle: tukar nama jadual tambah kunci utama (nama Lajur 2)
SQL Server: tukar nama jadual jadual tambah kunci utama (nama lajur 2)
(4) Nota: Sebelum menggunakan pernyataan alter untuk menambah kunci primer, anda perlu sahkan bahawa ia digunakan sebagai Sama ada lajur kunci utama ditetapkan kepada bukan nol. Iaitu, lajur kunci utama tidak boleh batal.
(1) Fungsi: Kunci asing ialah satu atau beberapa titik yang menunjuk ke satu lagi lajur kunci utama jadual A.
Tujuan kunci asing adalah untuk menentukan integriti rujukan nilai. Iaitu, hanya nilai yang diluluskan akan disimpan dalam pangkalan data.
(2) pernyataan:
MySQL:
buat jadual Nama 1
(Semakan atribut nama lajur 1(Nama lajur 1>10) bukan unik nol,
Atribut nama lajur 2 bukan nol,
Atribut nama lajur 3,
kunci utama (nama lajur 1)
kunci asing (nama lajur 2) merujuk nama jadual 2 (lajur kunci utama) );
Dalam Oracle:
buat nama jadual 1
(nama lajur 1 semakan atribut(nama lajur 1>10) bukan kunci utama unik nol,
Atribut nama lajur 2 bukan nol,
Nama lajur 3 atribut nama jadual rujukan 2 (lajur kunci utama)
Dalam Pelayan SQL:
buat nama jadual jadual 1
(semakan atribut nama lajur 1 (Nama lajur 1>10) bukan null kunci utama unik,
nama lajur 2 atribut bukan nol,
nama lajur 3 rujukan atribut Nama jadual 2 (lajur kunci utama) );
(3) Cara menetapkan kunci asing dengan menukar struktur jadual sedia ada:
MySQL: tukar nama jadual 1 tambah kunci asing (nama lajur 2) rujukan nama jadual 2 (nama lajur 2)
Oracle: tukar jadual Nama jadual 1 tambah(kekangan xxx) kunci asing(nama lajur 2) rujukan Nama jadual 2(nama lajur 2)
SQL Server: tukar nama jadual jadual 1 tambah kunci asing(nama lajur 2) rujukan nama jadual 2 (nama lajur 2)
(1) Fungsi: Lihat jadual boleh digunakan sebagai jadual maya. Berbeza daripada jadual biasa, jadual sebenarnya menyimpan data, tetapi paparan ialah struktur yang dibina di atas jadual dan sebenarnya tidak menyimpan data itu sendiri.
(2) Pernyataan: cipta nama paparan sebagai pernyataan SQL
Antaranya, pernyataan SQL boleh; menjadi serupa dengan: pilih nama lajur daripada nama jadual;
(3) Nota: Anda boleh menggunakan paparan untuk menyambung dua jadual. Dalam kes ini, pengguna boleh terus mencari maklumat yang diperlukan dari satu jadual paparan, tanpa perlu menyambung dan kemudian mencari dari dua jadual yang berbeza.
(1) Fungsi:
Indeks boleh membantu kami mencari maklumat yang kami perlukan dengan cepat daripada jadual.
Jika jadual tidak mempunyai indeks, sistem pangkalan data perlu membaca keseluruhan data yang dilaporkan Proses ini dipanggil imbasan jadual.
Jika indeks yang sesuai wujud, sistem pangkalan data boleh menggunakan indeks ini dahulu untuk mengetahui di mana data yang diperlukan berada dalam jadual, dan kemudian terus ke kedudukan itu untuk mendapatkan data, mempercepatkan Kepantasan mendapatkan data.
Pengindeksan ialah sesuatu yang baik untuk kecekapan sistem. Indeks boleh meliputi satu atau lebih lajur.
(2) pernyataan: buat nama indeks indeks pada nama jadual (nama lajur 1, nama lajur 2);
(1) Fungsi: Selepas jadual dibuat, kadangkala perlu mengubah struktur jadual. Contohnya, tambah lajur, padam lajur, tukar nama lajur, tukar atribut lajur, dsb.
(2) Pernyataan: ubah nama lajur nama jadual [kaedah tukar]
[kaedah tukar] biasa Di sana ialah:
Tambah lajur: tambah nama lajur 2 Atribut
Padam lajur: lepaskan nama lajur 2
Tukar nama lajur: tukar nama lajur lama, nama lajur baharu, atribut baharu
Tukar atribut lajur: ubah suai nama lajur 2 atribut baharu
(1) Fungsi: Kosongkan jadual daripada pangkalan data (padam jadual)
(2) Pernyataan: jatuhkan nama jadual jadual
(1) Fungsi: Kosongkan semua data dalam jadual (tanpa memadamkan jadual)
(2) Pernyataan: pangkas nama Jadual jadual
(1) Fungsi: Data dimasukkan ke dalam borang.
(2) pernyataan:
masukkan ke dalam nama jadual (lajur 1, lajur 2...) nilai (nilai 1, nilai 2...)
masukkan ke dalam nama jadual 1 (lajur 1, lajur 2...) pilih nama lajur 3, nama lajur 4 daripada nama jadual 2
(1) Fungsi: Ubah suai data dalam jadual.
(2) pernyataan: kemas kini nama jadual set nama lajur 1 = nilai baharu di mana keadaan
(1) Fungsi: Dalam sesetengah kes, sesetengah data perlu dialih keluar terus daripada pangkalan data. (Satu atau lebih baris dipadamkan)
(2) Pernyataan: padam daripada nama jadual dengan syarat
median median
jumlah terkumpul jumlah larian
jumlah peratusan peratus kepada jumlah
peratus terkumpul kepada jumlah
3.1 KESATUAN: bergabung
(1) Fungsi: Tujuannya adalah untuk menggabungkan hasil dua pernyataan SQL. Dari perspektif ini, kesatuan adalah serupa dengan menyertai.
Selain itu,
Apabila menggunakan kesatuan, kita hanya akan melihat nilai data yang berbeza, iaitu nilai hasil tidak diulang, serupa dengan pilih berbeza.
(2) pernyataan: SQL
Pernyataan 1
kesatuanSQL
Penyata 2
(3) Nota : Jika kami menggunakan nama lajur pilih disinct dalam mana-mana pernyataan SQL (atau kedua-dua pernyataan bersama-sama), ia mungkin mendapat hasil yang sama.
3.2 KESATUAN SEMUA
(1) Fungsi: Tujuannya juga untuk menggabungkan hasil dua pernyataan SQL bersama-sama.
Perbezaannya ialah kesatuan semua akan menyenaraikan setiap data yang memenuhi kriteria, tidak kira sama ada terdapat nilai data pendua. Nilai hasil boleh diulang.
(2) pernyataan:
SQL statement 1
kesatuan semua
SQL statement 2
3.3 INTERSECT
(1) Fungsi: Sama seperti kesatuan, bersilang juga memproses hasil yang dijana oleh dua pernyataan SQL.
Perbezaannya ialah kesatuan pada asasnya ialah OR, manakala persilangan lebih seperti DAN. Iaitu kesatuan adalah kesatuan dan bersilang adalah kesatuan .
(2) pernyataan:
SQL statement 1
bersilang
Pernyataan SQL 2
(3) Nota: dengan arahan bersilang, nilai yang berbeza hanya akan disenaraikan sekali.
3.4 TOLAK
(1) Fungsi:
mius Ia merujuk kepada digunakan pada dua pernyataan SQL.
Mula-mula cari hasil yang dihasilkan oleh pernyataan SQL pertama, dan kemudian lihat sama ada keputusan ini adalah antara hasil pernyataan SQL kedua. Jika ada, maka sekeping data pertama akan dialih keluar dan tidak akan muncul dalam keputusan akhir.
Jika hasil yang dijana oleh pernyataan SQL kedua tidak wujud dalam hasil yang dijana oleh pernyataan SQL pertama, maka data ini juga akan dibuang.
(Serupa dengan penolakan? Pada akhirnya, hanya item dalam pernyataan SQL pertama yang hanya muncul dalam pernyataan SQL pertama tetapi tidak dalam pernyataan SQL kedua kekal )
(2) Pernyataan:
SQL statement 1
tolak
Pernyataan SQL 2
(3) Nota: Untuk arahan tolak, nilai yang berbeza hanya akan disenaraikan sekali.
3.5 Subquery
(1) Fungsi: subquery, letakkan SQL lain dalam satu pernyataan pernyataan SQL.
Apabila kita menyisipkan pernyataan sql lain di mana klausa atau mempunyai klausa, kita mempunyai subquery.
Peranan subkueri, pertama, boleh digunakan untuk menyertai jadual. Kedua, kadangkala subkueri adalah satu-satunya cara untuk menyertai dua jadual.
(2) Pernyataan:
pilih nama lajur 1 daripada nama jadual 1 di mana nama lajur 2 [operator perbandingan] ( pilih nama lajur 2 daripada nama jadual 2 di mana keadaan)
Antaranya, [operand perbandingan] boleh menjadi operan sama (=, >=, >, < ;=, <), atau ia boleh menjadi operan literal (SUKA).
3.6 WUJUD
(1) Fungsi: Kami gunakan di hadapan, >, <, = Tunggu untuk menyertai pertanyaan dalam dan pertanyaan luar. wujud juga merupakan salah satu cara.
Pada asasnya, wujud digunakan untuk menguji sama ada pertanyaan dalaman menghasilkan sebarang hasil .
Jika ada, sistem akan melaksanakan SQL dalam pertanyaan luar. Jika tidak, keseluruhan pernyataan SQL tidak akan menghasilkan sebarang hasil.
(2) Pernyataan: pilih nama lajur 1 daripada nama jadual 1 di mana wujud (pilih nama lajur 2 daripada nama jadual 2 di mana keadaan)
3.7 KES
(1) Fungsi: kes digunakan seolah- Kata kunci logik seperti yang lain.
(2) pernyataan:
pilih kes (nama lajur)
apabila syarat 1 maka keputusan 1
apabila syarat 2 maka keputusan 2
...
[hasil lain]
tamat
daripada nama jadual
(3) Tambahan: Syaratnya boleh menjadi nilai berangka atau formula. Klausa lain tidak diperlukan.
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Mari bercakap tentang arahan SQL, pemprosesan jadual dan ringkasan mata pengetahuan SQL lanjutan.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!