あるカラムのデータをまとめて変更
# 全てのレコードを変更 update tb set [col] = [value]; # 条件に合致するレコードのみ変更 udpate tb set [col] = [value] where ...; # ちょっとした応用 # 成績の良い10人に「成績上位者」と表示 update tb set memo = '成績上位者' where order by point desc limit 10;
MySQL起動時に --safe-updates オプションを付けると,
keyカラムに対するwhere句のない update/delete コマンドが実行できなくなる.
レコードをフィルタリングしてテーブルを複製
create table [dst] select * from [src] where...; create table tall select * from member where height >= 180;
レコードの削除を詳しく
# テーブルの全てのレコードを削除 delete from [tab]; # ちなみにテーブルごと削除したときは drop table [tab]; # 条件に合致するレコードだけ削除 delete from [tab] where...; # ソートして先頭から削除とか delete from [tab] order by [col] limit [n]; # 年上10人のレコードを削除 delete form member order by age limit 10;
忘れてたこと <2013-08-11 日>
テーブルにカラムを追加する
alter table [tab] add [col] [dtype]; alter table member add birthday DATE;
テーブルからカラムを削除する
alter table [tab] drop [col]; alter table member drop [birthday];