Pertanyaan SQL mudah - bantuan ringkas dan contoh. SQL - apakah itu, bahasa yang diperlukan, dan fungsi asas untuk pemula

Daripada pengarang: Adakah mereka memanggil anda teko? Nah, ini boleh diperbaiki! Setiap samovar pernah menjadi teko! Atau adakah setiap profesional pernah menjadi samovar? Tidak, ada yang tidak kena lagi! Secara umum, MySQL adalah untuk pemula.

Mengapa dummies memerlukan MySQL?

Jika anda serius merancang untuk menghubungkan kehidupan anda dengan Internet, maka dari langkah pertama dalam "web" anda akan menemui DBMS ini. MySQL dengan mudah boleh dipanggil sistem pengurusan pangkalan data "semua-Internet". Tiada satu pun sumber yang lebih atau kurang serius boleh melakukannya tanpanya; ia terdapat dalam panel pentadbir setiap pengehosan. Dan kebanyakan daripada semua CMS popular dan juga enjin "buatan sendiri" dibina dengan penyertaannya.

Secara umum, anda tidak boleh melakukannya tanpa platform ini. Tetapi untuk mempelajarinya, anda juga memerlukan pendekatan yang betul, alat yang betul, dan yang paling penting keinginan dan kesabaran. Saya harap anda mempunyai cukup bahan-bahan terakhir. Dan bersedialah untuk otak anda mendidih dan mengukus keluar dari kepala anda, seperti dari cerek sebenar

Tetapi MySQL sangat sukar untuk dummies hanya jika anda mula mempelajarinya secara tidak betul. Anda dan saya tidak akan melakukan kesilapan sedemikian, dan kami akan mula mengenali teknologi ini dari awal lagi.

Konsep asas

Mula-mula, mari kita bincangkan konsep asas yang akan kita sebutkan dalam penerbitan ini:

Pangkalan data (DB) ialah unit komponen utama DBMS. Pangkalan data termasuk jadual yang terdiri daripada lajur dan rekod (baris). Sel-sel yang terbentuk di persimpangan mengandungi data berstruktur jenis tertentu.

DBMS (sistem pengurusan pangkalan data) ialah satu set semua modul perisian untuk pentadbiran pangkalan data.

SQL ialah bahasa pertanyaan berstruktur yang mana pembangun "berkomunikasi" dengan teras DBMS (pelayan). Seperti mana-mana bahasa pengaturcaraan, SQL mempunyai sintaks sendiri, set arahan dan pengendali serta jenis data yang disokong.

Saya rasa pengetahuan teori sudah cukup untuk kita mulakan. Kami akan "mewarnai" jurang yang hilang dalam teori dengan amalan. Sekarang yang tinggal hanyalah memilih alat perisian yang betul.

Memilih alat yang betul

Setelah membelek-belek seluruh rangkaian MySQL untuk pemula, saya menyedari bahawa ia tidak wujud. Semua produk perisian untuk pentadbiran DBMS memerlukan pelayan pangkalan data yang telah dipasang. Secara umum, saya memutuskan sekali lagi untuk tidak mencipta "skuter", dan memilih pakej Denwer domestik. Anda boleh memuat turunnya di laman web rasmi.

Ia sudah termasuk semua komponen DBMS, membolehkan pemula untuk memulakan kenalan praktikal dengan MySQL serta-merta selepas pemasangan yang mudah dan mudah. Selain itu, Denwer menyertakan beberapa lagi alatan yang diperlukan untuk pembangun pemula: pelayan tempatan, PHP.

Langkah pertama

Saya tidak akan menerangkan proses pemasangan set "gentleman", kerana semuanya berlaku secara automatik di sana. Selepas melancarkan pemasangan, hanya mempunyai masa untuk menekan kekunci yang diperlukan. Hanya apa yang anda perlukan dalam versi MySQL for dummies.

Apabila proses pemasangan selesai, mulakan pelayan tempatan, tunggu beberapa saat. Selepas itu, taip localhost dalam bar alamat penyemak imbas anda.

Pada halaman "Hurray, ia berfungsi!" ikut salah satu pautan yang ditunjukkan dalam gambar. Selepas itu anda akan dibawa ke phpMyAdmin - shell untuk mentadbir pangkalan data.

Dengan mengikuti pautan http://downloads.mysql.com/docs/world.sql.zip, anda akan memuat turun contoh pangkalan data ujian daripada laman web rasmi MySQL. Pergi ke phpMyAdmin sekali lagi, dalam menu utama di bahagian atas, pergi ke tab "Import". Dalam tetingkap Import ke Semasa, dalam bahagian pertama (Fail untuk Import), tetapkan nilai kepada Semak imbas komputer anda.

Dalam tetingkap Explorer, pilih arkib dengan pangkalan data contoh yang dimuat turun. Jangan lupa klik "Ok" di bahagian bawah tetingkap utama.

Saya menasihati anda untuk tidak menukar nilai parameter yang ditentukan buat masa ini. Ini boleh mengakibatkan paparan data sumber yang diimport tidak betul. Jika sistem phpMyAdmin menjana ralat yang tidak dapat mengecam algoritma pemampatan pangkalan data, kemudian nyahzipnya dan ulangi keseluruhan proses import dari awal.

Jika semuanya berjalan lancar, maka mesej program akan muncul di bahagian atas bahawa import telah berjaya, dan di sebelah kiri dalam senarai pangkalan data akan ada satu lagi (perkataan).

Mari lihat strukturnya dari dalam supaya anda dapat membayangkan dengan lebih jelas apa yang perlu anda hadapi.

Klik pada nama pangkalan data MySQL untuk pemula. Senarai jadual yang mengandunginya akan dipaparkan di bawahnya. Klik pada salah satu daripadanya. Kemudian pergi ke item menu atas "Struktur". Kawasan kerja utama akan memaparkan struktur jadual: nama semua lajur, jenis data dan semua atribut.

Pilihan buku, kursus video dan sumber dalam talian untuk mengkaji pangkalan data, asas teori hubungan dan bahasa SQL.

Buku

Alan Bewley "Belajar SQL" (2007)

