Help us understand the problem. What is going on with this article?

データベース初心者のためのMySQLチュートリアル

データベースとは

一定の形式で整理されたデータの集まりです。データベースを効率よく管理、運用するソフトウェアをデータベース管理システムと言います。

MySQLとは

mysql.png

MySQLは、オープンソースで公開されている関係データベース管理システム(リレーショナルデータベース)です。リレーショナルデータベースを略して、RDBと言ったりします。
オープンソースのRDBには,MySQLの他にSQLiteやPostgreSQLなどがあります。
こちらのサイトでは、データベースランキング2位になっております。
MySQLはWordpressにも使われています。

MySQLの特徴

  • wordpressで使われている
  • オープンソースで無料
  • Windows、Mac OS、LinuxなどOSで利用が可能
  • 大規模なサービスでも運用可能
  • GUIツールがある(phpMyAdmin、MySQL Workbenchなど)

環境構築

Homebrew をインストール(インストール済みの方はしなくていいです)

HomebrewはMacのバージョン管理ツールです。Mysqlをインストールするために使います。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
mysqlをインストール

brewコマンドでMysqlをインストールします。

brew install mysql
mysqlのサーバーを起動

mysqlのサーバーを下記のコマンドで起動しましょう。正常に作動がすれば、successと表示されます。

mysql.server start
Starting MySQL
 SUCCESS!
mysqlにログイン

mysqlにはIDとパスワードがあり、デフォルトでは、IDがrootで、パスワードが未設定となっております。なので、下記のコマンドでログインすることができます。

$ mysql -u root -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.18 Homebrew

Copyright (c) 2000, 2019, 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> 
MySQLから抜け出す

MySQLにログインできたら、mysql>のようなコマンドが左側に表示されます。exitコマンドを入力すると抜け出すことができます。

mysql> exit
Bye
パスワードを設定

mysqlのパスワードがないとセキュリティ上、よくないので、下記のコマンドでパスワードを設定します。

mysql_secure_installation
パスワード付きのユーザーにログイン

パスワード付きのユーザー(今回はroot)にログインするには、下記のようなコマンドを実行します。

mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.18 Homebrew

Copyright (c) 2000, 2019, 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> 

データベースシステム用語集

データベースとテーブル

データベースは複数のテーブルを持っています。基本的にプロジェクトごとに1つのデータベースを持ちます。
例えば、「test-project」というデータベースがあり、その中に複数テーブルを作ります。
テーブルは入れるデータの種類ごとに別々の名前でテーブルを作成します。
例えば、ユーザーのメールアドレスやパスワードを入れるテーブルを「users」テーブルと定義したり、投稿データを入れるテーブルを「posts」テーブルとしたり、タスクデータを入れるテーブルを「tasks」テーブルとしたりします。

test-project (1).png

カラムとレコード

カラムとは、テーブルの縦の列のことを言います。カラムごとで、入れるデータの種類を定義します。
レコードはテーブルの横の行で、実際にデータを追加していきます。

レコード.png

コマンドを実行してデータベースを操作しよう

データベースの一覧を表示

rootユーザーでmysqlにログインして、SHOW DATABASESを実行して、データベース一覧を表示しましょう。

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.26 sec)

データベースへの作成

新しくデータベースを作成しましょう。

mysql> CREATE DATABASE test_project;

データベースの作成ができたら、確認しましょう。

mysql> SHOW DATABASES;

test_projectのデータベースを選択

mysql> USE test_project;

テーブル一覧を表示

テーブルは今のところないので「Empty set (0.01 sec)」と表示されれば良いです。

mysql> SHOW TABLES;
Empty set (0.01 sec)

テーブルを作成

mysql> CREATE TABLE users(
    id INT(11) AUTO_INCREMENT NOT NULL, 
    name VARCHAR(30) NOT NULL ,
    age INT(3) NOT NULL,
    PRIMARY KEY (id));

Query OK, 0 rows affected, 2 warnings (0.04 sec)

テーブルの一覧表示

mysql> show tables;
+------------------------+
| Tables_in_test_project |
+------------------------+
| users                  |
+------------------------+

参考

https://www.sejuku.net/blog/8763#i
https://www.kagoya.jp/howto/webhomepage/mysql/

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした