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?

この記事はJavaとPythonを基礎から学びたい私のための Advent Calendar 2024の23日目の記事です。学べるところまで学びます。
非常に複雑なので、導入だけまずはやっていきます。

MySQLとは

大量のデータが入ったデータセットを扱うための言語で、データベース言語と呼ばれているそうです。データベースのどの範囲に何をするかといったことを命令します。そこら辺のPythonとかC#とかとは違うもののようです。

導入

上のサイトからダウンロードして、セットアップをするだけで行けました。
アドカレ23写真.png

すべて終わると上の写真のようになりました。(どこを隠したらいいのかわからなかったので、とりあえず隠した方がよさそうなところを隠しておきました。)
image.png

これも一緒に出てきます。こちらのMySQL Shellを使っていろいろ作業を行っていきます。

使い方

MySQLでは「JS」,「PY」,「SQL」の3種類が選べるようです。
それぞれ「Javascript」,「Python」,「SQL」です。使う言語を変えられるようです。今MySQL JSと表示されていますがJavascriptでなくSQLを使ってみたいので以下のように入力します。

\SQL

これでSQLの言語を使って作業することが可能です。
その後、サーバーに接続するようです。接続しないと、

 MySQL  SQL > SELECT database();
ERROR: Not connected.

とこのようにエラーが出て先に進めませんでした。
サーバー接続の様子を以下に載せておきます。

 MySQL  SQL > \connect root@localhost
Creating a session to 'root@localhost'
Please provide the password for 'root@localhost': ********
Save password for 'root@localhost'? [Y]es/[N]o/Ne[v]er (default No): Y
Fetching global names for auto-completion... Press ^C to stop.
Your MySQL connection id is 00 (X protocol)
Server version: 8.0.40 MySQL Community Server - GPL
No default schema selected; type \use <schema> to set one.
 MySQL  localhost:00000+ ssl  SQL >

消した方がよさそうなidの部分とかは変えてありますが、そのまま行ったことを載せています。

解説 

①まずは接続するためのコマンドを

 \connect root@localhost

これを入力します。接続先はlocalhostとなっていますが、これは自分自身のパソコンのことを指しているようです。次に

Please provide the password for 'root@localhost': ********
Save password for 'root@localhost'? [Y]es/[N]o/Ne[v]er (default No): Y

設定したパスワードを聞かれますが、これは導入時に設定したもので行けました。保存もしてくれるみたいです。あとは自動で接続してくれます。" MySQL localhost:00000+ ssl SQL >"が出てくれば接続されているはずです。これでやっとスタートラインに立てました。

使ってみる

データベース作成

まずは処理を行うためのデータを作ってみようと思います。

> create database Testdb;
Query OK, 1 row affected (0.0049 sec)

create database 名前;で作ることができるみたいです。OKと出てきているのでおそらくできていると思います

データベース確認

念のため、今ちゃんとデータベースができたか確認します。
以下でデータベースの全体を見ることができるようです。

 show databases;

結果:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| testdb             |
| world              |
+--------------------+
7 rows in set (0.0013 sec)

こんな感じで表として出てくるみたいです。ちゃんと中に今作ったtestdbが入っていました。が、worldとかsakilaとかいう謎のデータベースもありました。これらはMySQLが出しているお試しのデータベースみたいです。とりあえずsakilaを使ってみます。

データベースを出す

今回は標準で入っている「sakila」を試しに動かしてみます。

use sakila

これでsakilaを選択できます。Default schema set to sakila.とか出てきますが、その中の「schema」というのはデータベースみたいな感じのもののようです。

テーブルを見る

テーブルを見ることができます。

 SQL > show tables;
+----------------------------+
| Tables_in_sakila           |
+----------------------------+
| actor                      |
| actor_info                 |
| address                    |
| category                   |
| city                       |
| country                    |
| customer                   |
| customer_list              |
| film                       |
| film_actor                 |
| film_category              |
| film_list                  |
| film_text                  |
| inventory                  |
| language                   |
| nicer_but_slower_film_list |
| payment                    |
| rental                     |
| sales_by_film_category     |
| sales_by_store             |
| staff                      |
| staff_list                 |
| store                      |
+----------------------------+
23 rows in set (0.0020 sec)

32個もテーブルがあるようです。ここでいうテーブルは、データのまとまりの名前のようなものです。

テーブルの中身を確認する

今回は上のテーブルのうち、「city」の中身を確認してみます。確認するには

select*from city;

と入力するようです。from cityでcityを指定して、select*ですべてを選択しています。*は全選択のようです。

今日の分ここまで

まとめ

MySQLはデータベースを扱うことを専門とした言語で、PythonやJavascriptとは違う。ただし、これらの言語を使うことができる。
データセットを選択し、表示することができる。

参考文献

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?