Buku ini adalah pilihan yang sangat baik untuk mereka yang berada di permulaan laluan berduri untuk mempelajari SQL. Ia bukan sahaja akan membolehkan anda memperoleh asas pengetahuan awal yang diperlukan, tetapi juga akan memberitahu anda tentang kehalusan paling popular dan alat bahasa berkuasa yang digunakan oleh pengaturcara berpengalaman.
Banyak buku teks mengenai pangkalan data, teori hubungan, dan SQL dipenuhi dengan konsep teori yang membosankan. Buku ini merupakan pengecualian yang menyenangkan kerana gayanya yang ringan dan meriah. Pengarang dengan mahir membentangkan maklumat kepada pembaca tentang ungkapan dan blok SQL, jenis keadaan, cantuman, subkueri dan banyak lagi.
Untuk menyatukan pengetahuan yang diperoleh dalam amalan, penulis mencipta pangkalan latihan MySQL dan menyediakan banyak contoh praktikal pertanyaan yang meliputi semua bahan teori yang dibentangkan.

Chris Fiaily "SQL" (2013)


Buku ini membincangkan versi bahasa ANSI SQL-92 (SQL2). Ia menerangkan secara terperinci cara menggunakan bahasa pertanyaan untuk menyelesaikan kelas masalah yang sepadan untuk mendapatkan dan mengubah suai data dan bekerja dengan objek struktur pangkalan data. Semua contoh diterangkan secara terperinci.
Perhatian khusus dalam penerbitan ini diberikan kepada perbezaan dalam dialek SQL dalam pelaksanaan DBMS yang paling biasa: MySQL, Oracle, MS SQL Server dan PostgreSQL.
Buku ini ditujukan untuk sesiapa sahaja yang ingin mempelajari bahasa SQL secara bebas atau meningkatkan pengetahuan mereka tentang topik ini.

Anthony Molinaro "SQL. Koleksi resipi" (2009)


Penerbitan ini ditujukan untuk mereka yang sudah mempunyai sedikit pengetahuan tentang SQL dan ingin meningkatkan kemahiran mereka dalam bidang ini. Ia juga akan sangat berguna untuk pakar pangkalan data, kerana pengarang menawarkan contoh penyelesaian masalah dalam DBMS yang berbeza: DB2, Oracle, PostgreSQL, MySQL dan SQL Server.
Buku ini akan membantu anda mempelajari cara menggunakan SQL untuk menyelesaikan pelbagai masalah yang lebih luas: daripada operasi dalam pangkalan data kepada mendapatkan semula data dan menghantarnya melalui rangkaian kepada aplikasi.
Anda akan belajar cara menggunakan fungsi tetingkap dan pengendali khas, serta teknik lanjutan untuk bekerja dengan gudang data: mencipta histogram, meringkaskan data ke dalam blok, melakukan pengagregatan julat gelongsor, menjana jumlah dan subtotal yang sedang berjalan. Anda akan dapat mengembangkan baris ke dalam lajur dan sebaliknya, memudahkan pengiraan dalam satu baris dan menggandakan set hasil, dan melakukan rentas rentetan, yang membolehkan anda menggunakan SQL untuk menghuraikan rentetan kepada aksara, perkataan atau rentetan terhad. elemen. Teknik yang dicadangkan oleh pengarang akan membolehkan anda mengoptimumkan kod aplikasi anda dan membuka kemungkinan baharu untuk anda dalam bahasa SQL.

Alex Kriegel et al. “SQL. Bible Pengguna, edisi ke-2 (2010)


Buku ini unik kerana setiap bab membandingkan pelaksanaan pertanyaan tertentu dalam dialek tiga DBMS terkemuka. Ini menjadikannya panduan yang komprehensif dan praktikal kepada bahasa SQL untuk pembangun daripada pemula kepada guru, sejenis panduan desktop.
Penerbitan ini merangkumi topik dari yang paling asas kepada transaksi dan kunci, fungsi dan keselamatan pangkalan data.
Terdapat beberapa topik tambahan yang dibentangkan pada penghujung: penyepaduan SQL ke XML, perisikan perniagaan OLAP dan banyak lagi.

Eric Redmond, Jim R. Wilson "Tujuh Pangkalan Data dalam Tujuh Minggu." Pengenalan kepada pangkalan data moden dan ideologi NoSQL" (2015)

Buku ini merangkumi kebanyakan pangkalan data sumber terbuka moden: Redis, Neo4J, CouchDB, MongoDB, HBase, PostgreSQL dan Riak. Untuk setiap asas, contoh bekerja dengan data sebenar disediakan, menunjukkan idea utama dan kekuatan.
Buku ini akan menjelaskan kekuatan dan kelemahan setiap satu daripada tujuh pangkalan data dan mengajar anda cara memilih yang paling sesuai dengan keperluan anda.

Pertanyaan ditulis tanpa petikan melarikan diri, kerana MySQL, MS SQL Dan PostGree mereka berbeza.

Pertanyaan SQL: mendapatkan medan yang ditentukan (perlu) daripada jadual

PILIH id, country_title, count_people FROM table_name

Kami mendapat senarai rekod: SEMUA negara dan populasi mereka. Nama-nama medan yang diperlukan ditunjukkan dipisahkan dengan koma.

PILIH * DARI table_name

* menandakan semua medan. Iaitu, akan ada pertunjukan SEMUANYA medan data.

Pertanyaan SQL: mengeluarkan rekod daripada jadual tidak termasuk pendua

PILIH tajuk_negara yang DISTINCT DARI nama_jadual

Kami mendapat senarai rekod: negara tempat pengguna kami berada. Terdapat ramai pengguna dari satu negara. Dalam kes ini ia adalah permintaan anda.

Pertanyaan SQL: memaparkan rekod daripada jadual berdasarkan syarat yang diberikan

PILIH id, country_title, city_title FROM table_name WHERE count_people>100000000

Kami mendapat senarai rekod: negara yang bilangan orangnya melebihi 100,000,000.

Pertanyaan SQL: memaparkan rekod dari jadual dengan pesanan

PILIH id, city_title DARI table_name ORDER BY city_title

Kami mendapat senarai rekod: bandar dalam susunan abjad. Di awal A, di akhir Z.

PILIH id, city_title DARI table_name ORDER BY city_title DESC

Kami mendapat senarai rekod: bandar secara terbalik ( DESC) baik. Pada permulaan saya, pada akhir A.

Pertanyaan SQL: mengira bilangan rekod

PILIH COUNT(*) DARI table_name

Kami mendapat bilangan (bilangan) rekod dalam jadual. Dalam kes ini TIADA senarai rekod.

Pertanyaan SQL: mengeluarkan julat rekod yang dikehendaki

