戻る

データを編集する

カラムのデータをすべて修正する

UPDATE テーブル名 SET カラム名 = 設定する値;

ALTER TABLE tb ADD bikou VARCHAR(100);

UPDATE tb SET bikou='制約なし';

SELECT * FROM tb

ALTER TABLE tb ADD bikou VARCHAR(100)
CHARACTER SET utf8;

UPDATE tb SET bikou='制約なし';

SELECT * FROM tb

条件に一致したレコードだけ修正

UPDATE テーブル名 SET カラム名 = 設定する値 WHERE 条件;

UPDATE tb SET bikou='優秀' WHERE uria>=100;

SELECT * FROM tb;

売上下位3件だけ「ガンバレ!」と修正

UPDATE tb SET bikou='ガンバレ!' ORDER BY uria LIMIT 3;

SELECT * FROM tb;

SELECT * FROM tb ORDER BY uria;

ALTER TABLE tb DROP bikou;

特定のレコードだけコピーする

CREATE TABLE tb_A101 SELECT * FROM tb WHERE bang LIKE 'A101';

SELECT * FROM tb_A101;

すでに存在しているテーブルにレコードを挿入する場合

INSERT INTO 存在するテーブル名 SELECT * FROM tb WHERE bang LIKE 'A101';

順番に並べてコピーする

CREATE TABLE tb_2to5 SELECT * FROM tb ORDER BY uria DESC LIMIT 4 OFFSET 1;

条件に一致するレコードを削除する

DELETE FROM テーブル名 WHERE 条件;

CREATE TABLE tb1K SELECT * FROM tb1;

DELETE FROM tb1K WHERE tosi<30;

SELECT * FROM tb1K;

順番に並べてから削除する

CREATE TABLE tb_copy SELECT * FROM tb;

DELETE FROM tb_copy ORDER BY uria DESC LIMIT 4;

SELECT * FROM tb_copy;


次のようなテーブル「zaiko」があります。

このテーブル「zaiko」のカラム「c」の値が、今現在より5年前以前のものを除いたレコードだけを抽出し、テーブル「new zaiko」を作ってください。ただし、「今現在より5年前」の日時は次で表すものとします。またこの処理は2013年に行ったものとします。

CREATE TABLE zaiko (a VARCHAR(10), b INT, c DATE) CHARSET=utf8;

INSERT INTO zaiko (a,b,c) VALUES
('東支店',200,'2004-08-08'),
('西支店',500,'2010-06-15'),
('南支店',100,'2003-02-23'),
('北支店',400,'2012-08-08');

今現在より5年前の日時

NOW() - INTERVAL 5 YEAR

CREATE TABLE new_zaiko SELECT * FROM zaiko WHERE c>NOW() - INTERVAL 5 YEAR;

inserted by FC2 system