🐈

MySQLで遊ぶ(初級編)

2021/12/18に公開

背景

個人的に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