mysql –u root –p | まずログイン → この後パスワードを聞かれるので入力 |
show databases; | 全データベースを確認 |
use DB_NAME; | 処理するDBを選択 |
show tables from DB_NAME; | DBのテーブルをチェック |
show tables; | 現在接続しているDBのテーブル自体をチェック |
desc TABLE_NAME; | 現在接続しているDBのテーブルの構造を確認する |
show create database DB_NAME; | 現在接続しているDBの文字コードを確認 |
show create TABLE TABLE_NAME\G; | 現在接続しているDBがどのように作成されたかを確認する |
select database(); | 現在接続しているDBを確認 |
select * from TABLE_NAME; | 現在接続しているDBのテーブルの中身・内容を確認 |
show index from TABLE_NAME¥G; | 現在接続しているテーブルのインデックスに関する情報を出力する |
status | 現在接続しているdatabaseの文字コードやVer、user、portmなど様々な詳細を表示させる charactersetが複数(server,Db,Client,Conn)確認可 |
alter database DB_NAME character set utf8; | databaseの文字コードを変更する 文字コードはdatabase毎に違う、(左記はutf8の場合) |
alter table TABLE_NAME character set utf8; | tableの文字コードを変更する (左記はutf8の場合) |
show variables like ‘character_set%’; | 現在の文字コードの設定を確認 client,connection,database,filesystem,results server,system,dir の確認が可能 |
set names utf8; | 既存DBの文字コードを変更(左記はutf8の場合) |
exit | mysqlを抜ける |
\q | mysqlを抜ける |
※文字コードの問題は根が深く難しい箇所ですが、今後作成するDBの文字コードを変えても既存のDBの文字コードは変わらなかったりするので現在と過去のDBとで考えること。
データベース(DB)、テーブル(TABLE)、レコード(RECORDS)の作成・変更・削除
データベースを作成する際に最低限憶えておきたいことは箱に例えて考えると、まずデータベースの箱がありその中にテーブルという箱が並んでいて、テーブルの箱の中に、必要なもの(データ)を入れて登録します。
すなわちデータベースに登録を行うという事はテーブルに登録するということです。
create database DB_NAME; | DBを作成 *1 |
create table TABLE_NAME (id int, name varchar(20));; | 現在接続しているDBにあるテーブルを作成 テーブルを作成する場合は入れるデータも一緒に作成 |
drop database DB_NAME; | DB自体を削除 |
drop table TABLE_NAME; | TABLE自体を削除 |
delete from DB_NAME; | DBのデータ削除 |
delete from TABLE_NAME; | 現在接続しているDBにあるテーブルのデータを削除 *2 |
delete from TABLE_NAME where FIELD_NAME = ‘hoge’; | 条件に一致したレコードのみ削除 ここではFIELD_NAMEにある値がhoge1だった場合削除 |
delete from TABLE_NAME where FIELD_NAME in (hoge1,hoge2); | 条件に一致・指定した複数レコードのみ削除 ここではFIELD_NAMEにある値がhoge1,hoge2だった場合削除 |
create databaase xxxdb default character set utf8; | 文字コードを指定してDBを作成する ※DB毎に文字コードは設定できます |
*1 データベースを作成しただけであってデータの登録・格納はそのデータベースの中に新たに作成するテーブルに行います。
*2 deleteはテーブルのデータの削除は出来ますがテーブル自体は削除しません。drop tableはテーブル自体を削除します。
ユーザの権限、作成、削除、その他現状確認
ユーザ関連の操作一覧です。
grant all on DB_NAME.* to DB_USERNAME@localhost identified by ‘****’; | 該当のデータベースの全権限を付与された データベースユーザーを作成 |
select host,user from mysql.user; | データベースユーザーを確認 |
delete from mysql.user where user=’DB_USERNAME’; | データベースユーザーを削除 |
show processlist; | 現在データベースへ接続中のユーザーを確認 |
一般的な操作方法と作業の流れ
root でログインします。
c:\>mysql -u root –p
Enter password: ****
database(exdb:任意)とそのDBを扱うユーザ(dbmar:任意)を作成します。
mysql> create database exdb;
Query OK, 1 row affected (0.01 sec)
※データベース(exdb:任意)の作成
mysql> grant all on exdb.* to dbmar@localhost identified by ‘****’;
Query OK, 0 rows affected (0.01 sec)
※データベース(exdb)の全権限を与えたユーザー(dbmar:任意)を作成
あ