Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Membuat Lajur Dikira Berdasarkan Lajur Lain dalam MySQL?

Bagaimanakah Saya Boleh Membuat Lajur Dikira Berdasarkan Lajur Lain dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-17 08:06:12533semak imbas

How Can I Create a Calculated Column Based on Another Column in MySQL?

Mendapatkan Data Baharu dalam MySQL: Lajur Dikira

Pengurusan pangkalan data selalunya memerlukan penjanaan data tambahan berdasarkan maklumat sedia ada. MySQL menawarkan penyelesaian yang berkuasa: lajur yang dikira. Lajur ini secara automatik mengira nilainya daripada lajur lain dalam jadual yang sama, menghapuskan keperluan untuk pengiraan manual.

Memanfaatkan Lajur Dijana MySQL

MySQL versi 5.7.6 dan kemudian menyokong Lajur Dijana, ciri yang mengira nilai lajur secara dinamik berdasarkan lajur lain. Fungsi ini menyerupai VIEW, tetapi dengan perbezaan utama bahawa lajur yang dijana adalah bahagian penting struktur jadual.

Maya lwn. Disimpan: Memilih Pendekatan yang Tepat

Lajur yang dijana datang dalam dua jenis:

  • Lajur Maya: Kira nilai atas permintaan, hanya apabila satu baris diakses.
  • Lajur Tersimpan: Kira nilai semasa sisipan atau kemas kini baris dan simpan hasilnya.

Perbezaan penting ialah lajur terjana yang disimpan boleh diindeks, tidak seperti lajur maya.

Contoh: Mengira Separuh Nilai

Mari kita ilustrasikan dengan contoh praktikal. Katakan kita memerlukan lajur yang mewakili separuh nilai lajur "nilai" sedia ada. Menggunakan lajur terjana yang disimpan:

<code class="language-sql">CREATE TABLE my_table (
  id INT PRIMARY KEY,
  value INT,
  half_value AS (value / 2) STORED
);

INSERT INTO my_table (id, value) VALUES
  (1, 6),
  (2, 70);</code>

Ini mencipta my_table dengan lajur id, value dan half_value. half_value diisi secara automatik dan dikemas kini apabila lajur value berubah. Kata kunci STORED memastikan nilai yang dikira disimpan secara berterusan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Lajur Dikira Berdasarkan Lajur Lain dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn