PHPの基礎文法をおさらいできたところでMySQLも基本を振り返ってみます。
メモ
- ログイン
-
$ mysql -u USER [-p]
-pを入れるとパスワードを入力することができる。 - ログアウト
-
> exit;
OR
> \q - ヘルプ
- \h OR help
- 標準入力のクリア
- \c
- DBの作成と作業ユーザへの権限付与
-
> set password for root@localhost=password('xxx'); -- rootユーザのパスワード設定
> create database store; -- DBの作成
> show databases; -- DBの一覧表示
> grant all on store.* to dbuser@localhost identified by 'xxx'; -- 作業ユーザの作成と権限付与
> SELECT user, host FROM mysql.user; -- ユーザ一覧表示
> use store; -- DBへの接続
- テーブルの作成
-
> create table users ( -> id int, -> name varchar(255), -> email varchar(255), -> password char(32), -> score double, -> sex enum('male', 'female'), -> memo text, -> created datetime -> ); -- table作成 > show tables; -- table一覧表示
- テーブルのコピー
- > create table new_users like users; -- テーブル名だけ違う、同じ構造のテーブルを作成
- NULL制約
- id int not null
- UNIQ制約
- email varchar(255) unique
- 連番
-
id int auto_increment
連番を振るカラムにはインデックスを張る必要がある。
その際、primary key / keyのどちらでも問題ない。 - default
- score double default 0.0
- 主キー
- id int primary key
- 主キーでないところにインデックスを貼る
- key score (score)
- tableのインデックスの確認
- > show indexes from TABLE_NAME;
- tableの構造を表示
- desc[ribe] TABLE_NAME;
- 列の追加
- > alter table users add created datetime default CURRENT_TIMESTAMP ;
- indexの追加
-
> alter table users add index name(name);
インデックス名(カラム名) - indexの削除
- > alter table users rename system_users;
- tableのリネーム
- > alter table users drop index name;
- DBの削除
-
> drop database store; -- DBの削除
- 扱えるデータ型
-
- 数値:int, double
- 文字列:char, varchar, text
- 日付:date, datetime
- その他:enum
- レコードを帳票形式(項目を横ではなく縦に並べる方式)で出力する
-
select * from users \G
\Gで文が終わるみたいです。;セミコロンを続けて末尾に入れたら、空行だと怒られた。select * from users \G;
ズラズラ
...
ERROR:
No query specified - limit / offset。上から2行を無視し、3行取得。
-
「limit 3 offset 2」「limit 2 ,3」のどちらでもいい。
パラメータが逆になるので注意 - 外部ファイルからSQLを実行
- $ mysql -u dbuser -p store < dataInit.sql
- バックアップファイルの作成
- $ mysqldump -u dbuser -p store > store.bu.dump
- バックアップファイルからの復元
- $ mysql -u dbuser -p store < store.bu.dump
0 件のコメント:
コメントを投稿