モヒカンメモ

髪色が定期的に変わることに定評のある(比較的)若者Webエンジニアの備忘録

ブラウザ上から使えるDB Playgroundの「DB Fiddle」が便利

登録不要・インストールなし、ブラウザ上から手軽に使えるDB Playgroundサービスの「DB Fiddle」が便利だったので紹介する。

www.db-fiddle.com

DB Fiddle - SQL Database Playground

時折、SQLの仕様について確認したりクエリを他者へ共有したいことがある。 そのためにデータベースを起動させたりするのも面倒なので、ブラウザ上からパパっとクエリ書いて済ませられる「DB Fiddle」というWebサービスが便利。有料プランもあるが、基本的には無料で使える。

登録不要、アプリのインストールもなしでブラウザ上から使え、スキーマとクエリを書いてその場で実行できる。

f:id:pinkumohikan:20210605231453p:plain

保存すれば共有URLが発行されるので他者への共有も簡単。

共有URL: https://www.db-fiddle.com/f/aU9qwQsGaaKZMLq82EyhH6/0

日本語を扱う場合の注意

MySQL 5.7では日本語に対応していない latin1 がdefault charsetなので、そのまま日本語を扱おうとすると死ぬ。

SHOW CREATE TABLE tweets;

Table Create Table
test CREATE TABLE tweets ( id int(10) unsigned NOT NULL AUTO_INCREMENT, text varchar(255) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=latin1

INSERT INTO tweets (text) VALUES ("月が綺麗ですね");

Schema Error: Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xE6\x9C\x88\xE3\x81\x8C...' for column 'text' at row 1

日本語を扱いたければ、日本語を扱えるcharsetを明示的に指定すれば良い。

CREATE TABLE tweets (
  id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
  text VARCHAR(255) NOT NULL
) CHARSET "utf8mb4"; -- ← これ