0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自動販売機のシステムを作ってみる part2 -SQLファイルの作成-

Posted at

SQLファイルの作成方法、MySQLでの実行方法をまとめる。

SQLファイルの作成

  1. Textファイルの拡張子を.sqlに変更する。
    extension.png
  2. test.sqlにSQLコマンドを入力する。※この際、セミコロン(;)を付ける。
    image.png
  3. ファイルをローカルフォルダに置く。
    image.png

MySQLにてSQLファイルを実行

  1. コマンドプロンプトを開く。
  2. mysql -u (ユーザ名) -pにてMySQLにログインする。
  3. sourceコマンドでsqlファイルを選択し実行する。
    image.png
  4. test.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行ずつの実行では問題ないため原因は不明。

引用

仕様設計

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?