🐈
MySQLで遊ぶ(初級編)
背景
個人的にMySQLを触る必要がでそうなので、色々と遊んで見る。
見ずらいと思いますが、ごめんなさい。ごめんなさい。
use
選択しているDBを変える。
本来は指定する場合{database_name}.{table_name}
みたいな感じでする必要があるが、省略できるようになる。
use database_name
create
db
create database database_name;
table
create table n(id int, name char(10));
primary key
主キー、1種類しかできない。
重複できなくなる
create table n3(i int primary key,name char(12));
auto_increment
自動的にインクリメントされている値が入るように設定できる。
インデックスが設定されている必要がある。
DEFAULT成約は設定できない。
create table n4(i int auto_increment primary key,name char(12));
一番でかい数字より大きな数字を生成する。
該当の値が指定されている場合は、それが優先される(defaultと同じ挙動)
foreign key
外部参照キー。
親側にインデックスが振られている必要ある。
create table n4(
i int auto_increment primary key,
name char(12),
foreign key key_name(i) references n3(i)
);
procedure
関数の作成
delimiter
などを事前に使って終端文字を変えて登録する。
create procedure insert_data()
begin
declare i int default 0;
while i < 100000000 do
insert into n3(i,name) values(i,concat("name",i));
set i = i + 1;
end while;
end
insert
データを追加する
insert into n(i,name) values(10,"this is pen")
drop
database
drop database database_name;
table
drop table table_name;
procedure
drop procedure procedure_name;
delete
データをすべて削除する。
delete from table_name;
where
特定条件のやつだけ削除
delete from table_name where id=12;
select
データ表示
select * from table_name;
where
特定条件のやつだけ表示
select * from table_name where id=12;
その他
delimiter
終端文字列を変更する。
標準では;
だが、これを//
などに変換する。
関数定義などの場合によく利用する
delimiter ;
Discussion