30 Contoh Pertanyaan SQL

30 Contoh Pertanyaan Sql



Bentuk penuh SQL ialah bahasa Pertanyaan Berstruktur. Ia adalah alat yang sangat berguna untuk mengakses atau mengubah suai struktur dan data pangkalan data. Banyak aplikasi memerlukan pangkalan data untuk menyimpan data yang diperlukan dalam pangkalan data dalam format berstruktur secara kekal. MySQL, Oracle, SQL Server, dsb. ialah pangkalan data popular untuk menyimpan data aplikasi. Mereka adalah penting untuk mempelajari asas SQL untuk mengakses atau mengubah suai kandungan pangkalan data. Penggunaan asas pernyataan SQL pada pangkalan data MariaDB ditunjukkan dalam tutorial ini menggunakan 30 contoh pertanyaan SQL.

Prasyarat

Anda perlu memasang pelayan pangkalan data dengan klien sebelum mempraktikkan contoh dalam tutorial ini. Pelayan dan klien pangkalan data MariaDB digunakan dalam tutorial ini.

1. Jalankan arahan berikut untuk mengemas kini sistem:







$ sudo apt-get kemas kini

2. Jalankan arahan berikut untuk memasang pelayan dan klien MariaDB:



$ sudo apt-get install mariadb-server mariadb-client

3. Jalankan arahan berikut untuk memasang skrip keselamatan untuk pangkalan data MariaDB:



$ sudo mysql_secure_installation

4. Jalankan arahan berikut untuk memulakan semula pelayan MariaDB:





$ sudo /etc/init.d/mariadb mulakan semula

6. Jalankan arahan berikut untuk log masuk ke pelayan MariaDB:

$ sudo mariadb -u root -p

Senarai Contoh Pertanyaan SQL



  1. Buat Pangkalan Data
  2. Buat Jadual
  3. Namakan semula Nama Jadual
  4. Tambahkan Lajur Baharu pada Jadual
  5. Keluarkan Lajur daripada Jadual
  6. Masukkan Baris Tunggal ke dalam Jadual
  7. Masukkan Berbilang Baris ke dalam Jadual
  8. Baca Semua Medan Khusus daripada Jadual
  9. Baca Jadual Selepas Menapis Data daripada Jadual
  10. Baca Jadual Selepas Menapis Data Berdasarkan Logik Boolean
  11. Baca Jadual Selepas Menapis Baris Berdasarkan Julat Data
  12. Baca Jadual Selepas Menyusun Jadual Berdasarkan Lajur Tertentu.
  13. Baca Jadual dengan Menetapkan Nama Alternatif Lajur
  14. Kira Jumlah Bilangan Baris dalam Jadual
  15. Baca Data daripada Pelbagai Jadual
  16. Baca Jadual dengan Mengumpulkan Medan Tertentu
  17. Baca Jadual Selepas Meninggalkan Nilai Pendua
  18. Baca Jadual dengan Mengehadkan Nombor Baris
  19. Baca Jadual Berdasarkan Padanan Separa
  20. Kira Jumlah Medan Tertentu Jadual
  21. Cari Nilai Maksimum dan Minimum Medan Tertentu
  22. Baca Data pada Bahagian Tertentu Medan
  23. Baca Data Jadual Selepas Penyatuan
  24. Baca Data Jadual Selepas Pengiraan Matematik
  25. Buat Paparan Jadual
  26. Kemas kini Jadual Berdasarkan Keadaan Tertentu
  27. Padamkan Data Jadual Berdasarkan Keadaan Tertentu
  28. Padamkan Semua Rekod daripada Jadual
  29. Jatuhkan Meja
  30. Gugurkan Pangkalan Data

Buat Pangkalan Data

Katakan kita perlu mereka bentuk pangkalan data mudah untuk Sistem Pengurusan Perpustakaan. Untuk melakukan tugas ini, pangkalan data perlu mencipta dalam pelayan yang mengandungi berbilang jadual hubungan. Selepas log masuk ke pelayan pangkalan data, jalankan arahan berikut untuk mencipta pangkalan data bernama 'perpustakaan' dalam pelayan pangkalan data MariaDB:

CIPTA PANGKALAN DATA perpustakaan;

Output menunjukkan bahawa pangkalan data perpustakaan dibuat pada pelayan:

Jalankan arahan berikut untuk memilih pangkalan data daripada pelayan untuk melaksanakan pelbagai jenis operasi pangkalan data:

GUNA perpustakaan;

Output menunjukkan bahawa pangkalan data perpustakaan dipilih:

Buat Jadual

Langkah seterusnya ialah membuat jadual yang diperlukan untuk pangkalan data untuk menyimpan data. Tiga jadual dibuat dalam bahagian tutorial ini. Ini ialah buku, ahli dan jadual borrow_info.

  1. Jadual buku menyimpan semua data berkaitan buku.
  2. Meja ahli menyimpan semua maklumat tentang ahli yang meminjam buku dari perpustakaan.
  3. Jadual borrow_info menyimpan maklumat tentang buku mana yang dipinjam oleh ahli mana.

