MySQLコマンド覚書

MySQLで何かする際に、どのようなコマンドを打てばよいかを覚書として書き留めました。

ログインとログアウト

MySQLで何か行うために、まずはMySQLにログインします。

端末からログインするには、

と打ち、パスワードを入力すればログインできます。

ログアウトは

詳細:MySQLに端末からログインするには?

データベース

MySQLでは、

  1. MySLQの中にデータベースがあり
  2. データベースの中にテーブルがあり
  3. テーブルの中に各データが格納されている

という階層構造が取られています。

先ほどMySQLにログインしたので、次はデータベースを見てみます。

データベースの一覧を見る

show databases;でデータベースの一覧を確認できます。

新しくデータベースを作る

create database `データベース名`;で新しくデータベースを作れます。今回試しにstlibというデータベースを作ってみます。`(backtick)は小文字です。’(シングルクオーテーションマーク)だと上手くいかないようです。

データベースを使う

use データベース名;でデータベースを利用できるようになります。

データベースを削除する

drop database データベース名; でデータベースを削除します。

テーブルを使う

データベースの中にテーブルがあります。

データベースの中身であるテーブルの一覧を確認

show tables;で、データベースの中にどのようなテーブルがあるのかを確認できます。

先ほど作ったばかりのstlibには、まだテーブルが存在しない事が確認できます。

テーブルを作成

create table テーブル名 (仕様); でテーブルを作れます。

テーブルの中身の表示

テーブルの中身を確認

select * from テーブル名でテーブルの中身を確認できます。

先ほど作ったwlistの中身を見てみると、まだ何も中身が入っていない事が分かります。

テーブルの中身の内、条件を満たすデータを抽出

select * from テーブル名 where 条件;で、条件を満たすデータを抽出出来ます。いくつかデータを登録した後に、試しにcurがKRWであるデータを抽出してみます。

テーブルの中身を並べ替えて表示

select * from テーブル名 order by ソートするカラム名;で、並べ替えて表示できます。試しにcodeで並べ替えて表示します。

テーブル内容の操作

テーブルにデータを追加

insert into文でデータを追加できます。

入力方法は複数の種類があります。

参考:データの追加(DBOnline)

テーブルのデータを削除

delete from テーブル名 where 条件;で、条件を満たすデータを削除出来ます。間違えて必要なデータを消さないように、事前にselect文で抽出の条件に問題無い事を確認してからdelete文を使うのが良いとされています。例えばwlistのcurがusdであるデータを削除する場合は下記のコマンドです。

テーブルのデータの編集

update文でテーブルのデータを編集します。試しにwlistのcodeを7475:jpから7475.jpへと変更します。

テーブルのカラムの追加と削除

alter table テーブル名 add カラム名 データ型;でカラムを追加できます。試しにテーブルwlistにカラムperを追加してみます。

alter table テーブル名 drop カラム名;でカラムの削除ができます。先ほどのカラムperを削除してみます。

その他

データベースのユーザー追加

データベースのユーザー追加は、

GRANT ALL PRIVILEGES ON データベース名.* TO ユーザー名@localhost IDENTIFIED BY “パスワード”; です。データベース名とユーザー名は同じで構わないようです。パスワードは設定します。

このコマンドは、データベース「データベース名」のすべての操作を許可するという意味です。データベースを操作されないためにも、パスワードは破られにくいものが良いです。

ユーザーを追加しておけば、他のソフトウェア(例えばpythonやphp)を設定すれば、MySQLのデータベースにアクセスが可能になります。

設定を反映

flush privileges; で設定が反映されるようです。

MySQLで、条件を満たすデータを削除するには?

削除はdelete文

MySQLで条件を満たすデータを消去するには、delete文を使います。基本構文は下記です。データベースの名前(db_name)と、テーブルの名前(tbl_name)を指定し、必要であれば条件(where_condition)をWHEREの後に記述します。

Delete文は、下記の記事が詳しいです。

データの削除(DBOnline)

サンプルコード

下記は、私の掲示板に投稿されたスパムコメントのidを確認し(ここではlog_id=12967)、投稿内容のデータベース・テーブル(chat.chatlog2)から削除した時のコマンドです。

MySQLに端末からログインするには?

MySQLにログインする

MySQLに端末からログインするには、端末で

と打ちます。すると、Enter password:と出てきますので、パスワードを入力すれば、ログインができます。

ここで、-uはユーザ名の指定を、-pはパスワードを後で聞くオプションです。

サンプルコード

下のサンプルコードはユーザー名でrootでログインした所です。mysql>と出てきた後に、mysqlのコマンドを入力をしていく事になります。

終了するには?

終了する時はexit;と打ちます。

詳細

下記の記事が詳しいです。

MySQLに接続するユーザー名とパスワードの指定(DBOnline)