PILIH * DARI nama_jadual LIMIT 2, 3

Kami mendapat 2 (kedua) dan 3 (ketiga) rekod daripada jadual. Pertanyaan berguna apabila membuat navigasi pada halaman WEB.

Pertanyaan SQL dengan syarat

Memaparkan rekod daripada jadual berdasarkan keadaan tertentu menggunakan operator logik.

Pertanyaan SQL: DAN pembinaan

PILIH id, city_title DARI table_name WHERE country="Rusia" DAN minyak=1

Kami mendapat senarai rekod: bandar dari Rusia DAN mempunyai akses kepada minyak. Bila hendak menggunakan operator DAN, maka kedua-dua syarat mesti sepadan.

Pertanyaan SQL: ATAU bina

PILIH id, city_title FROM table_name WHERE country="Rusia" OR country="USA"

Kami mendapat senarai rekod: semua bandar dari Rusia ATAU USA. Bila hendak menggunakan operator ATAU, maka SEKURANG-KURANGNYA satu syarat mesti sepadan.

Pertanyaan SQL: DAN BUKAN pembinaan

PILIH id, log masuk pengguna DARI table_name WHERE country="Rusia" DAN BUKAN count_comments<7

Kami mendapat senarai rekod: semua pengguna dari Rusia DAN yang buat TIDAK KURANG 7 ulasan.

Pertanyaan SQL: Pembinaan DALAM (B)

PILIH id, log masuk pengguna DARI nama_jadual WHERE country IN ("Rusia", "Bulgaria", "China")

Kami mendapat senarai rekod: semua pengguna yang tinggal di ( DALAM) (Rusia, atau Bulgaria, atau China)

Pertanyaan SQL: TIDAK DALAM pembinaan

PILIH id, log masuk pengguna DARI nama_jadual WHERE country NOT IN ("Rusia","China")

Kami mendapat senarai rekod: semua pengguna yang tidak tinggal di ( TIDAK MASUK) (Rusia atau China).

Pertanyaan SQL: IS binaan NULL (kosong atau BUKAN nilai kosong)

PILIH id, log masuk pengguna DARI nama_jadual WHERE status IS NULL

Kami mendapat senarai rekod: semua pengguna yang statusnya tidak ditentukan. NULL ialah isu berasingan dan oleh itu disemak secara berasingan.

PILIH id, log masuk pengguna DARI nama_jadual WHERE keadaan TIDAK NULL

Kami mendapat senarai rekod: semua pengguna di mana status ditentukan (BUKAN NULL).

Pertanyaan SQL: SEPERTI pembinaan

PILIH id, log masuk pengguna DARI nama_jadual DI MANA nama keluarga SEPERTI "Ivan%"

Kami mendapat senarai rekod: pengguna yang nama terakhirnya bermula dengan gabungan "Ivan". Tanda % bermaksud SEBARANG bilangan SEBARANG aksara. Untuk mencari tanda % anda perlu menggunakan "Ivan\%" melarikan diri.

Pertanyaan SQL: ANTARA pembinaan

PILIH id, log masuk pengguna DARI nama_jadual WHERE gaji ANTARA 25000 DAN 50000

Kami mendapat senarai rekod: pengguna yang menerima gaji daripada 25,000 hingga 50,000 termasuk.

Terdapat BANYAK operator logik, jadi pelajari dokumentasi pelayan SQL secara terperinci.

Pertanyaan SQL yang kompleks

Pertanyaan SQL: menggabungkan berbilang pertanyaan

(PILIH id, log masuk pengguna DARI table_name1) KESATUAN (PILIH id, log masuk pengguna DARI table_name2)

Kami mendapat senarai entri: pengguna yang didaftarkan dalam sistem, serta pengguna yang didaftarkan secara berasingan di forum. Pengendali UNION boleh menggabungkan berbilang pertanyaan. UNION bertindak seperti SELECT DISTINCT, iaitu, ia membuang nilai pendua. Untuk mendapatkan semua rekod, anda perlu menggunakan operator UNION ALL.

Pertanyaan SQL: mengira nilai medan MAX, MIN, SUM, AVG, COUNT

Memaparkan satu, nilai pembilang maksimum dalam jadual:

PILIH MAX(kaunter) DARI table_name

Output satu, nilai pembilang minimum dalam jadual:

PILIH MIN(kaunter) DARI table_name

Memaparkan jumlah semua nilai pembilang dalam jadual:

PILIH JUMLAH(bilangan) DARI table_name

Memaparkan nilai pembilang purata dalam jadual:

PILIH AVG(kaunter) DARI table_name

Memaparkan bilangan pembilang dalam jadual:

PILIH COUNT(kaunter) DARI table_name

Memaparkan bilangan meter di bengkel No. 1 dalam jadual:

SELECT COUNT(counter) FROM table_name WHERE office="Bengkel No. 1"

Ini adalah pasukan yang paling popular. Adalah disyorkan, jika boleh, untuk menggunakan pertanyaan SQL jenis ini untuk pengiraan, kerana tiada persekitaran pengaturcaraan boleh membandingkan dalam kelajuan pemprosesan data daripada pelayan SQL itu sendiri semasa memproses datanya sendiri.

Pertanyaan SQL: mengumpulkan rekod

PILIH benua, SUM(kawasan_negara) DARI negara KUMPULAN MENGIKUT benua

Kami mendapat senarai rekod: dengan nama benua dan jumlah kawasan semua negara mereka. Iaitu, jika terdapat direktori negara di mana setiap negara mencatatkan kawasannya, maka menggunakan konstruk GROUP BY anda boleh mengetahui saiz setiap benua (berdasarkan kumpulan mengikut benua).

Pertanyaan SQL: menggunakan berbilang jadual melalui alias

PILIH o.no_pesanan, o.jumlah_dibayar, c.syarikat DARIPADA pesanan SEBAGAI o, pelanggan AS dengan WHERE o.custno=c.custno DAN c.city="Tyumen"

Kami menerima senarai rekod: pesanan daripada pelanggan yang tinggal di Tyumen sahaja.

Malah, dengan pangkalan data yang direka bentuk dengan betul jenis ini, permintaan adalah yang paling kerap, jadi pengendali khas telah diperkenalkan ke dalam MySQL yang berfungsi berkali-kali lebih pantas daripada kod bertulis di atas.

