MySQL alter、select評価順

・準備

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