こちら

1
MacOS で PATH を通す
自分の Home に .bash_profile を作る。
vi .bash_profile
として、その内容に以下を追加または修正をする。(新規かもしれない。)
export PS1=’\u:\W\$ ’
export PATH=/usr/local/mysql/bin:/usr/local/bin:/opt/local/bin:$PATH
alias em=’open -a /Applications/Emacs.app/Contents/MacOS/Emacs’
このあと、ターミナルを終了して再度開く。em は emacs をコマンドラインで開くのに
使う。
em ファイル名
2
Mysql データベースの表示、table の作成
徳田さんの文書までの操作はすでに済みとします。
mysql -u sato -D mydb -p
でデータベースに入ります。
sql コマンドのキーワードでは、大文字と小文字は区別されません。以下で大文字の部分
は小文字で打ってもかまいません。逆に、データベース名、テーブル名などは区別されま
すので注意してください。
以下では、コマンド キーワードは大文字、ユーザ依存部分は小文字で書きます。
1. データベースの表示
SHOW DATABASES;
2. データベースの選択
USE mydb;
3. テーブルの表示
SHOW TABLES;
4. テーブルの field(項目) の表示
SHOW FIELDS FROM test;
これは、テーブル test の field を表示します。
5. 新しいテーブルの作成
CREATE TABLE friends (id INT,name VARCHAR(30),birth DATE);
データ型には以下のようなものがあります。
(1) 数値
INT BIGINT DOUBLE
(2) 文字列
CHAR(n) VARCHAR(n) TEXT
n は適当な数です。char(20) は固定の 20 byte 文字列を意味する。
varchar(20) は 20byte 以下の文字列を意味する。TEXT は、大きな文字列に使用さ
れる。
(3) 日付け
DATE DATETIME
DATE は’2009-10-31’ のような形式であり、DATETIME は’2009-10-31 13:30:00’ の
形式 です。
3
データの追加
friends にデータを追加してみます。
INSERT INTO friends VALUES(1,’kato’,’1990-1-1’);
文字列は、シングルクォートで囲みます。
mysql コマンドラインでは、上カーソルキーで前の入力文を再利用できます。
日本語の名前も入れてみてください。
データを表示するには
SELECT * FROM friends;
とします。
birth が不明なデータは
INSERT INTO friends VALUES(1,’nakano’,NULL);
のようにします。NULL は、特別なデータで値が無いことを表します。
4
データの変更
最初のデータの名前 kato を日本語に変更します。
UPDATE friends SET name=’ 加藤’ WHERE id=1;
WHERE 以下は条件の指定で、これをしないとすべての name が変更されてしまう。
5
データの削除
id=1 と id=2を削除してみます。
DELETE FROM friends WHERE id=1 OR id=2;
名前が test であるデータを削除するには
DELETE FROM friends WHERE name=’test’;
とします。
WHERE を省略すると、すべてのデータが削除されるがテーブルの定義は残る。
テーブルを完全に削除するときは
DROP TABLE friends;
とする。データベースも
DROP DATABASE mydb;
と簡単(!
!
!)に削除できる。
6
WHERE 句
WHERE で使用できる演算子は
= , > , < , <= , >= , <>
ここで、<>は一致しないことを表す。また論理演算には
AND , OR , NOT
が使える。 () を使って結合してもよい。
他にもいろいろある。
7
SELECT
データを表示する select にも WHERE 句で条件を指定できる。
SELECT *
FROM friends WHERE birth<’1980’;
並び替えは
SELECT * FROM friends ORDER BY birth;
とすると birth の昇順に表示される。
逆順にしたいときは、
SELECT * FROM friends ORDER BY birth DESC;
と DESC を付け加える。
*では、すべての field が表示される。表示項目を限定するには
SELECT name FROM friends;
とか
SELECT birth, name FROM friends;
とする。
NULL 値を含むデータは
SELECT * FROM friends WHERE birth IS NULL;
逆に、NULL でないデータは SELECT * FROM friends WHERE birth IS NOT NULL;
8
NULL
field の値に NULL を許したくないときは、テーブル作成のとき
CREATE TABLE friends (id INT NOT NULL,name VARCHAR(30) NOT NULL,birth
DATE);
のように NOT NULL の指定をします。
ここでは、ALTER を使って修正してみます
ALTER TABLE friends MODIFY id INT NOT NULL;
確認するには
SHOW FIELDS FROM friends;
とします。
9
バッチファイル
次の内容のファイル friends.sql を作成します。
insert into friends values(15,’takeda’,NULL);
insert into friends values(16,’nomura’,’1999-2-3’);
これを、データベースに反映するには
mysql -u sato -D mydb -p<friends.sql
のようにします。 あるいは、mysql -u sato -D mydb -pXXXXXXXX<friends.sql
のようにコマンドラインにパスワードを書いてもよい。XXXXXXXX の部分は、本当の
パスワードにすること。
バッチファイルの内容は mysql コマンドが解釈できる任意の sql コマンドが書けるので、
たとえばファイルの先頭に
use mydb;
を入れておけば、 -D mydb は省略できる。