PILIH o.no_pesanan, o.amount_paid, z.company DARIPADA pesanan AS o TINGGALKAN SERTAI pelanggan SEBAGAI z HIDUP (z.custno=o.custno)

Subkueri Bersarang

SELECT * FROM table_name WHERE gaji=(SELECT MAX(gaji) FROM pekerja)

Kami mendapat satu rekod: maklumat tentang pengguna dengan gaji maksimum.

Perhatian! Subquery bersarang adalah salah satu kesesakan terbesar dalam pelayan SQL. Bersama-sama dengan fleksibiliti dan kuasa mereka, mereka juga meningkatkan beban pada pelayan dengan ketara. Yang membawa kepada kelembapan yang teruk untuk pengguna lain. Kes panggilan rekursif dalam pertanyaan bersarang adalah sangat biasa. Oleh itu, saya amat mengesyorkan TIDAK menggunakan pertanyaan bersarang, tetapi memecahkannya kepada pertanyaan yang lebih kecil. Atau gunakan kombinasi LEFT JOIN yang diterangkan di atas. Di samping itu, permintaan jenis ini adalah peningkatan sumber pelanggaran keselamatan. Jika anda memutuskan untuk menggunakan subquery bersarang, maka anda perlu mereka bentuknya dengan berhati-hati dan membuat larian awal pada salinan pangkalan data (pangkalan data ujian).

Pertanyaan SQL menukar data

Pertanyaan SQL: INSERT

Arahan INSERT membolehkan anda memasukkan rekod ke dalam jadual. Dengan kata mudah, buat baris dengan data dalam jadual.

Pilihan 1. Arahan yang sering digunakan ialah:

INSERT INTO table_name (id, user_login) VALUES (1, "ivanov"), (2, "petrov")

Ke meja" nama_jadual“2 (dua) pengguna akan dimasukkan sekali gus.

Pilihan #2. Ia lebih mudah untuk menggunakan gaya:

INSERT table_name SET id=1, user_login="ivanov"; INSERT table_name SET id=2, user_login="petrov";

Ini ada kelebihan dan kekurangannya.

Kelemahan utama:

  • Banyak pertanyaan SQL kecil akan melaksanakan sedikit lebih perlahan daripada satu pertanyaan SQL yang besar, tetapi pertanyaan lain akan beratur untuk perkhidmatan. Iaitu, jika pertanyaan SQL yang besar mengambil masa 30 minit untuk dilaksanakan, maka selama ini pertanyaan yang tinggal akan menghisap buluh dan menunggu giliran mereka.
  • Permintaan itu ternyata lebih besar daripada versi sebelumnya.

Kelebihan utama:

  • Semasa pertanyaan SQL kecil, pertanyaan SQL lain tidak disekat.
  • Kemudahan membaca.
  • Fleksibiliti. Dalam pilihan ini, anda tidak perlu mengikut struktur, tetapi tambahkan hanya data yang diperlukan.
  • Apabila membuat arkib dengan cara ini, anda boleh dengan mudah menyalin satu baris dan menjalankannya melalui baris arahan (konsol), dengan itu tidak memulihkan keseluruhan ARKIB.
  • Gaya penulisan adalah serupa dengan pernyataan UPDATE, menjadikannya lebih mudah diingat.

Pertanyaan SQL: KEMASKINI

KEMASKINI table_name SET user_login="ivanov", user_surname="Ivanov" WHERE id=1

Dalam jadual" nama_jadual"dalam rekod dengan nombor id=1, nilai medan log masuk pengguna dan nama keluarga pengguna akan ditukar kepada nilai yang ditentukan.

Pertanyaan SQL: PADAM

PADAM DARI nama_jadual WHERE id=3

Dalam table table_name rekod dengan nombor id 3 akan dipadamkan.

  1. Adalah disyorkan untuk menulis semua nama medan dalam huruf kecil dan, jika perlu, pisahkan dengan ruang paksa "_" untuk keserasian dengan bahasa pengaturcaraan yang berbeza, seperti Delphi, Perl, Python dan Ruby.
  2. Tulis arahan SQL dalam huruf BESAR untuk kebolehbacaan. Sentiasa ingat bahawa orang lain boleh membaca kod selepas anda, dan kemungkinan besar anda sendiri selepas N tempoh masa.
  3. Namakan medan dahulu dengan kata nama dan kemudian dengan tindakan. Contohnya: status_bandar, log masuk pengguna, nama_pengguna.
  4. Cuba elakkan perkataan simpanan dalam bahasa yang berbeza yang boleh menyebabkan masalah dalam SQL, PHP atau Perl, seperti (nama, kiraan, pautan). Sebagai contoh: pautan boleh digunakan dalam MS SQL, tetapi dikhaskan dalam MySQL.

Bahan ini adalah rujukan ringkas untuk kerja harian dan tidak berpura-pura menjadi sumber berwibawa super mega, yang merupakan sumber asal pertanyaan SQL bagi pangkalan data tertentu.

Kebanyakan aplikasi web moden berinteraksi dengan pangkalan data, biasanya menggunakan bahasa yang dipanggil SQL. Nasib baik bagi kami, bahasa ini sangat mudah dipelajari. Dalam artikel ini kita akan melihat mudah SQL pertanyaan dan belajar cara menggunakannya untuk berinteraksi pangkalan data MySQL.

Apa yang anda perlukan?

SQL (Bahasa Pertanyaan Berstruktur) bahasa yang direka khusus untuk antara muka dengan sistem pengurusan pangkalan data seperti MySQL, Oracle, Sqlite dan lain-lain... Untuk melengkapkan SQL permintaan dalam artikel ini, saya menasihati anda untuk memasang MySQL ke komputer tempatan anda. Saya juga mengesyorkan menggunakan phpMyAdmin sebagai antara muka visual.

Semua ini tersedia di Denver kegemaran semua orang. Saya rasa semua orang harus tahu apa itu dan di mana untuk mendapatkannya :). boleh juga menggunakan WAMP atau MAMP.

Denver mempunyai terbina dalam MySQL konsol. Inilah yang akan kita gunakan.

BUAT PANGKALAN DATA:penciptaan pangkalan data

Inilah permintaan pertama kami. Kami akan mencipta pangkalan data pertama kami untuk kerja selanjutnya.

Untuk memulakan, buka MySQL konsol dan log masuk. Untuk WAMP Kata laluan lalai kosong. Iaitu, tiada apa-apa :). Untuk MAMP - "akar". Untuk Denver, kita perlu menjelaskan.

Selepas log masuk, masukkan baris berikut dan klik Masukkan:

CIPTA PANGKALAN DATA my_first_db;

Ambil perhatian bahawa koma bertitik (;) ditambahkan pada akhir pertanyaan, sama seperti dalam bahasa lain.

Juga arahan dalam SQL kes sensitif. Kami menulisnya dengan huruf besar.

Pilihan secara rasmi: Set WatakDan Pengumpulan

Jika anda ingin memasang set watak (set watak) dan penyusunan (perbandingan) boleh tulis arahan berikut:

CIPTA PANGKALAN DATA my_first_db SET KARAKTER LALAI utf8 COLLATE utf8_general_ci;

Mencari senarai set aksara yang disokong dalam MySQL.

TUNJUKKAN PANGKALAN DATA:memaparkan senarai semua pangkalan data

Perintah ini digunakan untuk menyenaraikan semua pangkalan data yang tersedia.

DROP DATABASE:memadam pangkalan data

Anda boleh memadamkan DB sedia ada menggunakan pertanyaan ini.

Berhati-hati dengan arahan ini kerana ia berjalan tanpa amaran. Jika terdapat data dalam pangkalan data anda, semuanya akan dipadamkan.

GUNA:Pemilihan pangkalan data

Secara teknikal ini bukan pertanyaan, tetapi pernyataan dan tidak memerlukan koma bertitik pada penghujungnya.

Ia memberitahu MySQL pilih pangkalan data lalai untuk sesi semasa. Kini kami bersedia untuk membuat jadual dan melakukan perkara lain dengan pangkalan data.

Apakah jadual dalam pangkalan data?

Anda boleh mewakili jadual dalam pangkalan data sebagai Fail Excel.

Sama seperti dalam gambar, jadual mempunyai nama lajur, baris dan maklumat. Dengan menggunakan SQL pertanyaan kita boleh membuat jadual sedemikian. Kami juga boleh menambah, membaca, mengemas kini dan memadam maklumat.

BUAT JADUAL: Mencipta jadual

C Menggunakan pertanyaan ini kita boleh membuat jadual dalam pangkalan data. Malangnya, dokumentasi MySQL tidak begitu jelas untuk pemula mengenai isu ini. Struktur jenis pertanyaan ini boleh menjadi sangat kompleks, tetapi kita akan mulakan dengan mudah.

Pertanyaan berikut akan membuat jadual dengan 2 lajur.

CIPTA pengguna JADUAL (nama pengguna VARCHAR(20), create_date DATE);

Sila ambil perhatian bahawa kami boleh menulis pertanyaan kami pada berbilang baris dan dengan tab untuk lekukan.

Baris pertama adalah mudah. Kami hanya membuat jadual yang dipanggil "pengguna". Seterusnya, dalam kurungan, dipisahkan dengan koma, ialah senarai semua lajur. Selepas setiap nama lajur kami mempunyai jenis maklumat, seperti VARCHAR atau DATE.

VARCHAR(20) bermakna lajur adalah daripada jenis rentetan dan boleh menjadi maksimum 20 aksara panjangnya. DATE juga merupakan jenis maklumat yang digunakan untuk menyimpan tarikh dalam format berikut: "YYYY - MM-DD".

KUNCI UTAMA ( kunci utamah)

Sebelum kami menjalankan pertanyaan seterusnya, kami juga mesti memasukkan lajur untuk "user_id", yang akan menjadi kunci utama kami. Anda boleh menganggap PRIMARY KEY sebagai maklumat yang digunakan untuk mengenal pasti setiap baris dalam jadual.

CIPTA pengguna JADUAL (user_id INT AUTO_INCREMENT PRIMARY KUNCI, nama pengguna VARCHAR(20), create_date DATE);

INT membuat jenis integer 32-bit (contohnya, nombor). AUTO_INCREMENT secara automatik menjana nilai baharu ID setiap kali kami menambah siri maklumat baharu. Ini tidak perlu, tetapi ia menjadikan keseluruhan proses lebih mudah.

Lajur ini tidak semestinya nilai integer, tetapi ia paling kerap digunakan. Mempunyai Kunci Utama juga adalah pilihan, tetapi disyorkan untuk seni bina dan prestasi pangkalan data.

Mari jalankan pertanyaan:

TUNJUKKAN JADUAL:tunjukkan semua jadual

Pertanyaan ini membolehkan anda mendapatkan senarai jadual yang ada dalam pangkalan data.

JELASKAN:Tunjukkan struktur jadual

Untuk menunjukkan struktur jadual sedia ada, anda boleh menggunakan pertanyaan ini.

Lajur dipaparkan dengan semua sifat.

JATUH MEJA:padam jadual

Sama seperti DROP DATABASES, pertanyaan ini memadamkan jadual dan kandungannya tanpa amaran.

UBAH JADUAL: tukar jadual

Pertanyaan ini juga boleh mengandungi struktur kompleks kerana lebih banyak perubahan yang boleh dibuat pada jadual. Mari lihat contoh.

(jika anda memadamkan jadual dalam langkah sebelumnya, buat sekali lagi untuk ujian)

MENAMBAH LAjur

ALTER TABLE users TAMBAH e-mel VARCHAR(100) SELEPAS nama pengguna;

Oleh kerana kebolehbacaan SQL yang baik, saya fikir tidak ada gunanya menjelaskannya secara terperinci. Kami menambah lajur baharu "e-mel" selepas "nama pengguna".

MENGAlih keluar LAjur

Ia juga sangat mudah. Gunakan permintaan ini dengan berhati-hati kerana data anda mungkin dipadamkan tanpa amaran.

Pulihkan lajur yang baru anda padamkan untuk percubaan selanjutnya.

MELAKUKAN PERUBAHAN DALAM LAjur

Kadangkala anda mungkin ingin membuat perubahan pada sifat lajur dan anda tidak perlu memadamkannya sepenuhnya untuk melakukan ini.

Pertanyaan ini menamakan semula lajur pengguna kepada "nama_pengguna" dan menukar jenisnya daripada VARCHAR(20) kepada VARCHAR(30). Perubahan ini tidak seharusnya mengubah data dalam jadual.

INSERT: Menambah Maklumat pada Jadual

Mari tambahkan beberapa maklumat pada jadual menggunakan pertanyaan berikut.

