1. レコードを変更する方法の概要:
- 新しい値に設定します: UPDATE テーブル名 SET 列名=新しい値 [, 列名2=新しい値2] [WHERE 列名3=値3]
- 既存の値に従って置換します: UPDATE table_name SET key1=replace(key1, 'コンテンツの検索', 'コンテンツで置換') [WHERE column_name3=value3]
2.ケース
(1) 試験用紙情報テーブル testing_info があり、テーブル構造は次の図に示されています。
提出済み | タイプ | ヌル | 鍵 | 追加 | デフォルト | コメント |
ID | int(11) | いいえ | で | 自動増加 | (ヌル) | 自動インクリメントID |
試験ID | int(11) | いいえ | ユニ | (ヌル) | 紙のID | |
鬼ごっこ | 文字(32) | はい | (ヌル) | カテゴリラベル | ||
困難 | 文字(8) | はい | (ヌル) | 困難 | ||
間隔 | int(11) | いいえ | (ヌル) | 間隔 | ||
リリース時間 | 日付時刻 | はい | (ヌル) | リリースタイム |
--t1:
update examination_info
set tag = replace(tag,'PYTHON','Python')
where tag = 'PYTHON';
--t2:
update examination_info
set tag = 'Python'
where tag = 'PYTHON';
Examination_info テーブル内の PYTHON とタグ付けされたすべてのタグ フィールドを Python に変更してください。
(2) 長年にわたるユーザーの解答用紙記録を含む試験用紙解答記録テーブルexam_recordがあり、その構造は次のとおりです。
解答記録テーブル Exam_record:
submit_time は完了時刻です
提出済み | タイプ | ヌル | 鍵 | 追加 | デフォルト | コメント |
ID | int(11) | いいえ | で | 自動増加 | (ヌル) | 自動インクリメントID |
UID | int(11) | いいえ | (ヌル) | ユーザーID | ||
試験ID | int(11) | いいえ | (ヌル) | 紙のID | ||
始まる時間 | 日付時刻 | いいえ | (ヌル) | 開始時間 | ||
submit_time | 日付時刻 | はい | (ヌル) | 提出時間 | ||
スコア | tinyint(4) | はい | (ヌル) | スコア |
update exam_record
set score = 0,submit_time = '2099-01-01 00:00:00'
where start_time < '2021-09-01 00:00:00' and score is null;
2021 年 9 月 1 日より前に回答を開始した、exam_record テーブル内の未完了のレコードをすべて受動的完了に変更してください。つまり、完了時刻を「2099-01-01 00:00:00」に、スコアを 0 に変更してください。