[prism class=”sql”]$ mysql.server start
Starting MySQL
.. SUCCESS! [/prism]
— ログイン mysql -uroot -p
パスワードを入力してEnterを押すとログイン。
[prism class=”sql”]$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.19 Homebrew
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>[/prism]
— MySQLログアウト exit;
[prism class=”sql”]mysql> exit;
Bye[/prism]
— MySQLサーバー終了 mysql.server stop
[prism class=”sql”]$ mysql.server stop
Shutting down MySQL
.. SUCCESS! [/prism]
データベースの操作(CREATE/DROP)
— データベース一覧の確認 SHOW databases;
[prism class=”sql”]mysql> SHOW databases;
+——————–+
| Database |
+——————–+
| information_schema |
| list_app |
| mysql |
| performance_schema |
| searchdata_db |
| sys |
+——————–+
6 rows in set (0.00 sec)[/prism]
— データベースtest作成 CREATE DATABASE test;
[prism class=”sql”]mysql> CREATE DATABASE test;
Query OK, 1 row affected (0.00 sec)
mysql> SHOW databases;
+——————–+
| Database |
+——————–+
| information_schema |
| list_app |
| mysql |
| performance_schema |
| searchdata_db |
| sys |
| test |
+——————–+
7 rows in set (0.00 sec)[/prism]
— データベースtest選択 USE test;
[prism class=”sql”]mysql> USE test;
Database changed[/prism]
— テーブル一覧表示 SHOW TABLES FROM test;
— テーブル作成 CREATE TABLE items( id INT(11) AUTO_INCREMENT NOT NULL, name VARCHAR(30) NOT NULL , price INT(11) NOT NULL , PRIMARY KEY (id));
[prism class=”sql”]mysql> CREATE TABLE items(
-> id INT(11) AUTO_INCREMENT NOT NULL,
-> name VARCHAR(30) NOT NULL ,
-> price INT(11) NOT NULL ,
-> PRIMARY KEY (id));
Query OK, 0 rows affected, 2 warnings (0.02 sec)[/prism]
よく使うデータ型
型名
データ型
値の範囲
INT
整数型
-2147483648 ~2147483647
FLOAT
単精度浮動小数点型
3.402823466E+38 ~3.402823466E+38
CHAR(m)
文字列(固定長)
m(文字数指定):0~255文字
VARCHAR(m)
文字列(可変長)
m(バイト数指定):0~65535バイト
DATE
日付型
‘YYYY-MM-DD’
DATETIME
日付時刻型
‘YYYY-MM-DD HH:MM:SS’
TIMESTAMP
日付時刻型
‘YYYY-MM-DD HH:MM:SS’
— テーブルの表示 DESC items;
[prism class=”sql”]mysql> DESC items;
+——-+————-+——+—–+———+—————-+
| Field | Type | Null | Key | Default | Extra |
+——-+————-+——+—–+———+—————-+
| id | int | NO | PRI | NULL | auto_increment |
| name | varchar(30) | NO | | NULL | |
| price | int | NO | | NULL | |
+——-+————-+——+—–+———+—————-+
3 rows in set (0.00 sec)[/prism]
[prism class=”sql”]mysql> SELECT * FROM items;
+—-+—————–+——-+
| id | name | price |
+—-+—————–+——-+
| 1 | じゃがいも | 200 |
| 2 | さつまいも | 300 |
| 3 | にんじん | 100 |
+—-+—————–+——-+
3 rows in set (0.00 sec)[/prism]
— SELECT SELECT id, price, name FROM items WHERE price = 300 ORDER BY id ASC;
WHEREで表示するデータの条件を指定します。複数ある場合はANDでつなげることができます。
ORDER BYでソートする条件を記載します。(ここではidをASC昇順で表示。降順の場合はDESC。)「,」で複数条件記載可能
[prism class=”sql”]mysql> SELECT id, price, name
-> FROM items
-> WHERE price = 300
-> ORDER BY id ASC;
+—-+——-+—————–+
| id | price | name |
+—-+——-+—————–+
| 2 | 300 | さつまいも |
+—-+——-+—————–+
1 row in set (0.00 sec)[/prism]
— UPDATE UPDATE items SET name = ‘さといも’, price = 400 WHERE id = 2;
[prism class=”sql”]mysql> UPDATE items
-> SET name = ‘さといも’, price = 400
-> WHERE id = 2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> SELECT * FROM items;
+—-+—————–+——-+
| id | name | price |
+—-+—————–+——-+
| 1 | じゃがいも | 200 |
| 2 | さといも | 400 |
| 3 | にんじん | 100 |
+—-+—————–+——-+
3 rows in set (0.00 sec)[/prism]
— DELETE DELETE FROM items WHERE id=1;
[prism class=”sql”]mysql> DELETE FROM items WHERE id=1;
Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM items;
+—-+————–+——-+
| id | name | price |
+—-+————–+——-+
| 2 | さといも | 400 |
| 3 | にんじん | 100 |
+—-+————–+——-+
2 rows in set (0.00 sec)[/prism]