Seperti yang anda lihat, VALUES() mengandungi senarai nilai yang dipisahkan dengan koma. Semua nilai disertakan dalam satu lajur. Dan nilai mestilah dalam susunan lajur yang ditakrifkan semasa jadual dibuat.

Perhatikan bahawa nilai pertama ialah NULL untuk medan PRIMARY KEY yang dipanggil "user_id". Kami melakukan ini supaya ID dijana secara automatik, kerana lajur mempunyai sifat AUTO_INCREMENT. Apabila maklumat ditambahkan buat kali pertama ID akan menjadi 1. Baris seterusnya ialah 2, dan seterusnya...

PILIHAN ALTERNATIF

Terdapat satu lagi pilihan pertanyaan untuk menambah baris.

Kali ini kami menggunakan kata kunci SET dan bukannya VALUES dan ia tidak mempunyai tanda kurungan. Terdapat beberapa nuansa:

Anda boleh melangkau lajur. Sebagai contoh, kami tidak memberikan nilai kepada "user_id", yang akan lalai kepada nilai AUTO_INCREMENTnya. Jika anda meninggalkan lajur dengan jenis VARCHAR, maka baris kosong akan ditambahkan.

Setiap lajur mesti dirujuk dengan nama. Oleh kerana itu, mereka boleh disebut dalam sebarang susunan, tidak seperti versi sebelumnya.

PILIHAN ALTERNATIF 2

Berikut adalah pilihan lain.

Sekali lagi, kerana terdapat rujukan kepada nama lajur, anda boleh menetapkan nilai dalam sebarang susunan.

LAST_INSERT_ID()

Anda boleh menggunakan pertanyaan ini untuk mendapatkan ID yang AUTO_INCREMENT untuk baris terakhir sesi semasa.

SEKARANG()

Kini tiba masanya untuk menunjukkan cara anda boleh menggunakan fungsi MySQL dalam pertanyaan.

Fungsi NOW() memaparkan tarikh semasa. Jadi anda boleh menggunakannya untuk menetapkan tarikh lajur secara automatik kepada lajur semasa apabila anda memasukkan baris baharu.

Sila ambil perhatian bahawa kami menerima 1 amaran, tetapi sila abaikan amaran itu. Sebab untuk ini ialah NOW() juga berfungsi untuk mengeluarkan maklumat sementara.

PILIH: Membaca data daripada jadual

Jika kita menambah maklumat pada jadual, maka adalah logik untuk mempelajari cara membacanya dari sana. Di sinilah pertanyaan SELECT akan membantu kami.

Di bawah ialah pertanyaan SELECT yang paling mudah untuk membaca jadual.

Dalam kes ini, asterisk (*) bermakna kami telah meminta semua medan daripada jadual. Jika anda hanya mahukan lajur tertentu, pertanyaan akan kelihatan seperti ini.

keadaanDI MANA

Selalunya, kami tidak berminat dengan semua lajur, tetapi hanya dalam beberapa lajur. Sebagai contoh, mari kita anggap bahawa kita hanya memerlukan alamat e-mel untuk pengguna "nettuts".

WHERE membolehkan anda menetapkan syarat dalam pertanyaan dan membuat pilihan terperinci.

Ambil perhatian bahawa untuk kesamaan, satu tanda sama (=) digunakan, bukan dua, seperti dalam pengaturcaraan.

Anda juga boleh menggunakan perbandingan.

DAN atau ATAU boleh digunakan untuk menggabungkan syarat:

Ambil perhatian bahawa nilai berangka tidak boleh dalam petikan.

DALAM()

Ini berguna untuk pensampelan pada berbilang nilai

SUKA

Membolehkan anda membuat permintaan "wildcard".

Ikon % digunakan sebagai "wildcard". Iaitu, apa sahaja boleh berada di tempatnya.

keadaanPERINTAH OLEH

Jika anda ingin mendapatkan keputusan dalam bentuk yang dipesan mengikut mana-mana kriteria

Pesanan lalai ialah ASC (terkecil hingga terbesar). Untuk sebaliknya, DESC digunakan.

HAD ... OFFSET ...

Anda boleh mengehadkan bilangan keputusan yang diterima.

LIMIT 2 mengambil hanya 2 keputusan pertama. LIMIT 1 OFFSET 2 mendapat 1 keputusan selepas 2 yang pertama. LIMIT 2, 1 bermaksud perkara yang sama (hanya ambil perhatian offset dahulu dan kemudian had ).

KEMASKINI: Buat perubahan pada maklumat dalam jadual

Pertanyaan ini digunakan untuk menukar maklumat dalam jadual.

Dalam kebanyakan kes, ia digunakan bersama dengan klausa WHERE, kerana anda berkemungkinan besar ingin membuat perubahan pada lajur tertentu. Jika tiada klausa WHERE, perubahan akan mempengaruhi semua baris.

Anda juga boleh menggunakan LIMIT untuk mengehadkan bilangan baris yang perlu dibuat perubahan.

PADAM: Mengalih keluar maklumat daripada jadual

Sama seperti UPDATE, pertanyaan ini digunakan dengan WHERE:

Untuk memadamkan kandungan jadual, anda hanya boleh melakukan ini:

PADAM DARIPADA pengguna;

Tetapi lebih baik untuk digunakan POTONG

Selain memadam, permintaan ini juga menetapkan semula nilai AUTO_INCREMENT dan apabila menambah baris sekali lagi, kira detik akan bermula dari sifar. PADAM tidak melakukan ini dan kira detik diteruskan.

Melumpuhkan Nilai Huruf Kecil dan Perkataan Khas

Nilai rentetan

Sesetengah aksara perlu dilumpuhkan ( melarikan diri ), atau mungkin terdapat masalah.

Garis miring ke belakang digunakan untuk ini.(\).

Kata-kata istimewa

