【MySQL】基本コマンド

### データベースの操作 ###
# データベースを作る
create database hoge_db;

# データベース一覧を表示
show databases;

# 使用するデータベースを指定
use hoge_db;

# データベースの削除
drop database hoge_db;


### テーブルの操作 ###
# テーブルの作成
create table users (
	id int not null auto_increment primary key,
	name varchar(255),
	email varchar(255) unique,
	password char(32),
	score double,
	sex enum('male', 'female'),
	memo text,
	created datetime,
	key score (score)
);
##テーブルの型##
#	数値
#	  int		整数値
#	  double	浮動小数点
#	文字列
#	  char		固定長
#	  varchar	可変長
#	  text		それ以上
#	日付
#	  date		日付のみ
#	  datetime	日付と時刻両方
#	それ以外
#	  enum		列挙型、予め選択肢が決まっているもの
##テーブルのオプション##
#	入力を必須
#	  not null
#	デフォルト値
#	  default 'male'
#	自動連番
#	  auto_increment
#	索引:インデックス
#	 検索をする時に動作が早くなる。
#	 ただし、挿入し過ぎるとデータを追加するたびに
#	 索引が作りなおされるため動作が遅くなる
#	  主キー
#	   primary key
#	   テーブルの中に一つしか作れない
#	    基本idにつける
#	  キー
#	   key score (score)
#	   いくつでもつけられる
#	  ユニークキー
#	   unique
#	   テーブルの中に重複した値が入ってきた時に弾いてくれる
#	   emailなどによく使う
#	   

# テーブルの削除
drop table users;

# テーブルの構造の確認
desc users;
## レコードの操作 ##
# レコードの挿入
insert into users(name, email, password, score, memo, created) 
	values('name', 'email@mail.com', 'xxx', 5.5, 'memotext', '2012-06-12 11:00:00');

# レコードの表示
#	全てのレコードを表示
select * from users;
#	レコード単位で表示(セミコロンは不要)
select * from users \G
#	指定したフィールドを表示
select name,email from users;
##条件付きで指定
# ex. scoreが5.0以上
select * from users where score >= 5.0;
# ex. score5.5以外( != でも可能
select * from users where score  5.5;
# ex. 日付での指定 (6/1以降
select * from users where created > '2012-06-01 11:00:00';
# ex. あいまいな検索( %@ を使用、*の様なもの
select * from users where email like '%@hoge.com';
# ex. あいまいな検索、文字数指定 ( _ 1つにつき1文字
select * from users where email like '%@hoge.___';
# ex. 指定した数値の間を取得、5〜8
select * from users where score between 5.0 and 8.0;
# ex. 指定した値のみを表示
select * from users where team in ('red', 'yellow');
# ex. 複数の条件を組み合わせる
select * from users where score >= 4.0 and team = 'blue';

# 一般的にはデータベースを作った後
#  作業用ユーザーを作り、そこで操作する。
grant all on hoge_db.* to dbuser@localhost identified by 'PASSWORD';
# grant all on 許可を与えなさい
# hoge_db.* 「.*」でhoge_db以下の全てのテーブルを指定
# dbuser@localhost dbuserというユーザーに権限を与える
# identified by '' パスワードを入力する

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中