型名変更
ALTER TABLE [テーブル名] MODIFY [カラム名][型]
NOT NULL制約をつけたければ下の方法で!
ALTER TABLE [テーブル名] MODIFY [カラム名][型] NOT NULL
カラム名変更
ALTER TABLE [テーブル名] CHANGE COLUMN [古カラム名] [新カラム名] [型]
型名を既存のカラム名と別のものを指定すれば名前の変更とともに型の変更も可能!
カラム順変更
ALTER TABLE [テーブル名] MODIFY [移動したいカラム名][型] AFTER [移動したいカラム名の上にくるカラム名]
例えば"mst_user"という以下のようなテーブルがあったとして、
cd int
id VARCHAR
name VARCHAR
mail VARCHAR
create_date DATE
[mail]カラムを[name]の上に持っていきたい場合は
ALTER TABLE mst_user MODIFY mail VARCHAR AFTER name
とすることで順番の入れ替えが可能
ラストインサート
SELECT LAST_INSERT_ID()
MySQLは内部的に最後にauto_incrementで挿入したレコードのIDを保持しているので、
auto_incrementのレコードを自動採番してインサートした場合、最後にインサートした自動採番の値を持ってくる。
ただし、自動採番でインサートした場合のみなので、自分でauto_incrementの値を入力した場合は取れない。
平仮名・カタカナ検索
utf8_unicode_ci
大文字小文字/全角半角を区別しない。
「AAA」で検索すると、半角アルファベット「AAA」、全角アルファベット「AAA」、半角アルファベット小文字「aaa」、全角アルファベット小文字「aaa」がマッチする。
「あああ」で検索すると、全角ひらがな「あああ」全角カタカナ「ァァァ」半角カタカナ「アアア」全角ひらがな小文字「ぁぁぁ」全角カタカナ小文字「ァァァ」がマッチする。
「2」で検索すると、半角数字「2」、全角数字「2」がマッチする。
そのため、レコード上カタカナもしくは平仮名のみ登録されている場合でも、検索は平仮名・カタカナどちらでもマッチしてくれる。
select * from member where namae collate utf8_unicode_ci like '%サトウ%';
とすることで平仮名・カタカナ共に曖昧検索が可能に!