Kerana dalam MySQL terdapat banyak perkataan istimewa ( PILIH atau KEMASKINI ), untuk mengelakkan ralat semasa menggunakannya, anda mesti menggunakan petikan. Tetapi bukan petikan biasa, tetapi seperti ini(`).

Iaitu, anda perlu menambah lajur bernama " padam ", anda perlu melakukannya seperti ini:

Kesimpulan

Terima kasih kerana membaca sehingga habis. Saya harap anda mendapati artikel ini membantu. Belum habis lagi! Akan bersambung:).

Asas teori DBMS SQL Server 2012 diperiksa dengan cara yang mudah dan boleh diakses. Pemasangan, konfigurasi dan sokongan MS SQL Server 2012 ditunjukkan. Bahasa manipulasi data Transact-SQL diterangkan. Meliputi mencipta pangkalan data, mengubah suai jadual dan kandungannya, pertanyaan, indeks, pandangan, pencetus, prosedur tersimpan dan fungsi yang ditentukan pengguna.
Pelaksanaan keselamatan menggunakan pengesahan, penyulitan dan kebenaran ditunjukkan. Perhatian diberikan kepada mengautomasikan tugas pentadbiran DBMS. Membincangkan membuat sandaran data dan melaksanakan pemulihan sistem. Menghuraikan Perkhidmatan Analisis Microsoft, Perkhidmatan Pelaporan Microsoft dan alatan analisis perniagaan yang lain. Teknologi bekerja dengan dokumen XML, pengurusan data spatial, carian teks penuh dan banyak lagi dipertimbangkan. Untuk pengaturcara pemula.

Dalam dunia moden, maklumat mempunyai nilai tertinggi, tetapi sama pentingnya untuk dapat mengurus maklumat ini. Buku ini adalah mengenai bahasa pertanyaan SQL dan pengurusan pangkalan data. Bahan tersebut dibentangkan daripada penerangan pertanyaan asas kepada manipulasi kompleks menggunakan gabungan, subkueri dan urus niaga. Jika anda cuba memahami organisasi dan pengurusan pangkalan data, buku ini akan menjadi panduan praktikal yang sangat baik dan akan memberikan anda semua alat yang diperlukan. Ciri khas penerbitan ini ialah cara unik untuk menyampaikan bahan, yang membezakan siri O\'Reilly "Head First" daripada banyak buku membosankan tentang pengaturcaraan.

Buku ini akan mengajar anda cara bekerja dengan perintah dan pernyataan SQL, mencipta dan mengkonfigurasi pangkalan data hubungan, memuatkan dan mengubah suai objek pangkalan data, menjalankan pertanyaan yang berkuasa, meningkatkan prestasi dan membina keselamatan. Anda akan belajar cara menggunakan penyataan dan API DDL, menyepadukan skrip XML dan Java, menggunakan objek SQL, mencipta pelayan web, bekerja dengan akses jauh dan melakukan transaksi yang diedarkan.
Dalam buku ini, anda akan menemui maklumat seperti bekerja dengan pangkalan data dalam memori, penstriman dan pangkalan data terbenam, pangkalan data untuk peranti mudah alih dan pegang tangan, dan banyak lagi.

SQL for Mere Mortals ialah pengenalan lengkap kepada bahasa pertanyaan berstruktur, yang ditulis khusus untuk pemula.

Jika anda tidak mempunyai pengalaman mengurus pangkalan data, buku ini akan mengajar anda cara bekerja dengan SQL dengan mudah dan lancar, menggunakan pertanyaan mudah dan operasi yang kompleks. Untuk menguasai SQL:

— Fahami konsep yang berkaitan dengan pengurusan pangkalan data dengan pengenalan ringkas dan ringkas kepada pangkalan data hubungan.
— Ikut arahan ini untuk menggunakan perintah SQL asas untuk mencari dan memanipulasi maklumat dalam jadual data. Belajar untuk memilih, meringkaskan dan mengurus data dengan mahir.
— Bekerja dengan berkesan dengan jadual data kompaun dengan menggunakan teknik pertanyaan lanjutan kepada lebih daripada satu jadual pada satu masa, membina pertanyaan dan subkueri yang kompleks.
— Buat jadual data baharu untuk aplikasi perniagaan perdagangan. Pelajari prinsip penting reka bentuk pangkalan data yang berkesan dan teknik untuk memastikan integriti dan keselamatan data.
— Belajar menggunakan SQL dengan bahasa pengaturcaraan menggunakan bab khas untuk pengaturcara.

SQL lebih lama daripada kebanyakan kita, jadi saya tidak boleh mendakwa menyampaikan beberapa perkara yang luar biasa melalui buku ini. Apa yang menjadikan tajuk ini unik adalah saiznya yang langsing. Jika anda sedang mencari panduan praktikal padat sebenar tentang SQL, maka buku ini adalah untuk anda. Untuk pemula, saya telah cuba mengurung lautan pada baldi untuk melengkapkan mereka dengan pengetahuan SQL dalam masa yang sesingkat mungkin. Bahasa SQL terlalu banyak dan pendedahan setiap aspek bahasa besar ini adalah tugas yang sangat membosankan. Mengetepikan ciri yang paling kurang digunakan, buku ini dilancarkan untuk memfokuskan pada bidang yang lebih beroperasi dalam bahasa. Ia bertujuan untuk membantu anda mempelajari SQL dengan cepat sendiri. Ia mengikuti pendekatan tutorial di mana beratus-ratus latihan praktikal disediakan, ditambah dengan ilustrasi, untuk mengajar anda SQL dalam tempoh yang singkat. Tanpa sebarang keterlaluan, buku itu akan mendedahkan SQL dalam masa yang singkat. Buku ini secara eksplisit merangkumi platform percuma DBMS nombor 1 dunia untuk mendedahkan SQL: Oracle Database Express Edition. Saya telah memilih Oracle XE kerana ia percuma untuk dibangunkan, digunakan dan diedarkan; cepat untuk memuat turun; dan mudah untuk ditadbir.

Permulaan Oracle PL/SQL membolehkan anda mula menggunakan bahasa terbina dalam yang mesti diketahui oleh setiap pembangun dan pentadbir pangkalan data Oracle. Pangkalan Data Oracle penuh dengan ciri aplikasi terbina dalam yang percuma untuk digunakan, dan PL/SQL ialah tiket anda untuk mempelajari dan menggunakan ciri tersebut daripada kod anda sendiri. Dengan itu, anda boleh memusatkan logik perniagaan dalam pangkalan data, anda boleh memunggah logik aplikasi, dan anda boleh mengautomasikan tugas-tugas pentadbiran pangkalan data dan aplikasi.

Pengarang Don Bales menyediakan dalam Beginning Oracle PL/SQL tutorial pantas dan penuh contoh. Belajar daripada pengalaman luas Don untuk menemui aspek PL/SQL yang paling biasa digunakan, tanpa membuang masa pada ciri yang tidak jelas dan lapuk.

Buku “SQL. Bible Pengguna adalah unik kerana setiap bab membandingkan pelaksanaan standard bahasa pertanyaan SQL dalam tiga DBMS terkemuka. Hasilnya ialah panduan yang komprehensif dan praktikal untuk pengguna pangkalan data, daripada pemula hingga profesional. Buku tentang SQL ini menggabungkan teori dengan amalan dengan mudah, mengandungi penerangan tentang teknologi baharu dan akan membolehkan anda memahami pelbagai nuansa standard bahasa pertanyaan SQL dan pelaksanaannya. Ia boleh digunakan sebagai buku rujukan - sejenis bantuan desktop.
— Pelajari asas bahasa pertanyaan SQL dan pangkalan data hubungan
— Menguasai bekerja dengan jadual, pandangan, jujukan dan objek pangkalan data lain
— Belajar menggunakan transaksi dan kunci dalam persekitaran berbilang pengguna
— Terokai ciri yang ditawarkan oleh standard SQL dan tiga vendor pangkalan data terkemuka
— Ketahui cara mengakses metadata dan melaksanakan kawalan keselamatan pangkalan data
- Teroka topik tambahan: penyepaduan SQL ke XML, perisikan perniagaan OLAP dan banyak lagi

Jika anda mempunyai kemahiran asas HTML, maka dengan bantuan buku oleh Robin Nixon, pembangun berpengalaman dan pengarang banyak buku terlaris mengenai penguasaan web, anda akan dengan mudah mempelajari cara membuat tapak dinamik yang dicirikan oleh interaksi pengguna tahap tinggi .
Temui gabungan PHP dan MySQL, pelajari cara ia menjadikannya lebih mudah untuk mencipta tapak web moden, dan pelajari cara menambahkan keupayaan JavaScript pada teknologi ini untuk mencipta aplikasi berteknologi tinggi.
Panduan ini melihat setiap teknologi secara berasingan, menunjukkan cara menggabungkan PHP, MySQL dan javascript menjadi satu keseluruhan yang padu, dan memperkenalkan konsep pengaturcaraan web terkini. Dengan bantuan contoh terperinci dan soalan ujian yang diberikan dalam setiap bab, anda akan dapat menyatukan bahan yang dipelajari dalam amalan.

Panduan ini akan membantu anda:
— menguasai asas PHP dan pengaturcaraan berorientasikan objek;
— teliti MySQL, bermula dengan struktur pangkalan data dan berakhir dengan mengarang pertanyaan kompleks;
— buat halaman web yang menggunakan PHP dan MySQL untuk menggabungkan borang dan elemen HTML lain;
— belajar javascript, bermula dengan fungsi dan pengendalian acara dan berakhir dengan akses kepada model objek dokumen (DOM);
- gunakan perpustakaan dan pakej perisian, termasuk sistem Smarty, repositori program PEAR dan Yahoo! Antaramuka pengguna;
— buat panggilan Ajax dan ubah tapak web anda menjadi persekitaran maklumat yang sangat dinamik;
— muat naik fail dan imej ke laman web dan bekerjasama dengan mereka, semak data yang dimasukkan oleh pengguna;
— pastikan keselamatan aplikasi anda.

Pertanyaan tidak berjalan cukup pantas? Tertanya-tanya tentang ciri pangkalan data dalam memori pada tahun 2014? Bosan dengan panggilan telefon daripada pengguna yang kecewa? Buku Grant Fritchey SQL Server Query Performance Tuning ialah jawapan kepada masalah prestasi pertanyaan SQL Server anda. Buku ini disemak untuk merangkumi ciri dan teknik pengoptimuman prestasi terkini, terutamanya termasuk ciri pangkalan data dalam memori yang baru ditambah yang dahulunya dikenali di bawah nama kod Project Hekaton. Buku ini menyediakan alatan yang anda perlukan untuk mendekati pertanyaan anda dengan mengambil kira prestasi.

Penalaan Prestasi Pertanyaan Pelayan SQL membawa anda memahami punca prestasi lemah, cara mengenal pastinya dan cara membetulkannya. Anda akan belajar untuk menjadi proaktif dalam mewujudkan garis dasar prestasi menggunakan alatan seperti Monitor Prestasi dan Acara Lanjutan. Anda akan belajar mengenali kesesakan dan meredakannya sebelum telefon berdering. Anda juga akan mempelajari beberapa penyelesaian pantas, tetapi penekanan adalah pada mereka bentuk untuk prestasi dan membetulkannya, dan apabila mengatasi masalah sebelum ia berlaku. Gembirakan pengguna anda. Senyapkan telefon yang berdering itu. Amalkan prinsip dan pengajaran daripada SQL Server Query Performance Tuning ke dalam amalan hari ini.

Meliputi ciri dalam ingatan daripada Project Hekaton
Membantu mewujudkan garis dasar prestasi dan memantau terhadapnya
Panduan dalam menyelesaikan masalah dan menghapuskan kesesakan yang mengecewakan pengguna
Apa yang anda akan pelajari
— Wujudkan garis dasar prestasi dan pantau terhadapnya
— Kenali dan hapuskan kesesakan yang membawa kepada prestasi yang perlahan
— Sebarkan pembetulan pantas apabila diperlukan, susulan dengan penyelesaian jangka panjang
— Laksanakan amalan terbaik dalam T-SQL untuk meminimumkan risiko prestasi
— Reka bentuk prestasi yang anda perlukan melalui pertanyaan teliti dan reka bentuk indeks
— Manfaatkan ciri pengoptimuman prestasi terkini dalam SQL Server 2014
— Fahami ciri pangkalan data dalam memori baharu yang dahulunya dinamakan kod sebagai Project Hekaton

Buku SQL dalam 10 minit menawarkan penyelesaian yang mudah dan praktikal untuk mereka yang ingin mendapatkan hasil dengan cepat. Selepas menyelesaikan semua 22 pelajaran, setiap satu daripadanya akan mengambil masa tidak lebih daripada 10 minit, anda akan mempelajari semua yang anda perlukan untuk berlatih menggunakan SQL. Contoh yang diberikan dalam buku ini sesuai untuk IBM DB2, Microsoft Access, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite, MariaDB dan Apache OpenOffice Base. Contoh visual akan membantu anda memahami cara penyataan SQL distrukturkan. Petua akan mencadangkan pintasan kepada penyelesaian. Amaran akan membantu anda mengelakkan kesilapan biasa. Nota akan memberikan penjelasan lanjut.