MySQL更新語句可以從其他表中獲取數據來更新當前表的數據,實現數據的更新操作。具體的語法格式為:
UPDATE current_table SET current_table.column_name = other_table.column_name FROM current_table JOIN other_table ON current_table.join_column = other_table.join_column WHERE condition;
其中,current_table
指當前需要更新數據的表,column_name
指當前表中需要更新的列名,other_table
指需要獲取數據的其他數據表,join_column
指連接兩張表的列名,condition
是更新數據的條件。
舉個例子,我們有一個students
表和一個scores
表,需要將scores
表中的成績數據更新到students
表中對應學生的成績列:
UPDATE students SET students.score = scores.score FROM students JOIN scores ON students.id = scores.student_id WHERE students.id IN (1, 2, 3);
這個更新語句會將scores
表中學號為1、2、3的學生的成績更新到students
表中對應學號的score
列中。
需要注意的是,UPDATE
語句中如果在同一張表中更新數據,則不需要使用FROM
和JOIN
語句,直接使用以下語法即可:
UPDATE table_name SET column_name = other_column_name WHERE condition;
這個更新語句會將table_name
表中符合條件的數據的column_name
列更新為other_column_name
列中的數據。