This commit is contained in:
m-shimizu
2026-09-28 15:56:37 +09:00
parent 5bf83a28e4
commit a2ca833633

View File

@@ -0,0 +1,173 @@
mysql> CREATE TABLE item_category( category_id. INT PRIMARY KEY AUTO_INCREMENT, category_name VARCHAR(256) NOT NULL);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '. INT PRIMARY KEY AUTO_INCREMENT, category_name VARCHAR(256) NOT NULL)' at line 1
mysql> CREATE TABLE item_category ( category_id, INT PRIMARY KEY AUTO_INCREMENT, category_name VARCHAR(256) NOT NULL);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ', INT PRIMARY KEY AUTO_INCREMENT, category_name VARCHAR(256) NOT NULL)' at line 1
mysql> CREATE TABLE item_category ( category_id INT PRIMARY KEY AUTO_INCREMENT, category_name VARCHAR(256) NOT NULL);
Query OK, 0 rows affected (0.03 sec)
mysql> DESC item_category;
+---------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+----------------+
| category_id | int | NO | PRI | NULL | auto_increment |
| category_name | varchar(256) | NO | | NULL | |
+---------------+--------------+------+-----+---------+----------------+
2 rows in set (0.02 sec)
mysql> SELECT * FROM item_category;
Empty set (0.00 sec)
mysql> INSERT INTO item_category ( category_name ) VALUES ('家具'),('飲料'),('食品');
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM item_category;
+-------------+---------------+
| category_id | category_name |
+-------------+---------------+
| 1 | 家具 |
| 2 | 飲料 |
| 3 | 食品 |
+-------------+---------------+
3 rows in set (0.00 sec)
mysql> CREATE TABLE items ( item_id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(256) NOT NULL,
-> price INT NOT NULL, category_id INT, FOREIGN KEY ( categry_id) REFERENCES item_category(category_id));
ERROR 1072 (42000): Key column 'categry_id' doesn't exist in table
mysql> CREATE TABLE items ( item_id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(256) NOT NULL,
-> price INT NOT NULL, category_id INT, FOREIGN KEY ( categry_id ) REFERENCES item_category( category_id ));
ERROR 1072 (42000): Key column 'categry_id' doesn't exist in table
mysql> CREATE TABLE items ( item_id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(256) NOT NULL,
-> price INT NOT NULL, category_id INT, FOREIGN KEY ( category_id ) REFERENCES item_category( category_id ));
Query OK, 0 rows affected (0.06 sec)
mysql> DESC items;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| item_id | int | NO | PRI | NULL | auto_increment |
| name | varchar(256) | NO | | NULL | |
| price | int | NO | | NULL | |
| category_id | int | YES | MUL | NULL | |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
mysql> INSERT INTO items ( name, price, category_id )
-> VALUES ('ローマのテーブル', 150000, 1),('げーたるーど2000 500ml', 370, 2),('原始肉', 2500, 3),('魅惑の椅子', 100000, 1);
Query OK, 4 rows affected (0.01 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM items;
+---------+------------------------+--------+-------------+
| item_id | name | price | category_id |
+---------+------------------------+--------+-------------+
| 1 | ローマのテーブル | 150000 | 1 |
| 2 | げーたるーど2000 500ml | 370 | 2 |
| 3 | 原始肉 | 2500 | 3 |
| 4 | 魅惑の椅子 | 100000 | 1 |
+---------+------------------------+--------+-------------+
4 rows in set (0.00 sec)
mysql> SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name
-> FROM items JOIN item_category ON items.category_id = item_category.category_id;
+-------------+---------+------------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
| 2 | 2 | げーたるーど2000 500ml | 370 | 飲料 |
| 3 | 3 | 原始肉 | 2500 | 食品 |
+-------------+---------+------------------------+--------+---------------+
4 rows in set (0.00 sec)
mysql> SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name
-> FROM items JOIN item_category ON items.category_id = item_category.category_id
-> ORDER BY items.price ASC;
+-------------+---------+------------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------------+--------+---------------+
| 2 | 2 | げーたるーど2000 500ml | 370 | 飲料 |
| 3 | 3 | 原始肉 | 2500 | 食品 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
+-------------+---------+------------------------+--------+---------------+
4 rows in set (0.00 sec)
mysql> SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name
-> FROM items JOIN item_category ON items.category_id = item_category.category_id;
+-------------+---------+------------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
| 2 | 2 | げーたるーど2000 500ml | 370 | 飲料 |
| 3 | 3 | 原始肉 | 2500 | 食品 |
+-------------+---------+------------------------+--------+---------------+
4 rows in set (0.00 sec)
mysql> SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name
-> FROM items JOIN item_category ON items.category_id = item_category.category_id
-> ORDER BY items.price ASC;
+-------------+---------+------------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------------+--------+---------------+
| 2 | 2 | げーたるーど2000 500ml | 370 | 飲料 |
| 3 | 3 | 原始肉 | 2500 | 食品 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
+-------------+---------+------------------------+--------+---------------+
4 rows in set (0.00 sec)
mysql> SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name
-> FROM items JOIN item_category ON items.category_id = item_category.category_id
-> WHERE item_category.category_name = '家具';
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
+-------------+---------+------------------+--------+---------------+
2 rows in set (0.00 sec)
mysql> SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name
-> FROM items JOIN item_category ON items.category_id = item_category.category_id
-> WHERE items.price BETWEEN 1000 AND 50000;
+-------------+---------+--------+-------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+--------+-------+---------------+
| 3 | 3 | 原始肉 | 2500 | 食品 |
+-------------+---------+--------+-------+---------------+
1 row in set (0.00 sec)
mysql> SELECT COUNT (*) AS data_count FROM items;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*) AS data_count FROM items' at line 1
mysql> SELECT COUNT(*) AS data_count FROM items;
+------------+
| data_count |
+------------+
| 4 |
+------------+
1 row in set (0.01 sec)
mysql> SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name
-> FROM items JOIN item_category ON items.category_id = item_category.category_id
-> WHERE items.price = ( SELECT MAX(price) FROM items );
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
+-------------+---------+------------------+--------+---------------+
1 row in set (0.00 sec)
mysql> SELECT items.category_id, items.item_id, items.name, items.price, item_category.category_name
-> FROM items JOIN item_category ON items.category_id = item_category.category_id
-> WHERE items.name LIKE '%の%';
+-------------+---------+------------------+--------+---------------+
| category_id | item_id | name | price | category_name |
+-------------+---------+------------------+--------+---------------+
| 1 | 1 | ローマのテーブル | 150000 | 家具 |
| 1 | 4 | 魅惑の椅子 | 100000 | 家具 |
+-------------+---------+------------------+--------+---------------+
2 rows in set (0.00 sec)
mysql>