LAMPのお勉強日記 (5)
LAMP環境のお勉強日記
承前
目的
- 自分が何をやったのか記録する
- 自分が何を出来るのか公開する
はじめに
>mysql -u root -p
Enter password:[パスワード]
mysql>
使用するデータベースを指定する
mysql>use db1
今日学んだこと
テーブルやレコードのコピー
テーブルのカラム構造とレコードを丸ごとコピーする
「create table [新規テーブル名] select * from [元となるテーブル名];」
ex) mysql>select * from tb3; +----+--------+------+ | ID | name | age | +----+--------+------+ | 1 | tanaka | 30 | | 2 | nakano | 40 | | 3 | hirano | 26 | | 4 | nodata | 32 | +----+--------+------+ mysql>create table tb4 select * from tb3; mysql>select * from tb4; +----+--------+------+ | ID | name | age | +----+--------+------+ | 1 | tanaka | 30 | | 2 | nakano | 40 | | 3 | hirano | 26 | | 4 | nodata | 32 | +----+--------+------+
テーブルのカラム構造だけコピーする
「create table [新規テーブル名] like [元となるテーブル名]」
ex) mysql>desc tb3; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | ID | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(10) | YES | | nodata | | | age | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+ mysql>create table tb5 like tb3; mysql> desc tb5; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+----------------+ | ID | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(10) | YES | | nodata | | | age | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+----------------+
他のテーブルのデータを丸ごとコピーする
「insert into [テーブル名] select * from [元となるテーブル名];」
ex) mysql>select * from tb3; +----+--------+------+ | ID | name | age | +----+--------+------+ | 1 | tanaka | 30 | | 2 | nakano | 40 | | 3 | hirano | 26 | | 4 | nodata | 32 | +----+--------+------+ mysql>select * from tb5; Empty set (0.00 sec) mysql>insert into tb5 select * from tb3; mysql>select * from tb5; +----+--------+------+ | ID | name | age | +----+--------+------+ | 1 | tanaka | 30 | | 2 | nakano | 40 | | 3 | hirano | 26 | | 4 | nodata | 32 | +----+--------+------+
※カラム構造が一致していないとコピー不可
※主キーがある場合には、主キー同士に重なりがあるとコピー不可
特定のカラムを選択してコピー
「insert into [テーブル名] select [カラム名] from [元となるテーブル名];」
※カラム構造が一致していないとコピー不可
※主キーがある場合には、主キー同士に重なりがあるとコピー不可
テーブル・データベース・レコードの削除
レコードの丸ごと削除
「delete from [テーブル名]」
※カラム構造は残したまま、データすべてが消えます。
今回はここまで。
次回は条件によるデータ抽出。