JavaScriptでMySQLを使うためのコマンドを記録します
Node.jsモジュールをインストール
Node.js + Express で MySQLを使う時は、Expressモジュール及びMySQLデータベースの他にMySQLモジュールをアプリのプロジェクトにインストールします。インストールするとアプリのプロジェクトフォルダに /node_modules が作成されます。
$ npm install express
$ npm install mysql
最小限のひな形で app.js ファイルを新規作成します
/* 1. expressモジュールをロードし、インスタンス化してappに代入。*/
var express = require("express");
var mysql = require('mysql');
var app = express();
var port = 3000;
/* 2. listen()メソッドを実行して3000番ポートで待ち受け。*/
var server = app.listen(port, function(){
console.log("ポート番号:" + server.address().port + "で待ってまーす");
});
// ルートAPI
app.get('/', (req, res) => {
res.send('こんにちはー (^_^)/');
});
アプリ実行
コマンドラインで実行します
$ node app.js
ブラウザで表示テスト
http://serverxx.local:3000/
画面に「こんにちはー(^_^)/」が表示されたら成功
MySQLデーターベース操作コマンド
データベースにパスワード付きで接続する
$ sudo mysql -u root -p
外部のDBサーバーにアクセスする場合:
$ mysql -u ユーザー名 -p -h サーバー名 -P ポート番号
データベース一覧を表示する
> SHOW DATABASES;
使うデータベースを選ぶ
> USE データベース名;
テーブル一覧を表示する
> SHOW TABLES;
テーブル内のデータを全て表示してみる
> SELECT * from テーブル名;
データベース操作を終了する
> EXIT;
(Create)データ[レコード]を追加する
書式> INSERT INTO mydata (項目1, 項目2) VALUES (データ1, データ2);
例_> INSERT INTO mydata (id, name, data) VALUES (23, '好きな食べ物', 'チャーハン');
IDが自動採番キーの場合
例_> INSERT INTO mydata (name, data) VALUES ('好きな食べ物', 'チャーハン');
(Read)データ[レコード]を読む
書式> SELECT 項目1, 項目2 FROM テーブル名 WHERE 検索条件;
例 > SELECT * FROM mydata;
例 > SELECT * FROM mydata WHERE id=20;
例 > SELECT name FROM mydata WHERE id=20;
(Update)データ[レコード]を書き換える
書式> UPDATE テーブル名 SET 項目=値 WHERE 条件式;
例 > UPDATE mydata SET data='ポテトスープ' WHERE id=24;
例 > UPDATE mydata SET name='好きな食べ物', data='ポテトスープ' WHERE id=24;
条件式が無い場合、全てのレコードが対象になるので気をつけて
(Delete)データ[レコード]を削除する
※データが消えるので要注意
書式> DELETE FROM テーブル名 WHERE 条件式
例(全てのレコード削除)> DELETE FROM myTable;
例 > DELETE FROM my data WHERE id=22;
ユーザーを編集するコマンド
ユーザー一覧を表示する
SELECT host, user, password FROM mysql.user;
ユーザーを追加する
書式> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
追加したユーザーに全てのDB操作権限を与える。[USAGE:権限なし], [SELECT, CREATE, UPDATE, INSERT, DELETE]
書式> grant all privileges on *.* to testuser@localhost IDENTIFIED BY 'password';
記載しないコマンド
- データベースのダンプをとる(DBのデータをファイルに出力する/バックアップする)コマンド
- ダンプからデータを取り込むリストアコマンド