Subscribed unsubscribe Subscribe Subscribe

MySQLの基礎

ログイン(ターミナルから)

mysql --pager='less -S' -u ユーザー名 -pパスワード -h ホスト名;

※--pager='less -S'は長い文字列のデータが存在するテーブルを全selectしたときに画面の幅に合わせて折り返しせず、横スクロールができるようになります
※これによって、selectする際に\Gを指定する必要はなくなります

ユーザーの権限表示

SHOW GRANTS FOR ユーザー名;

全ユーザーの情報を知りたい

SELECT * FROM mysql.user;

ユーザーの作成

CREATE USER 'ユーザー名'@'localhost' IDENTIFIED BY 'パスワード';

ユーザーに権限付与

GRANT ALL ON データベース名.* TO ユーザー名@ドメイン IDENTIFIED BY 'パスワード' WITH GRANT OPTION;

※WITH GRANT OPTIONが指定された場合は付与された権限を他のユーザーに付与することができます

パスワード変更

SET PASSWORD FOR root@localhost=PASSWORD('hogehoge');

データベース作成

CREATE DATABASE データベース名;

データベース削除

DROP DATABASE データベース名;

テーブル作成

CREATE TABLE テーブル名(  
    主キーのカラム VARCHAR(20) NOT NULL PRIMARY KEY,  
    文字列カラムA VARCHAR(100),  
    文字列カラムB VARCHAR(20) NOT NULL,  
    数字カラムA INT,  
    数字カラムB INT,  
    テキストカラムA TEXT NOT NULL,  
    テキストカラムB TEXT NOT NULL,  
    日時カラムA_datetime DATETIME NOT NULL,  
    日時カラムB_datetime DATETIME NOT NULL  
);
※複合主キーの場合は最終行にPRIMARY KEY(主キー名1,主キー名2)

列定義変更

ALTER TABLE
    データベース名.テーブル名
MODIFY COLUMN
    カラム名 DATETIME NOT NULL;

列追加

ALTER TABLE
    データベース名.テーブル名
ADD
    カラム名 VARCHAR(20) NOT NULL;
AFTER
    カラム名

データ挿入

INSERT INTO
    データベース名.テーブル名
    (
        カラム1,
        カラム2,
        カラム3
    )
VALUES
    (
        'カラム1',
        'カラム2',
        NOW()
    );
※全ての列に挿入する値を指定する場合はデータベース名.テーブル名(カラム1...)の部分は不要
※現在日時はNOW()

データ削除(1行分)

DELETE FROM データベース名.テーブル名 WHERE カラム名='値';

データ削除(テーブル内全部)

TRUNCATE TABLE データベース名.テーブル名;

テーブル削除

DROP TABLE データベース名.テーブル名;

テーブルバックアップ

$ mysqldump -u ユーザー名 -pパスワード -h ホスト名 > ダンプファイル.sql

dumpファイル取り込み

$ mysql -u ユーザー名 -pパスワード -h ホスト名 < ダンプファイル.sql

外部ホストからの操作

DBサーバーにユーザー追加

GRANT
  権限の種類
ON
  *.*
TO
  ユーザー名@ホスト名
IDENTIFIED BY
  'パスワード'
WITH GRANT OPTION;

ユーザーが登録されたか確認する

SELECT * FROM mysql.user;

ユーザー削除

DROP USER ユーザー名@ホスト名

発行したSQLのhistoryを確認する

view ~/.mysql_history

エラーログファイルを確認する

view /etc/my.conf
[mysqld_safe]
log-error=/var/log/mysqld.log
Remove all ads