1. Buku Jadual

Jalankan pernyataan SQL berikut untuk mencipta jadual bernama 'buku' dalam pangkalan data 'perpustakaan' yang mengandungi tujuh medan dan satu kunci utama. Di sini, medan 'id' ialah kunci utama dan jenis data ialah int. Atribut auto_increment digunakan untuk medan 'id'. Jadi, nilai medan ini dinaikkan secara automatik apabila baris baharu dimasukkan. Jenis data varchar digunakan untuk menyimpan data rentetan panjang pembolehubah. Medan tajuk, pengarang, penerbitan dan isbn menyimpan data rentetan. Jenis data medan total_copy dan harga adalah int. Jadi, medan ini menyimpan data berangka.

CIPTA JADUAL buku (
ID INT AUTO_INCREMENT ,
tajuk VARCHAR ( lima puluh ) ,
pengarang VARCHAR ( lima puluh ) ,
penerbitan VARCHAR ( 100 ) ,
isbn VARCHAR ( 30 ) ,
jumlah_salinan INT ,
harga INT ,
UTAMA KUNCI ( ID ) ) ;

Output menunjukkan bahawa jadual 'buku' berjaya dibuat:

2. Ahli Jadual

Jalankan pernyataan SQL berikut untuk mencipta jadual bernama 'ahli' dalam pangkalan data 'perpustakaan' yang mengandungi 5 medan dan satu kunci utama. Medan 'id' mempunyai atribut auto_increment seperti jadual 'buku'. Jenis data medan lain ialah varchar. Jadi, medan ini menyimpan data rentetan.

CIPTA JADUAL ahli (
ID INT AUTO_INCREMENT ,
nama VARCHAR ( lima puluh ) ,
alamat VARCHAR ( 200 ) ,
contact_no VARCHAR ( lima belas ) ,
emel VARCHAR ( lima puluh ) ,
UTAMA KUNCI ( ID ) ) ;

Output menunjukkan bahawa jadual 'ahli' berjaya dibuat:

3. Pinjam_info Jadual

Jalankan pernyataan SQL berikut untuk mencipta jadual bernama 'borrow_info' dalam pangkalan data 'library' yang mengandungi 6 medan. Di sini, medan 'id' ialah kunci utama tetapi atribut auto_increment tidak digunakan untuk medan ini. Jadi, nilai unik dimasukkan secara manual ke dalam medan ini apabila rekod baharu dimasukkan ke dalam jadual. Medan book_id dan member_id adalah kunci asing untuk jadual ini; itu adalah kunci utama jadual 'buku' dan jadual 'ahli'. Jenis data medan borrow_date dan return_date ialah tarikh. Jadi, kedua-dua medan ini menyimpan nilai tarikh dalam format 'YYYY-MM-DD'.

CIPTA JADUAL info_pinjam (
ID INT ,
tarikh_pinjam TARIKH ,
id_buku INT ,
ID ahli INT ,
tarikh_pulangan TARIKH ,
STATUS VARCHAR ( 10 ) ,
UTAMA KUNCI ( ID ) ,
ASING KUNCI ( id_buku ) RUJUKAN buku ( ID ) ,
ASING KUNCI ( ID ahli ) RUJUKAN ahli ( ID ) ) ;

Output menunjukkan bahawa jadual 'borrow_info' berjaya dibuat:

Namakan semula Nama Jadual

Pernyataan ALTER TABLE boleh digunakan untuk pelbagai tujuan dalam pernyataan SQL. Jalankan penyataan ALTER TABLE berikut untuk menukar nama jadual “borrow_info” kepada “book_borrow_info”. Seterusnya, pernyataan SHOW tables boleh digunakan untuk menyemak sama ada nama jadual telah ditukar atau tidak.

ALTER JADUAL info_pinjam NAMA SEMULA KEPADA info_pinjam_buku;
TUNJUKKAN MEJA ;

Output menunjukkan bahawa nama jadual telah berjaya ditukar dan nama jadual borrow_info telah ditukar kepada book_borrow_info:

Tambahkan Lajur Baharu pada Jadual

Pernyataan ALTER TABLE boleh digunakan untuk menambah atau memadam satu atau lebih lajur selepas membuat jadual. Pernyataan ALTER TABLE berikut menambah medan baharu bernama 'status' kepada ahli jadual. Pernyataan DESCRIBE digunakan untuk menunjukkan sama ada struktur jadual telah diubah atau tidak.

ALTER JADUAL ahli TAMBAH STATUS VARCHAR ( 10 ) ;
HURAIKAN ahli;

Output menunjukkan bahawa lajur baharu iaitu 'status' ditambahkan pada jadual 'ahli' dan jenis data jadual ialah varchar:

