MySQLでデータベースを作成したり削除したりする基本的なSQL文
復習を兼ねて、MySQLでデータベースを作成したり削除したりする基本的なSQL文をまとめました。
例文で使っているデータは以下のような感じです。
哺乳類動物の名前と、生息地のデータで、id は自動で連番を振るようにします。
データベース名 : testdb
テーブル名 : mammal
フィールド:id, name(動物名), area(生息地域)
データベースを操作するSQL文
データベースの新規作成する
create database データベース名 ;
例)testdbというデータベースを作る
create database testdb ;
データベースを選択する
use データベース名 ;
例)testdb を選択して操作できる状態にする
use testdb ;
データベースを削除する
drop database データベース名 ;
例)testdb を削除する
drop database testdb ;
テーブルを操作するSQL文
テーブルを新規作成する
create table テーブル名( フィールド名 データ型, フィールド名 データ型 ) ;
例)mammal というテーブルを作成する
create table mammal( id int primary key auto_increment, name text, area varchar(50) );
テーブルのデータを全て削除(テーブル自体は残す)
delete from テーブル名;
例)mammal というテーブルの中身を削除する
delete from mammal ;
テーブルの先頭から件数を指定して削除する
delete from テーブル名 limit 件数 ;
例)先頭から2件を削除
delete from mammal limit 2 ;
テーブルを削除する(テーブル自体消滅)
drop table テーブル名 ;
例)mammal というテーブルを削除する
drop table mammal ;
レコードを操作するSQL文
レコードに値を挿入する
insert テーブル名 set フィールド名=レコード, フィールド名=レコード ;
又は↓
insert into テーブル名 (フィールド, フィールド) values(レコード, レコード);
例)名前と地域のレコードを登録する
insert into mammal set name='プレイリードッグ', area='北アメリカ';
又は↓
insert into mammal(name, area) values('ヤマアラシ', '南北アメリカ,カナダ,ヨーロッパ');
レコード値を変更する
update テーブル名 set 更新するレコードのフィールド=レコード値 where フィールド名(idなどを指定)=フィールド値;
例)idが5のデータのareaを書き換える
update mammal set area='南北アメリカ,カナダ,ヨーロッパ' where id=5;
レコードを削除する
delete from テーブル名 where レコードのフィールド(idなどを指定)=削除するレコード値
例)idが5のデータを削除する
delete from mammal where id=5;
フィールドを操作するSQL文
フィールドを追加する
alter table テーブル名 add フィールド名 データ型 ;
例)food というフィールドを追加する
alter table mammal add food text;
フィールドを追加する際に挿入位置を指定して追加する
alter table テーブル名 add 追加するフィールド名 データ型 after 挿入したい前のフィールド名 ;
mammalテーブルのnameフィールドの後にsizeというフィールドを追加する
alter table mammal add size text after name ;
フィールドを変更する
alter table テーブル名 change 変更するフィールド名 変更後のフィールド名 変更後のフィールドの型 ;
例)food を feeding へ変更する
alter table mammal change food feeding text;
フィールドを削除する
alter table テーブル名 drop フィールド名;
例)feeding というフィールドを削除する
alter table mammal drop feeding;
データを表示するSQL文いろいろ
データベースを一覧表示する
show databases;
テーブルを一覧表示する
show tables;
テーブルの中身の構造表示
desc テーブル名;
例)mammalの構造を表示する
desc mammal;
テーブルの中身を表示する
select * from テーブル名;
例)mammal のデータの中身を表示する
select * from mammal;
フィールドを指定して表示する
select 表示したいフィールド名 from テーブル名 ;
例)name と area のフィールドだけ表示する
select name,area from mammal ;
※カンマで区切って複数指定できる。
条件を指定してデータを表示するSQL文
条件を指定して表示する
select * from テーブル名 where 探すフィールド=その値 ;
例1)id が3のデータを表示する
select * from mammal where id=3 ;
例2)area が’アラビア’のデータを表示する
select * from mammal where area='アラビア';
条件指定したもの以外を表示する
select * from テーブル名 where 探すフィールド!=その値 ;
!をつけると否定の意味になる
例)id が3以外のデータを表示する
select * from mammal where id!=3 ;
”◯◯を含む”ようにゆるく条件指定して表示
select * from テーブル名 where フィールド名 like '%◯◯%' ;
例)areaに、アメリカを後方に含むデータを表示する
select * from mammal where area like '%アメリカ' ;
例)areaに、リ が含まれるデータを表示する
select * from mammal where area like '%リ%' ;
データを並び替えて表示する
select * from テーブル名 order by 基準とするフィールド desc;
例)id を大→小へ並びかえて表示する
select * from mammal order by id desc ;
例)name でアルファベット順に表示する
select * from mammal order by name ;
No Comments & Tracbacks