naobe @ ウィキ
MySQL
最終更新:
Bot(ページ名リンク)
-
view
RDBに戻る
rootユーザにパスワード設定
$mysql -u root -p Enter password:
最初は、rootユーザのパスワードなし。
mysql> set password for root@localhost=PASSWORD('パスワード');
次回からは、Enter password:でパスワードを入力する。
ユーザ作成
GRANT 権限 ON DB名.テーブル名 TO ユーザ名 INDENTIFIED BY 'パスワード'
mysql -u root -pを実行した後で
GRANT ALL PRIVILEGES ON *.* TO 'USER'@'localhost' IDENTIFIED BY 'PASSWORD';
kororoユーザに全ての権限を与える
GRANT ALL PRIVILEGES ON *.* TO kororo@localhost IDENTIFIED BY 'test_pass' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO kororo@"%" IDENTIFIED BY 'test_pass' WITH GRANT OPTION;
データベース作成
mysql -u root -pを実行した後で
CREATE DATABASE IF NOT EXISTS データベース名;
データベース選択
mysql>use データベース名
テーブル作成
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] create_definition: col_name column_definition | [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...) [index_type]
【例】
CREATE TABLE suna.a ( ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, TYPE INTEGER, TERMID INTEGER, DETAILID INTEGER);
データベース一覧
mysql>show databases
テーブル一覧
mysql>show tables
SQLをファイルから実行
shell>mysql -u root -p < [[SQL]]が書かれたファイル名
テーブル構成表示
mysql>desc テーブル名
コメント
--, # 文末まで /* */ 文を超えて
DB作成、テーブル作成、データ投入SQL例
# DB作成
DROP DATABASE IF EXISTS SUNA;
CREATE DATABASE SUNA CHARACTER SET utf8;
# TB作成
DROP TABLE IF EXISTS SUNA.TERM;
## 項目
CREATE TABLE SUNA.TERM(
ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(64));
## 項目詳細
DROP TABLE IF EXISTS SUNA.DETAIL;
CREATE TABLE SUNA.DETAIL(
ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(128));
## 収支
DROP TABLE IF EXISTS SUNA.SHUSI;
CREATE TABLE SUNA.SHUSI(
ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
TYPE INTEGER NOT NULL,
GENERATED DATE NOT NULL,
TERMID INTEGER NOT NULL,
DETAILID INTEGER NOT NULL,
AMOUNT INTEGER NOT NULL,
FOREIGN KEY(TERMID) REFERENCES SUNA.TERM(ID),
FOREIGN KEY(DETAILID) REFERENCES SUNA.DETAIL(ID)
);
# データ投入
## 項目
INSERT INTO SUNA.TERM (NAME) VALUES('給料');
INSERT INTO SUNA.TERM (NAME) VALUES('食費');
INSERT INTO SUNA.TERM (NAME) VALUES('遊興費');
INSERT INTO SUNA.TERM (NAME) VALUES('交通費');
INSERT INTO SUNA.TERM (NAME) VALUES('家賃');
INSERT INTO SUNA.TERM (NAME) VALUES('通信費');
INSERT INTO SUNA.TERM (NAME) VALUES('書籍');
INSERT INTO SUNA.TERM (NAME) VALUES('煙草');
INSERT INTO SUNA.TERM (NAME) VALUES('雑費');
## 詳細
INSERT INTO SUNA.DETAIL (NAME) VALUES('なし');
INSERT INTO SUNA.DETAIL (NAME) VALUES('朝食');
INSERT INTO SUNA.DETAIL (NAME) VALUES('昼食');
INSERT INTO SUNA.DETAIL (NAME) VALUES('夕食');
INSERT INTO SUNA.DETAIL (NAME) VALUES('パチンコ');
INSERT INTO SUNA.DETAIL (NAME) VALUES('定期');
INSERT INTO SUNA.DETAIL (NAME) VALUES('ビール');
INSERT INTO SUNA.DETAIL (NAME) VALUES('新聞');
INSERT INTO SUNA.DETAIL (NAME) VALUES('飲料');
## 収支
INSERT INTO SUNA.SHUSI (TYPE, GENERATED, TERMID, DETAILID, AMOUNT)
VALUES(1, '2011-01-01', 8, 1, 410);
