【学習52日】SQLの基本【応用14日】
■SQLの超概要
■SQLとは?
・リレーショナルデータベースを操作する言語
・多くのリレーショナルDBでそのまま使える
(MySQL、postgreSQL、SQlite 等)
■SQLには主に2つ命令がある
①DDL(Data Definition Language)
定義する命令。データベース・テーブルそのものを扱う
ーCREATE(データベース・テーブルそのものを)作る
ーALTER(データベース・テーブルそのものを)更新
ーDROP(データベース・テーブルそのものを)削除
②DML(Data Manipulation Language)
操作する命令。(テーブル等の)データを扱う
ーINSERT(データを)登録
ーUPDATE(データを)更新
ーDELEATE(データを)削除
ーSELECT(データを)検索
■データベース・テーブルそのものを操作(定義)する
■データベースへの接続
mysql -u root
(mysqlだけでデータベースへの接続は可能)
(ユーザーを指定する時には -u root)
■データベースをみる
show databases;
(そのユーザーのデータベースが全て表示される)
■データベースを作る
create database DB名;
■データベースを選択する
use (データベース名);
数あるデータベースの中から今から使うDBを選択する
■テーブルをみる
show tables;
今選択しているデータベースのテーブルを表示する
■テーブルを作る
create table goods2(id int, name varchar(10), price int);
()の中でカラムを最低1つは定義しなければエラーになる
※int 数値型
※varchar(●) (最大●文字の)文字列型
■テーブルのカラムをみる(構造を確認する)
show columns from テーブル名;
■カラムを追加する
alter table テーブル名 add(カラム名 カラム型);
alter table テーブル名 add(price int, zaiko int);
■カラムを変更する
alter table テーブル名 change 旧カラム名 新カラム名 新カラム型;
alter table goods2 change zaiko stock int;
※たとえ型が変わらなくとも
カラムの型は省略できない
■カラムを削除する
alter table goods2 drop stock;
■データを操作する
■データを追加
insert into テーブル名 values (値1,値2,値3);
insert into goods2 values (1,"ペン",100);
insert into テーブル名(カラム1,カラム2) values(値1,値2);
insert into goods2(id,name) values(2,"消しゴム");
■データの変更
update テーブル名 set 変更後の内容 where 条件;
update goods2 set price = 120 where id =2;
※whereがなければ全てのデータが変更される
※whereは条件
■データの削除
delete from テーブル名 where id =2;
delete from goods2 where id =2;
※whereがなければ全てのデータが削除される
■データの選択の基本(SELECT)
■テーブルに入っているデータを全て表示する
select * from テーブル名
■ワイルドカード
文字の代わりとして使える文字
(例)* →全てのカラムを取得するという意味をもつ
■あるカラムの値を抜き出して表示
select カラム名 from テーブル名;
select name from goods2;
■AND演算子 OR演算子 NOT演算子
・select * from users where age =22 and name = ”佐藤”
・select * from users where age =22 or name = ”佐藤”
・select * from users where not name = ”佐藤”
■Between演算子 in演算子
・select * from users where age Between 22 and 24
・select * from users where name In (”佐藤”,”鈴木”,”田中”)