Keluarkan Lajur daripada Jadual

Pernyataan ALTER TABLE berikut memadamkan medan bernama 'status' daripada jadual 'ahli'. Pernyataan DESCRIBE digunakan untuk menunjukkan sama ada struktur jadual telah diubah atau tidak.

ALTER JADUAL ahli JATUHKAN KOLUM STATUS ;
HURAIKAN ahli;

Output menunjukkan bahawa lajur 'status' dialih keluar daripada jadual 'ahli':

Masukkan Baris Tunggal ke dalam Jadual

Pernyataan INSERT INTO digunakan untuk memasukkan satu atau lebih baris ke dalam jadual. Jalankan pernyataan SQL berikut untuk memasukkan satu baris ke dalam jadual 'buku'. Di sini, medan 'id' diabaikan daripada pertanyaan ini kerana ia dimasukkan secara automatik ke dalam rekod apabila rekod baharu dimasukkan untuk atribut kenaikan automatik. Jika medan ini digunakan dalam pernyataan INSERT, nilainya mestilah NULL.

INSERT KE DALAM buku ( tajuk , pengarang , penerbitan , isbn , jumlah_salinan , harga )
NILAI ( 'SQL dalam 10 Minit' , 'Ben Forta' , 'Sams Publishing' , '784534235' , 5 , 39 ) ;

Output menunjukkan bahawa rekod telah berjaya ditambahkan pada jadual 'buku':

Data boleh dimasukkan ke dalam jadual menggunakan klausa SET di mana setiap nilai medan ditetapkan secara berasingan. Jalankan pernyataan SQL berikut untuk memasukkan satu baris ke dalam jadual 'ahli' menggunakan klausa INSERT INTO dan SET. Medan 'id' juga ditinggalkan dalam pertanyaan ini seperti contoh sebelumnya atas sebab yang sama.

INSERT KE DALAM ahli
SET nama = 'John Sina' , alamat = '34, Dhanmondi 9/A, Dhaka' , contact_no = '+14844731336' , emel = 'john@gmail.com' ;

Output menunjukkan bahawa rekod telah ditambahkan ke jadual ahli dengan jayanya:

Jalankan pernyataan SQL berikut untuk memasukkan satu baris ke dalam jadual 'book_borrow_info':

INSERT KE DALAM info_pinjam_buku ( ID , tarikh_pinjam , id_buku , ID ahli , tarikh_pulangan , STATUS )
NILAI ( 1 , '2023-03-12' , 1 , 1 , '2023-03-19' , 'Dipinjam' ) ;

Output menunjukkan bahawa rekod ditambahkan pada jadual 'book_borrow_info':

Masukkan Berbilang Baris ke dalam Jadual

Kadangkala, ia memerlukan penambahan banyak rekod pada satu masa menggunakan satu kenyataan INSERT INTO. Jalankan pernyataan SQL berikut untuk memasukkan tiga rekod ke dalam jadual 'buku' menggunakan satu pernyataan INSERT INTO. Dalam kes ini, klausa VALUES digunakan untuk satu kali dan data setiap rekod dipisahkan dengan koma.

INSERT KE DALAM buku ( tajuk , pengarang , penerbitan , isbn , jumlah_salinan , harga )
NILAI
( 'Buku Masakan SQL (O'Reilly)' , 'Anthony Molinaro' , 'O'Reilly' , '2467777532' , 10 , 49 ) ,
( 'SQL Queries for Mere Mortals' , 'John Viescas' , 'Addison-Wesley' , '673456234' , lima belas , 35 ) ,
( 'Belajar SQL' , 'Alan Beaulieu' , 'Penguin Books Ltd' , '534433222' , 12 , Empat lima ) ;

Output menunjukkan bahawa tiga rekod ditambahkan pada jadual 'buku':

Baca Semua Medan Tertentu daripada Jadual

Pernyataan SELECT digunakan untuk membaca data daripada jadual 'pangkalan data'. Simbol “*” digunakan untuk menandakan semua medan jadual dalam pernyataan SELECT. Jalankan arahan SQL berikut untuk membaca semua rekod jadual buku:

PILIH * DARI buku;

Output menunjukkan semua rekod jadual buku yang mengandungi 4 rekod:

Jalankan arahan SQL berikut untuk membaca semua rekod tiga medan jadual 'ahli':

PILIH nama , emel , contact_no DARI ahli;

Output menunjukkan semua rekod tiga medan jadual 'ahli':

Baca Jadual Selepas Menapis Data daripada Jadual

Klausa WHERE digunakan untuk membaca data daripada jadual berdasarkan satu atau lebih syarat. Jalankan pernyataan SELECT berikut untuk membaca semua rekod semua medan jadual 'buku' di mana nama pengarangnya ialah 'John Viescas'.

PILIH * DARI buku DI MANA pengarang = 'John Viescas' ;

Jadual 'buku' mengandungi satu rekod yang sepadan dengan keadaan klausa WHERE yang ditunjukkan dalam output:

Baca Jadual Selepas Menapis Data Berdasarkan Logik Boolean

Logik Boolean AND digunakan untuk mentakrifkan berbilang syarat dalam klausa WHERE yang mengembalikan benar jika semua syarat kembali benar. Jalankan pernyataan SELECT berikut untuk membaca semua rekod semua medan jadual 'buku' di mana nilai medan total_copy adalah lebih daripada 10 dan nilai medan harga kurang daripada 45 menggunakan logik DAN.

PILIH * DARI buku DI MANA jumlah_salinan > 10 DAN harga < Empat lima ;

Jadual buku mengandungi satu rekod yang sepadan dengan keadaan klausa WHERE yang ditunjukkan dalam output:

Logik Boolean OR digunakan untuk mentakrifkan berbilang syarat dalam klausa WHERE yang mengembalikan benar jika mana-mana syarat mengembalikan benar. Jalankan pernyataan SELECT berikut untuk membaca semua rekod semua medan jadual 'buku' dengan nilai medan total_copy lebih daripada 10 atau nilai medan harga lebih daripada 40.

PILIH * DARI buku DI MANA jumlah_salinan > 10 ATAU harga > 40 ;

Jadual buku mengandungi tiga rekod yang sepadan dengan keadaan klausa WHERE yang ditunjukkan dalam output:

Logik Boolean NOT digunakan untuk mengembalikan palsu apabila keadaan benar dan mengembalikan benar apabila syarat palsu. Jalankan pernyataan SELECT berikut untuk membaca semua rekod semua medan jadual 'buku' di mana nilai medan pengarang bukan 'Addison-Wesley'.

PILIH * DARI buku DI MANA TIDAK pengarang = 'Addison-Wesley' ;

Jadual 'buku' mengandungi tiga rekod yang sepadan dengan keadaan klausa WHERE yang ditunjukkan dalam output:

Baca Jadual Selepas Menapis Baris Berdasarkan Julat Data

Klausa BETWEEN digunakan untuk membaca julat data daripada jadual pangkalan data. Jalankan pernyataan SELECT berikut untuk membaca semua rekod semua medan jadual 'buku' dengan nilai medan harga antara 40 hingga 50.

PILIH * DARI buku DI MANA harga ANTARA 40 DAN lima puluh ;

Jadual buku mengandungi dua rekod yang sepadan dengan keadaan klausa WHERE yang ditunjukkan dalam output. Buku nilai harga, 39 dan 35, diabaikan daripada set hasil kerana buku itu berada di luar julat.

Baca Jadual Selepas Menyusun Jadual

Klausa ORDER BY digunakan untuk mengisih set hasil pernyataan SELECT dalam susunan menaik atau menurun. Set hasil diisih dalam tertib menaik secara lalai jika klausa ORDER BY digunakan tanpa ASC atau DESC. Pernyataan SELECT berikut membaca rekod yang diisih daripada jadual buku berdasarkan medan tajuk:

PILIH * DARI buku PESANAN OLEH tajuk;

Data medan tajuk jadual 'buku' diisih mengikut tertib menaik dalam output. Buku 'Learning SQL' didahulukan mengikut abjad jika medan tajuk jadual 'buku' diisih dalam tertib menaik.

Baca Jadual dengan Menetapkan Nama Alternatif Lajur

Nama alternatif lajur digunakan dalam pertanyaan untuk menjadikan set hasil lebih mudah dibaca. Nama alternatif ditetapkan menggunakan kata kunci 'AS'. Pernyataan SQL berikut mengembalikan nilai medan tajuk dan pengarang dengan menetapkan nama alternatif.

PILIH tajuk AS `Nama Buku` , pengarang AS `Nama Pengarang`
DARI buku;

Medan tajuk dipaparkan dengan nama alternatif iaitu 'Nama Buku' dan medan pengarang dipaparkan dengan nama alternatif iaitu 'Nama Pengarang' dalam output.

Kira Jumlah Bilangan Baris dalam Jadual

COUNT() ialah fungsi agregat SQL yang digunakan untuk mengira jumlah bilangan baris berdasarkan medan tertentu atau semua medan. Simbol “*” digunakan untuk menandakan semua medan dan COUNT(*) digunakan untuk mengira semua rekod jadual.

Pertanyaan berikut mengira jumlah rekod jadual buku:

PILIH COUNT ( * ) AS `Jumlah Buku` DARI buku;

Empat rekod dalam jadual 'buku' ditunjukkan dalam output:

Pertanyaan berikut mengira jumlah baris jadual 'ahli' berdasarkan medan 'id':

PILIH COUNT ( ID ) AS `Jumlah Ahli` DARI ahli;

Jadual 'ahli' mempunyai dua nilai id yang dicetak dalam output:

Baca Data daripada Pelbagai Jadual

Penyataan SELECT sebelumnya telah mendapatkan semula data daripada satu jadual. Tetapi pernyataan SELECT boleh digunakan untuk mendapatkan semula data daripada dua atau lebih jadual. Pertanyaan SELECT berikut membaca nilai medan tajuk dan pengarang daripada jadual “buku” dan tarikh_pinjam daripada jadual “book_borrow_info”.

PILIH tajuk , pengarang , tarikh_pinjam
DARI buku , info_pinjam_buku
DI MANA buku . ID = info_pinjam_buku . id_buku;

Output berikut menunjukkan bahawa buku “SQL in 10 Minutes” dipinjam dua kali dan buku “SQL Cookbook (O’Reilly)” dipinjam sekali:

Data boleh diambil daripada pelbagai jadual menggunakan pelbagai jenis JOIN seperti INNER JOIN, OUTER JOIN, dll. yang tidak dijelaskan dalam tutorial ini.

Baca Jadual dengan Mengumpulkan Medan Tertentu

Klausa GROUP BY digunakan untuk membaca rekod daripada jadual dengan mengumpulkan baris berdasarkan satu atau lebih medan. Jenis pertanyaan ini dipanggil pertanyaan ringkasan. Anda perlu memasukkan berbilang baris dalam jadual untuk menyemak penggunaan klausa GROUP BY. Jalankan pernyataan INSERT berikut untuk memasukkan satu rekod ke dalam jadual 'ahli' dan dua rekod ke dalam jadual 'book_borrow_info'.

INSERT KE DALAM ahli
SET nama = 'Dia Hasan' , alamat = '11/A, Jigatola, Dhaka' , contact_no = '+8801734563423' , emel = 'she@gmail.com' ;
INSERT KE DALAM info_pinjam_buku ( ID , tarikh_pinjam , id_buku , ID ahli , tarikh_pulangan , STATUS )
NILAI ( 2 , '2023-04-10' , 1 , 1 , '2023-04-15' , 'Dipulangkan' ) ;
INSERT KE DALAM info_pinjam_buku ( ID , tarikh_pinjam , id_buku , ID ahli , tarikh_pulangan , STATUS )
NILAI ( 3 , '20-05-2023' , 2 , 1 , '2023-05-30' , 'Dipinjam' ) ;

Selepas memasukkan data dengan melaksanakan pertanyaan sebelumnya, jalankan pernyataan SELECT berikut yang mengira jumlah bilangan buku yang dipinjam dan nama ahli berdasarkan setiap ahli menggunakan klausa GROUP BY. Di sini, fungsi COUNT() berfungsi pada medan yang digunakan untuk mengumpulkan semula rekod menggunakan klausa GROUP BY. Medan book_id pada jadual 'ahli' digunakan untuk mengumpulkan di sini.

PILIH COUNT ( id_buku ) AS `Jumlah buku yang dipinjam` , nama AS `Nama Ahli` DARI buku , ahli , info_pinjam_buku DI MANA buku . ID = info_pinjam_buku . id_buku DAN ahli . ID = info_pinjam_buku . ID ahli KUMPULAN OLEH info_pinjam_buku . ID ahli;

Mengikut data buku, jadual 'ahli' dan 'book_borrow_info', 'John Sina' meminjam 2 buku dan 'Ella Hasan' meminjam 1 buku.

Baca Jadual Selepas Meninggalkan Nilai Pendua

Kadangkala, data pendua dijana dalam set hasil pernyataan SELECT berdasarkan data jadual yang tidak diperlukan. Sebagai contoh, pernyataan SELECT berikut mengembalikan rekod pendua untuk data jadual 'book_borrow_info'.

PILIH nama , emel
DARI ahli , info_pinjam_buku
DI MANA info_pinjam_buku . ID ahli = ahli . ID;

Dalam output, rekod yang sama muncul dua kali kerana ahli 'John Sina' meminjam dua buku. Masalah ini boleh diselesaikan menggunakan kata kunci DISTINCT. Ia mengalih keluar rekod pendua daripada hasil pertanyaan.

Pernyataan SELECT berikut menjana rekod unik set hasil daripada jadual 'ahli' dan 'book_borrow_info' selepas meninggalkan nilai pendua menggunakan kata kunci DISTINCT dalam pertanyaan.

PILIH BERBEZA nama , emel
DARI ahli , info_pinjam_buku
DI MANA info_pinjam_buku . ID ahli = ahli . ID;

Output menunjukkan bahawa nilai pendua dialih keluar daripada set hasil:

Baca Jadual dengan Mengehadkan Nombor Baris

Kadangkala, ia memerlukan membaca bilangan rekod tertentu dari permulaan set hasil, penghujung set hasil, atau pertengahan set hasil daripada jadual pangkalan data dengan mengehadkan nombor baris. Ia boleh dilakukan dalam pelbagai cara. Sebelum mengehadkan baris, jalankan pernyataan SQL berikut untuk menyemak bilangan rekod yang wujud dalam jadual buku:

PILIH * DARI buku;

Output menunjukkan bahawa jadual buku mempunyai empat rekod:

Pernyataan SELECT berikut membaca dua rekod pertama daripada jadual 'buku' menggunakan klausa LIMIT dengan nilai 2:

PILIH * DARI buku HAD 2 ;

Dua rekod pertama jadual 'buku' diambil yang ditunjukkan dalam output:

Klausa FETCH ialah alternatif klausa LIMIT dan penggunaannya ditunjukkan dalam pernyataan SELECT berikut. 3 rekod pertama jadual 'buku' diambil menggunakan klausa FETCH FIRST 3 ROWS ONLY dalam pernyataan SELECT:

PILIH * DARI buku FETCH PERTAMA 3 BARIS SAHAJA ;

Output menunjukkan 3 rekod pertama jadual 'buku':

Dua rekod daripada 3 rd baris jadual buku diambil dengan melaksanakan pernyataan SELECT berikut. Klausa LIMIT digunakan dengan nilai 2, 2 di sini di mana 2 pertama mentakrifkan kedudukan permulaan baris jadual yang mula mengira dari 0 dan 2 kedua mentakrifkan bilangan baris yang mula mengira dari kedudukan permulaan.

PILIH * DARI buku HAD 2 , 2 ;

Output berikut muncul selepas melaksanakan pertanyaan sebelumnya:

Rekod dari hujung jadual boleh dibaca dengan mengisih jadual dalam tertib menurun berdasarkan nilai kunci primer yang dinaikkan secara automatik dan menggunakan klausa LIMIT. Jalankan pernyataan SELECT berikut yang membaca 2 rekod terakhir daripada jadual 'buku'. Di sini, set hasil diisih dalam tertib menurun berdasarkan medan 'id'.

PILIH * DARI buku PESANAN OLEH ID DESC HAD 2 ;

Dua rekod terakhir jadual buku ditunjukkan dalam output berikut:

Baca Jadual Berdasarkan Padanan Separa

Klausa LIKE digunakan dengan simbol “%” untuk mendapatkan semula rekod daripada jadual dengan padanan separa. Pernyataan SELECT berikut mencari rekod daripada jadual 'buku' di mana medan pengarang mengandungi 'John' pada permulaan nilai menggunakan klausa LIKE. Di sini, simbol '%' digunakan pada penghujung rentetan carian.

PILIH * DARI buku DI MANA pengarang SUKA 'John%' ;

Hanya satu rekod wujud dalam jadual 'buku' yang mengandungi rentetan 'John' pada permulaan nilai medan pengarang.

Pernyataan SELECT berikut mencari rekod daripada jadual 'buku' di mana medan penerbitan mengandungi 'Ltd' di hujung nilai menggunakan klausa LIKE. Di sini, simbol '%' digunakan pada permulaan rentetan carian:

PILIH * DARI buku DI MANA penerbitan SUKA '%Ltd' ;

Hanya satu rekod wujud dalam jadual 'buku' yang mengandungi rentetan 'Ltd' di hujung medan penerbitan.

Pernyataan SELECT berikut mencari rekod daripada jadual 'buku' di mana medan tajuk mengandungi 'Pertanyaan' di mana-mana nilai menggunakan klausa LIKE. Di sini, simbol '%' digunakan pada kedua-dua belah rentetan carian:

PILIH * DARI buku DI MANA tajuk SUKA '%Queries%' ;

Hanya satu rekod wujud dalam jadual 'buku' yang mengandungi rentetan 'Pertanyaan' pada medan tajuk.

Kira Jumlah Medan Tertentu Jadual

SUM() ialah satu lagi fungsi agregat berguna SQL yang mengira jumlah nilai mana-mana medan berangka jadual. Fungsi ini mengambil satu hujah yang mestilah angka. Pernyataan SQL berikut mengira jumlah semua nilai medan harga jadual 'buku' yang mengandungi nilai integer.

PILIH JUMLAH ( harga ) AS `Jumlah Harga Buku`
DARI buku;

Output menunjukkan nilai penjumlahan semua nilai medan harga jadual 'buku'. Empat nilai medan harga ialah 39, 49, 35, dan 45. Jumlah nilai ini ialah 168.

Cari Nilai Maksimum dan Minimum Medan Tertentu

Fungsi agregat MIN() dan MAX() digunakan untuk mengetahui nilai minimum dan maksimum medan tertentu jadual. Kedua-dua fungsi mengambil satu hujah yang mestilah angka. Pernyataan SQL berikut mengetahui nilai harga minimum daripada jadual 'buku' yang merupakan integer.

PILIH MIN ( harga ) AS `Buku kos minimum` DARI buku;

Tiga puluh lima (35) ialah nilai minimum medan harga yang dicetak dalam output.

Pernyataan SQL berikut mengetahui nilai harga maksimum daripada jadual 'buku':

PILIH MAX ( harga ) AS `Buku kos maksimum` DARI buku;

Empat puluh sembilan (49) ialah nilai maksimum medan harga yang dicetak dalam output.

Baca Bahagian Tertentu Data atau Medan

Fungsi SUBSTR() digunakan dalam pernyataan SQL untuk mendapatkan semula bahagian tertentu data rentetan atau nilai medan tertentu jadual. Fungsi ini mengandungi tiga hujah. Argumen pertama mengandungi nilai rentetan atau nilai medan jadual yang merupakan rentetan. Argumen kedua mengandungi kedudukan permulaan sub-rentetan yang diambil daripada argumen pertama dan pengiraan nilai ini bermula dari 1. Argumen ketiga mengandungi panjang sub-rentetan yang mula mengira dari kedudukan permulaan.

Pernyataan SELECT berikut memotong dan mencetak lima aksara pertama daripada rentetan 'Ketahui Asas SQL' dengan kedudukan permulaan ialah 1 dan panjangnya ialah 5:

PILIH SUBSTR ( 'Ketahui Asas SQL' , 1 , 5 ) AS `Nilai Substring` ;

Lima aksara pertama rentetan 'Learn SQL Basics' ialah 'Learn' yang dicetak dalam output.

Pernyataan SELECT berikut memotong dan mencetak SQL daripada rentetan 'Ketahui Asas SQL' dengan kedudukan permulaan ialah 7 dan panjangnya ialah 3:

PILIH SUBSTR ( 'Ketahui Asas SQL' , 7 , 3 ) AS `Nilai Substring` ;

Output berikut muncul selepas melaksanakan pertanyaan sebelumnya:

Pernyataan SELECT berikut memotong dan mencetak lima aksara pertama daripada medan nama jadual 'ahli':

PILIH SUBSTR ( nama , 1 , 5 ) AS `Nama Ahli` DARI ahli;

Output menunjukkan lima aksara pertama setiap nilai medan nama jadual 'ahli'.

Baca Data Jadual Selepas Penyatuan

Fungsi CONCAT() digunakan untuk menjana output dengan menggabungkan satu atau lebih medan jadual atau menambah data rentetan atau nilai medan tertentu jadual. Pernyataan SQL berikut membaca nilai medan tajuk, pengarang dan harga jadual 'buku', dan nilai rentetan '$' ditambah dengan setiap nilai medan harga menggunakan fungsi CONCAT().

PILIH tajuk AS Tajuk , pengarang AS Pengarang , CONCAT ( '$' , harga ) AS harga
DARI buku;

Nilai medan harga dicetak dalam output dengan menggabungkan dengan rentetan '$'.

Jalankan pernyataan SQL berikut untuk menggabungkan nilai medan tajuk dan pengarang jadual 'buku' dengan nilai rentetan 'oleh' menggunakan fungsi CONCAT():

PILIH CONCAT ( tajuk , 'oleh' , pengarang ) AS `Nama buku dengan pengarang`
DARI buku;

Output berikut muncul selepas melaksanakan pertanyaan SELECT sebelumnya:

Baca Data Jadual Selepas Pengiraan Matematik

Sebarang pengiraan matematik boleh dilakukan pada masa mendapatkan semula nilai jadual menggunakan pernyataan SELECT. Jalankan pernyataan SQL berikut untuk membaca id, tajuk, harga dan nilai harga diskaun selepas mengira diskaun 5%.

PILIH ID , tajuk , harga AS `Harga Biasa` , harga - ( harga * 5 / 100 ) AS `Harga Diskaun`
DARI buku;

Output berikut menunjukkan harga biasa dan harga diskaun bagi setiap buku:

Buat Paparan Jadual

VIEW digunakan untuk membuat pertanyaan mudah dan menyediakan keselamatan tambahan kepada pangkalan data. Ia berfungsi seperti jadual maya yang dijana daripada satu atau lebih jadual. Kaedah mencipta dan melaksanakan VIEW mudah berdasarkan jadual 'ahli' ditunjukkan dalam contoh berikut. VIEW dilaksanakan menggunakan pernyataan SELECT. Pernyataan SQL berikut mencipta PANDANGAN jadual 'ahli' dengan medan id, nama, alamat dan contact_no. Pernyataan SELECT melaksanakan ahli_view.

CIPTA LIHAT pandangan_ahli AS
PILIH ID , nama , alamat , contact_no
DARI ahli;

PILIH * DARI pandangan_ahli;

Output berikut muncul selepas mencipta dan melaksanakan paparan:

Kemas kini Jadual Berdasarkan Keadaan Tertentu

