メモ程度に.逐次追加予定.
型
char | 固定長文字列(足りないところには空白が入る) |
varchar | 可変長の文字列 |
int | 整数 |
datetime | 日付時刻 |
その他
not null | 非NULL |
primary key | 主キー |
unique | ユニーク |
foregin key | 外部キー |
外部キー
外部キーはめんどくさい
parentテーブル
カラム名 | |
---|---|
id | 主キー |
name |
childテーブル
カラム名 | |
---|---|
id | 主キー |
parent_id | 外部キー(parent) |
text |
create table parent( id int auto_increment primary key not null, name varchar(20) not null ); create table child( id int auto_increment primary key not null, parent_id int, text varchar(30) not null, foreign key(parent_id) references parent(id) );
SQLクエリ
ユーザーの追加
grant all privileges on *.* to username@localhost identified by 'password';
パスワードの変更
set password for username@localhost='password';
データベース一覧を表示
show databases;
データベースの追加
create databases db1;
データベースの削除
drop databases db1;
データベースを選択
use db1;
表の作成
create table table1(column1 type, column2 type, column3 type, ・・・);
表の削除
drop table table1;
表一覧を表示
show tables;
行の追加
update table1(column1, column3, ・・・) values(value1, value2, ・・・);
行の選択(すべての列を取る)
select * from table1;
行の選択(指定した列だけを取る)
select column1, column2 from table1;
行の選択(条件付き)
select column1, column2 from table1 where column2 = "TEST";
行の選択(指定した行数だけ取る)
select column1, column2 from table1 where column2 = "TEST" limit 0, 100;
行の削除
selectと同じ感覚で使う.selectは該当列を取ってくるのに対しdeleteは該当列を削除する.
delete from table1 where text = "";
列の追加
not nullをつけたときは,既存の行には0が入る.
alter table table1 add column1;
表の定義を表示
show columns from table1;
詳細なら
show full columns from table1;