Rumah > Artikel > pangkalan data > Pengoptimuman sintaks MySql: cara melengkapkan operasi data dengan lebih mudah
MySql ialah sistem pengurusan pangkalan data hubungan sumber terbuka, yang digunakan secara meluas dalam pelbagai aplikasi web, aplikasi perusahaan, sistem pengurusan maklumat dan bidang lain. Dari segi operasi data, MySql boleh menyediakan kaedah pertanyaan yang lebih mudah, penyimpanan data, dan perwakilan hubungan antara jadual, dsb. Walau bagaimanapun, kadangkala kami mendapati bahawa semasa proses pengendalian data, sintaksnya menyusahkan dan kami perlu kerap menanyakan dokumen untuk menyelesaikan beberapa operasi, yang akan menjejaskan kecekapan kerja kami. Artikel ini akan memperkenalkan beberapa teknik pengoptimuman sintaks MySql untuk membantu anda menyelesaikan operasi data dengan lebih mudah.
1. Gunakan alias
Kadangkala anda perlu menggunakan alias jadual (AS) dan alias lajur (AS) dalam pernyataan MySql. Mereka membolehkan anda menyatakan niat anda dengan lebih ringkas. Menggunakan alias jadual boleh memudahkan pernyataan dan mengelakkan konflik nama lajur. Contohnya:
PILIH u.id, u.nama pengguna DARIPADA pengguna AS u;
Dalam pernyataan ini, kami mentakrifkan alias u jadual untuk menggantikan jadual pengguna, supaya dalam pertanyaan berikutnya sahaja Anda hanya perlu menggunakan u, dan tidak perlu menulis nama pengguna jadual lengkap.
Menggunakan alias lajur membolehkan anda mentakrifkan maksud lajur dengan lebih jelas. Contohnya:
PILIH JUMLAH(harga) SEBAGAI jumlah_jualan DARIPADA pesanan;
Dalam pernyataan ini, kami mentakrifkan hasil SUM(harga) sebagai alias jumlah_jualan, supaya dalam keputusan pertanyaan, kita dapat Melihat maksud keputusan dengan lebih jelas.
2. Gunakan medan yang dikira
Medan yang dikira dalam MySql merujuk kepada pengiraan lajur dan memaparkannya dalam hasil pertanyaan dengan menggunakan ungkapan matematik atau operasi fungsi. Contohnya:
PILIH nama_pertama, nama_keluarga, tarikh_lahir, TAHUN(SEKARANG())-TAHUN(tarikh_lahir) SEBAGAI umur pekerja;
Dalam pernyataan ini, kami menggunakan fungsi sistem SEKARANG() untuk mendapatkan semasa Umur pekerja boleh dikira dengan menolak tahun daripada hari lahir. Gunakan medan yang dikira untuk melakukan pengiraan pada lajur untuk memaparkan hasil yang diingini dengan lebih jelas dan cepat.
3. Gunakan query join
Dalam MySql, jika operasi yang melibatkan berbilang jadual terlibat, kita perlu menggunakan query join. Pertanyaan sambungan boleh menyambungkan data dalam beberapa jadual mengikut syarat tertentu untuk mencapai tujuan data yang diperlukan. Terdapat tiga cara untuk menyambung pertanyaan: sambung dalam, sambung kiri dan sambung kanan.
Inner join bermaksud menanyakan hanya data daripada dua jadual yang memenuhi syarat sambungan, contohnya:
PILIH p.id, p.product_name, s.supplier_name DARI produk AS p INNER JOIN pembekal AS s ON p.supplier_id = s.id;
Dalam penyata ini, kami menyambungkan jadual produk dan jadual pembekal melalui kata kunci INNER JOIN, dan menentukan syarat sambungan melalui kata kunci ON. Pada akhirnya, hanya data yang memenuhi syarat dalam dua jadual telah disoal, mengelakkan sejumlah besar pertanyaan data yang tidak berguna.
Cantum kiri bermaksud menanya semua data dalam jadual kiri dan menanyakan data dalam jadual kanan yang memenuhi syarat sambungan, contohnya:
PILIH p.id, p.product_name , s.supplier_name FROM products AS p LEFT JOIN pembekal AS s ON p.supplier_id = s.id;
Dalam pernyataan ini, kami menggunakan kata kunci LEFT JOIN untuk menanyakan semua produk dari jadual kiri dan Data kanan dalam jadual pembekal yang tidak memenuhi syarat adalah NULL.
Cantum kanan bermaksud menanyakan semua data dalam jadual kanan dan menanyakan data dalam jadual kiri yang memenuhi syarat sambungan, contohnya:
PILIH p.id, p.product_name , s.supplier_name FROM products AS p RIGHT JOIN pembekal AS s ON p.supplier_id = s.id;
Dalam kenyataan ini, kami menggunakan kata kunci RIGHT JOIN untuk menanyakan semua pembekal dalam jadual yang betul, dan jadual kiri Data yang tidak memenuhi syarat dalam jadual produk ialah NULL.
4. Gunakan subqueries
Dalam MySql, jika ada pertanyaan yang boleh diselesaikan tanpa menyertai pertanyaan, kita boleh menggunakan subquery. Subkueri merujuk kepada pernyataan pertanyaan yang bersarang dalam pertanyaan. Ia boleh membantu kami menyelesaikan banyak masalah pertanyaan yang rumit, seperti:
PILIH nama_produk DARI produk WHERE id_pembekal = (PILIH id DARI pembekal WHERE nama_pembekal = 'Syarikat ABC');
Dalam kenyataan ini, Dengan meletakkan subkueri dalam klausa WHERE, kami menanyakan ID pembekal yang sepadan dengan 'Syarikat ABC' dan menanyakan semua nama produk yang disediakan oleh pembekal.
Ringkasan
Di atas memperkenalkan beberapa teknik untuk pengoptimuman sintaks MySql Tidak semua pertanyaan sesuai untuk teknik ini, tetapi dalam pembangunan harian, kami boleh menggunakan Teknik ini dengan sewajarnya untuk membantu kami menyelesaikan operasi data dengan lebih cepat.
Atas ialah kandungan terperinci Pengoptimuman sintaks MySql: cara melengkapkan operasi data dengan lebih mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!