create database database_name; // データベース作成
drop database database_name; // データベース削除
create table database_name.table_name (
columb_name data_type default default_value 制約 comment 'comment',
xxx,
表制約(外部キーなど)
);
データ型
- INT:整数値
- FLOAT:浮動小数点
- DATETIME:日時
- TIMESTAMP:日時
- CHAR:固定長文字列
- VARCHAR:可変長文字列
- BLOB:バイナリデータ(画像など)
※INT、FLOAT→正の値に限定(unsigned)
データ型の後に(xxx)で長さを指定しないといけない
制約
- UNIQUE:一意制約
- NOT NULL:NOT NULL制約
- PRIMARY KEY:プライマリーキー制約
- FOREIGN KEY:外部キー制約
- CHECK:チェック制約(<8.0)
drop table table_name; // テーブル削除
desc table_name; // テーブル定義の確認
show full columns from table_name; // テーブル定義(コメント含む)
show create table talbe_name; // テーブル作成コマンド確認
use database_name; // データベースの切り替え
select database(); // 使用中のデータベースの表示
create table table_name(
key int primary key // プライマリーキー
)
create table table_name(
key int,
key1 int,
primary key(key, key1) // 複合キー
)
create table table_name(
key int auto_increment primary key // AUTO INCREMENT(インデックスがある列に対して有効)
)
alter table table_name
add column key varchar(20),
add column key1 varchar(20);
alter table table_name
add column key2 varchar(20) after key;
alter table table_name
add column key3 varchar(20) first;
alter table table_name
modify column key3 int not null;
alter table table_name
drop column key3;
alter table table_name
add constraint 制約名
foreign key (target_key)
references parent_table_name(key_name)
on update cascade
on delete restrict;
insert into table_name(属性1, 属性2) values(value1, value2); // 単一レコード
insert into table_name(属性1, 属性2) values(value1, value2),
(value3, value4); // 複数レコード
drop table table_name; // テーブル削除
delete from table_name; // テーブルのレコード削除
ALTER TABLE table_name CHANGE COLUMN prev_name after_name INT; // カラム名変更
RENAME TABLE table_name TO new_table_name; // テーブル名変更
ALTER TABLE table_name DROP PRIMARY KEY;
ALTER TABLE table_name ADD PRIMARY KEY (column1, column2);
GRANT ALL ON database_name.table_name TO 'user_name'@'host_name'; // ユーザー権限の付与
GRANT ALL ON *.* TO 'user_name'@'host_name';
ALTER TABLE table_name DEFAULT CHARSET=utf8mb4; // 文字セットの変更
ALTER TABLE table_name MODIFY COLUMN column_name text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL; // CHARACTER SET:文字セット COLLATE:照合