0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【頻出】検索しがちなSQL文まとめてみた

Posted at

型名変更

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 '%サトウ%';

とすることで平仮名・カタカナ共に曖昧検索が可能に!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?