・準備
create database DB character set utf8;
use DB;
drop table if exists TABLE1;
create table TABLE1(
id int primary key auto_increment not null,
name varchar(255)
) default character set=utf8
・Alter
テーブルのリネーム
alter table TABLE1 rename TABLE2;
列の追加
alter table TABLE2 add column NAME2 varchar(255);
列の変更
alter table TABLE2 change NAME2 NAME3 int;
列の削除
alter table TABLE2 drop NAME3;
作成済みデータベースの文字コード変更
alter database DB character set utf8;
制約の追加方法
alter table TABLE1 add unique (NAME);
ちなみに、primaryとuniqueは複数指定すると、複合になるのでuniqueをそれぞれ複数の列の場合、
create table tbl (id int ,nm varchar(5) , unique(id) , unique(nm));
のように指定。
・制約の種類
not null
check
unique key
primary key
foreign key
・select式の評価順
from
on – join
where
group by
having
select
distinct
order by
top(limit)
・文字列型
https://dev.mysql.com/doc/refman/8.0/ja/char.html
char(n)
固定長で、右側にスペースが埋められる。
varchar(n)
可変長、255を超えてnを指定するとプリフィックスが2バイトとなる。プリフィックス格納されたデータに対するストレージとは別。ストレージについてはtextもvarcharも保存した容量のみ。
両方とも、nはバイトではなく文字数。また、MyISAMとInnoDBでの違いがあるので、注意。5.5未満はMyISAM、5.5以降はInnoDB