データベース(MySQL)コマンド集

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のデータをファイルに出力する/バックアップする)コマンド
  • ダンプからデータを取り込むリストアコマンド

コメントを残す