使ったことはあるけど、実はよくわかっていないSQLをきちんと理解すべく基礎から勉強することにした。
Amazonから電子書籍版で入門書を買い、まずはMacにMySQLサーバをインストールして立ち上げるところから。
・・・全く記憶になかったんだが、7月の頭くらいにMySQLをインストールしてた。
そこに追加でもう一個バージョン違いを入れて、なんか混乱しそうだったので、一旦すべて消し去って改めてインストールした。
現在の安定版は5.7.19(7月の頭に入れてたのは5.7.18)
最近の版のMacOSX用バイナリではインストーラでオプションをいじらない限りはPreferencePanesに起動・停止、startupItems登録などを設定するコントロールパネルが自動的にインストールされる。
そうすると/usr/local/mysql/bin/mysqld_safeで起動したり、mysqladminで停止したりが機能しなくなるようだ。起動・停止はシステム環境設定一択というのはUnix的じゃないなあ。まあサーバーをMacで運用するのが目標ではないからあまり細かいことは気にせず先に進むよ。
現行バージョンではtest データベースは作られなくなった?
databaseを新たに作る
$ mysqladmin -uroot -p create test
データベースに入る
$ mysql test -uroot -p
データベースを指定せずあとで読み込む
$ mysql -uroot -p
mysql> USE test
インタラクティブモードコマンドは;不要
tableを作る
mysql> CREATE TABLE [table name] ([column] INT, [column] CHAR(100));
わかりやすく大文字でSQLコマンドを入力しているがコマンド自体には小文字大文字の区別はない
table定義の確認
SHOW CREATE TABLE [table];
tableのfieldの確認
SHOW FIELDS [table];またはDESC [table];
tableの項目(field)を足す
ALTER TABLE [table] ADD [field];
tableにデータを加える
INSERT INTO [table] ([field], [field]) VALUES([value], [value]);
tableのデータを編集
UPDATE [table] SET [field]=[value]
DELETE FROM [table] WHERE [検索条件]
データを表示
SELECT * FROM [table] WHERE [検索条件]
ALTER TABLE [table] ADD UNIQUE ([field])
INDEX
PRIMARY KEY