登録不要・インストールなし、ブラウザ上から手軽に使えるDB Playgroundサービスの「DB Fiddle」が便利だったので紹介する。
DB Fiddle - SQL Database Playground
時折、SQLの仕様について確認したりクエリを他者へ共有したいことがある。 そのためにデータベースを起動させたりするのも面倒なので、ブラウザ上からパパっとクエリ書いて済ませられる「DB Fiddle」というWebサービスが便利。有料プランもあるが、基本的には無料で使える。
登録不要、アプリのインストールもなしでブラウザ上から使え、スキーマとクエリを書いてその場で実行できる。
保存すれば共有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"; -- ← これ