mysql

が投稿

関連リンク

基本的なSQL

コメントの書き方

SELECT 1+1; # 行末まで
SELECT 1+1; -- 行末まで(ハイフンの後ろのスペースは必須)
SELECT 1 /* これは行中コメント */ + 1;

データベースの作成

CREATE DATABASE [データベース名]CHARACTER SET utf8mb4;

使用データベースの決定

use [データベース名]

データベース一覧の取得

show databases

テーブル一の覧取得

show tables

テーブル構造の取得

show fields from [テーブル名]

CREATE TABLE文の取得

show create table [テーブル名]

テーブルのコピー

create table tbl1 as select * from tbl2;

フィールドの型

説明補足
int / integer4 バイト整数 
smailint2 バイト整数 
bigintint8、8 バイト整数 
float浮動小数点 
double / real倍精度浮動小数点 
date日付 
time時間 
timestamp日付時間 
char(文字数)固定長文字列 (最大 256 文字) 
varchar(文字数)可変長文字列 (最大 65535 バイト)*文字セットにより最大文字数は異なる
textラージ文字列 (最大 65535 文字) 
mediumtextラージ文字列 (最大 1677215 文字) 
largetextラージ文字列 (最大 4294967295 文字) 
blobラージバイナリ(最大 65535 bytes) 
largeblobラージバイナリ(最大 4294967295 bytes) 

キー作成

単項目のキー設定は、テーブル作成時の create 文で行うと良い。
項目定義に primary key を指定する。

MySQL5.5以上で絵文字を使いたいときは、CHARSETをutf8mb4に設定する

USE test;
CREATE TABLE `m_products` (
  `product_code` varchar(36) NOT NULL COMMENT '商品コード',
  `product_name` varchar(36) NOT NULL COMMENT '商品名',
  `create_datetime` datetime NOT NULL COMMENT '作成日時',
  `update_datetime` datetime DEFAULT NULL COMMENT '更新日時',
  `is_deleted` bit(1) NOT NULL DEFAULT '0' COMMENT '削除済みフラグ',
  PRIMARY KEY (`product_code`) -- ここに複合キーを書くこともできる
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='m_products'

テーブル作成後に alter 文でもPrimaryKeyを追加できる。

create table t_test (
key1 char(8),
key2 char(8),
data1 int8,
data2 int8,
data3 int8
) type=InnoDB,DEFAULT CHARSET=utf8;

alter table testm add primary key (
key1,
key2
);

ユーザー追加

CREATE USER 'hoge'@'localhost' IDENTIFIED BY 'hogepass';
GRANT ALL PRIVILEGES ON *.* TO 'hoge'@'localhost' WITH GRANT OPTION;

参考:公式ドキュメント(6.3.2 ユーザーアカウントの追加)

その他のTIPS

シングルクォーテーションを値に設定する

-- 吾輩は猫デュアル
select 'I''m a cat. ' from dual