Kenyataan UPDATE digunakan untuk mengemas kini kandungan jadual. Jika sebarang pertanyaan UPDATE dilaksanakan tanpa klausa WHERE, semua medan yang digunakan dalam pertanyaan UPDATE dikemas kini. Jadi, perlu menggunakan pernyataan UPDATE dengan klausa WHERE yang betul. Jalankan kenyataan UPDATE berikut untuk mengemas kini medan nama dan contact_no di mana nilai medan id ialah 1. Seterusnya, laksanakan pernyataan SELECT untuk menyemak sama ada data dikemas kini dengan betul atau tidak.

KEMASKINI ahli
SET nama = 'Janifer' , contact_no = '+880175621223'
DI MANA ID = 1 ;

PILIH * DARI ahli;

Output berikut menunjukkan bahawa pernyataan UPDATE berjaya dilaksanakan. Nilai medan nama ditukar kepada 'Janifer' dan medan contact_no ditukar kepada '+880175621223' rekod yang mengandungi nilai id 1 menggunakan pertanyaan KEMASKINI:

Padamkan Data Jadual Berdasarkan Keadaan Tertentu

Pernyataan DELETE digunakan untuk memadam kandungan tertentu atau semua kandungan jadual. Jika sebarang pertanyaan DELETE dilaksanakan tanpa klausa WHERE, semua medan akan dipadamkan. Jadi, perlu menggunakan pernyataan UPDATE dengan klausa WHERE yang betul. Jalankan pernyataan DELETE berikut untuk memadam semua data dari jadual buku di mana nilai idnya ialah 4. Seterusnya, laksanakan pernyataan SELECT untuk menyemak sama ada data dipadam dengan betul atau tidak.

PADAM DARI buku DI MANA ID = 4 ;
PILIH * DARI buku;

Output berikut menunjukkan bahawa pernyataan DELETE berjaya dilaksanakan. Yang 4 ke rekod jadual buku dialih keluar menggunakan pertanyaan DELETE:

Padamkan Semua Rekod daripada Jadual

Jalankan pernyataan DELETE berikut untuk memadam semua rekod daripada jadual 'buku' di mana klausa WHERE ditinggalkan. Seterusnya, laksanakan pertanyaan SELECT untuk menyemak kandungan jadual.

PADAM DARI info_pinjam_buku;
PILIH * DARI info_pinjam_buku;

Output berikut menunjukkan bahawa jadual 'buku' kosong selepas melaksanakan pertanyaan DELETE:

Jika mana-mana jadual mengandungi atribut kenaikan automatik dan semua rekod dipadamkan daripada jadual, medan kenaikan automatik mula mengira dari kenaikan terakhir apabila rekod baharu dimasukkan selepas membuat jadual kosong. Masalah ini boleh diselesaikan menggunakan pernyataan TRUNCATE. Ia juga digunakan untuk memadam semua rekod daripada jadual tetapi medan kenaikan automatik mula dikira dari 1 selepas memadam semua rekod daripada jadual. SQL pernyataan TRUNCATE ditunjukkan dalam perkara berikut:

POTONG info_pinjam_buku;

Jatuhkan Meja

Satu atau lebih jadual boleh digugurkan dengan menyemak atau tanpa menyemak sama ada jadual itu wujud atau tidak. Pernyataan DROP berikut memadamkan jadual “book_borrow_info” dan pernyataan “SHOW tables” menyemak sama ada jadual itu wujud atau tidak pada pelayan.

JATUHKAN JADUAL info_pinjam_buku;
TUNJUKKAN MEJA ;

Output menunjukkan bahawa jadual 'book_borrow_info' digugurkan.

Jadual boleh digugurkan selepas menyemak sama ada ia wujud pada pelayan atau tidak. Jalankan pernyataan DROP berikut untuk memadamkan jadual buku dan ahli jika jadual ini wujud dalam pelayan. Seterusnya, pernyataan 'SHOW tables' menyemak sama ada jadual wujud atau tidak pada pelayan.

JATUHKAN JADUAL JIKA WUJUD buku , ahli;
TUNJUKKAN MEJA ;

Output berikut menunjukkan bahawa jadual dipadamkan daripada pelayan:

Gugurkan Pangkalan Data

Jalankan pernyataan SQL berikut untuk memadam pangkalan data 'perpustakaan' daripada pelayan:

JATUHKAN PANGKALAN DATA perpustakaan;

Output menunjukkan bahawa pangkalan data digugurkan.

Kesimpulan

Contoh pertanyaan SQL yang paling banyak digunakan untuk mencipta, mengakses, mengubah suai dan memadam pangkalan data pelayan MariaDB ditunjukkan dalam tutorial ini dengan mencipta pangkalan data dan tiga jadual. Penggunaan pernyataan SQL yang berbeza dijelaskan dengan contoh yang sangat mudah untuk membantu pengguna pangkalan data baharu mempelajari asas SQL dengan betul. Penggunaan pertanyaan kompleks diabaikan di sini. Pengguna pangkalan data baharu akan dapat mula bekerja dengan mana-mana pangkalan data selepas membaca tutorial ini dengan betul.