| 94行目: | 94行目: | ||
* 主キーが削除できない時はその列にインデックスを追加すると削除できるようになる | * 主キーが削除できない時はその列にインデックスを追加すると削除できるようになる | ||
==データベース== | |||
{| class="wikitable" summary="データベース" | |||
|- | |||
!データベースを作成|リスト表示(S)|属性変更|削除 | |||
|<code>CREATE | SHOW | ALTER | DROP DATABAE(S)</code> | |||
|- | |||
!データベースを選択 | |||
|<code>USE</code> | |||
==テーブル操作== | ==テーブル操作== | ||
2019年2月21日 (木) 14:05時点における版
Mysqlクライアント
| データベースの作成 | mysqladmin -u root -p create sampledb
|
|---|---|
| ステータスの表示 | mysqladmin -u root -p status
|
| 稼働状況の表示 | mysqladmin -u root -p ping
|
| スレッドリストの表示 | mysqladmin -u root -p processlist
|
| スレッド番号3を kill | mysqladmin -u root -p kill 3
|
| パスワードを変更 | mysqladmin -u root -p password 'new-password'
|
| スレーブ機能を開始 | mysqladmin -u root -p start-slave
|
システム情報
| システム変数の表示 | SHOW STATUS
|
|---|---|
| システム変数の変更 | SET
|
ユーザ管理
| ユーザリストを表示 | SELECT user, host FROM mysql.user;
|
|---|---|
| ユーザの追加 | GRANT ALL ON sampledb.* TO user@localhost IDENTIFIED BY 'passwd';
|
| 権限の付与 | GRANT INSERT, DELETE ON sampledb.* TO user@192.168.1.%;
|
| 権限の取り消し | REVOKE INSERT, DELETE ON sampledb.* FROM user@domain.com;
|
| 権限を表示 | SHOW GRANTS FOR user@localhost¥G
|
| 削除 | DROP USER |
| ユーザ名の変更 | RENAME USER old TO new
|
| ユーザの削除 | DROP USER user@localhost;
|
| 権限の更新 | FLUSH PRIVILEGES;
|
| root でパスワード変更 | SET PASSWORD FOR user@localhost = password('new_passwd');
|
| ユーザでパスワード変更 | SET PASSWORD = password('new_passwd');
|
スタート・アップ
| ログイン | mysql -u user -p sampledb
|
|---|---|
| セッション情報を表示 | status
|
| auto_increment値の確認 | SHOW TABLE STATUS¥G
|
| auto_increment値のセット | ALTER TABLE hoge AUTO_INCREMENT=3;
|
auto_increment値の初期化
mysql > CREATE TABLE tmp LIKE hoge; ← カラム定義だけ同じテーブルを作成 mysql > CREATE TABLE tmp AS SELECT * FROM hoge WHERE 1=2; ← この書き方もできる mysql > SET @a = 0; mysql > INSERT INTO tmp SELECT @a := @a + 1 AS id, name FROM hoge
* 主キーが削除できない時はその列にインデックスを追加すると削除できるようになる
データベース
| リスト表示(S)|属性変更|削除 | SHOW | ALTER | DROP DATABAE(S) | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| データベースを選択 | USE
テーブル操作
*外部キーを追加するときは結びつけるカラムが相互に同じ型である事、挿入データが既にある場合は値が全て一致している必要がある ダンプとリストアダンプとリストアには4つの方法がある。
mysqldump の例: $ mysqldump -u root --hex-blob --lock-tables sampledb > dump.sql ← テーブルロックをかけつつ、バイナリデータでダンプ |