SQLファイルの作成方法、MySQLでの実行方法をまとめる。
SQLファイルの作成
MySQLにてSQLファイルを実行
DBを作成する。
SQLファイルを用意する。
データベース作成するファイル
create_db.sql
SHOW databases;
CREATE DATABASE vending_machine;
SHOW databases;
テーブル作成するファイル
create_table.sql
USE vending_machine;
SHOW tables;
CREATE TABLE item_info(id INT AUTO_INCREMENT, name TEXT, code TEXT, type TEXT, PRIMARY KEY (id)) DEFAULT CHARSET=utf8;
CREATE TABLE item_stock(id INT AUTO_INCREMENT, code TEXT, stock INT, PRIMARY KEY (id)) DEFAULT CHARSET=utf8;
CREATE TABLE item_price(id INT AUTO_INCREMENT, code TEXT, price INT, PRIMARY KEY (id)) DEFAULT CHARSET=utf8;
CREATE TABLE temp_type(id INT AUTO_INCREMENT, code TEXT, name TEXT, PRIMARY KEY (id)) DEFAULT CHARSET=utf8;
CREATE TABLE money_stock(id INT AUTO_INCREMENT, money INT, name TEXT, stock INT, PRIMARY KEY (id)) DEFAULT CHARSET=utf8;
CREATE TABLE purchase_history(id INT AUTO_INCREMENT, code TEXT, money INT, PRIMARY KEY (id)) DEFAULT CHARSET=utf8;
DESCRIBE item_info;
DESCRIBE item_stock;
DESCRIBE item_price;
DESCRIBE temp_type;
DESCRIBE money_stock;
DESCRIBE purchase_history;
SHOW tables;
money_stockテーブルにレコートを追加するファイル
money_stock_table.sql
USE vending_machine;
SHOW tables;
SELECT * FROM money_stock;
INSERT INTO money_stock(money, name, stock) VALUES (10, '10円', 10);
INSERT INTO money_stock(money, name, stock) VALUES (50, '50円', 10);
INSERT INTO money_stock(money, name, stock) VALUES (100, '100円', 10);
INSERT INTO money_stock(money, name, stock) VALUES (500, '500円', 10);
INSERT INTO money_stock(money, name, stock) VALUES (1000, '1000円', 10);
INSERT INTO money_stock(money, name, stock) VALUES (5000, '5000円', 10);
INSERT INTO money_stock(money, name, stock) VALUES (10000, '10000円', 10);
SELECT * FROM money_stock;
※現在、money_stockテーブルにレコードを追加するファイルはエラーを吐く。
ERROR 1406 (22001): Data too long for column 'name' at row 1
INSERT INTO
文でname
カラムの値が長すぎるようであるが、1行ずつの実行では問題ないため原因は不明。
引用
仕様設計