中学生でもできるMariaDB入門 #1


あいさつ

初めての人は初めまして!知っている人はこんにちは!
中学生バックエンドPGのAtieです!
今回は「MariaDB入門」ということでMariaDBの入門の記事を書いていきます
MariaDB入門は3回に分けて記事を投稿していきます
では!

データベースとは?

皆さんは「データベース」という言葉を聞いたことがあるでしょうか?
聞いたことのない人が大半だと思いますが聞いたことのある人でも「詳しく説明してよ!」といわれると
「うっ」と言葉を詰まらせてしまうのではないでしょうか
そんなデータベースの超基礎からしていきます

データベースとは「データをためておくことができる場所」と考えてください
例えばTwitterでツイートしたときのデータをためておく必要があります
その時に登場するのがデータベース(以下DB)です
DBを使うことでツイートの内容の管理だけではなくいいね数やリプの数なども保存することができます
そしてためたデータを使いたいときに使いたい形で取り出すことができます
DBではExcelなどの表形式でデータを保存しています
これがDBなのです

DBの用語

ではさっそく勉強!
の前に理解しておく用語があるので先にそちらを抑えてから学習に入ります
「なんで?」と思った方DBには専門用語があり前提知識なしだと学習が難しいですし用語が出てきたところでいちいち解説するのもめんどくさいのでスムーズに理解しながら学習を進めるために今ここでDBの用語を学んでいきます

テーブル

DBでは一つ一つの表のことをテーブルと呼びます

レコード

テーブルの一つ一つの行をレコードといいますといいます

カラム

テーブルの列のことをカラムといいます

用語といってもこの三つだけを最初は覚えていれば大丈夫だと思います

テーブルの作成

ではテーブルの作成をしていきます
デーブルを作成するには

main.sql
CREATE TABLE テーブル名 (カラム名 型);

このようにして作ります
テーブルを作成するときは同時にカラムとカラムの型を指定する必要があります
カラムが複数ある場合は,で区切っていきます
では実際に作っていきます
今回はTwitterのようにツイートの内容といいね数を保存したいのでテーブル名はtweetsにします

テーブルはデータを複数保存するのでよく複数形で作成されます

main.sql
CREATE TABLE tweets (tweet VARCHAR(140),likes INT);

これでテーブルの作成ができました

VARCHARの(140)というのは140文字までという意味です

sqlでは改行やインデントもできます

main.sql
CREATE TABLE tweets (
    tweet VARCHAR(140),
    likes INT
);

のように書くこともできます
今回はカラムが複数あるので,で区切ってテーブルを作成しました

テーブルの構造を確認するには

main.sql
DESC テーブル名;

とすることでテーブルの構造が確認することができます

main.sql
SHOW TABLES;

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

しかしテーブルを一度作った状態でもう一度作ろうとするとエラーになり動きませんなので
コードを実行するたびにテーブルを削除していくようにします

main.js
DROP TABLE IF EXISTS tweets;

DROP TABLE テーブル名で削除できるのですがテーブルがないとエラーになるのでif文でテーブルがあったら消すようにしています

レコードの挿入

次にレコードの挿入をしていきます
レコードを挿入するには

main.sql
INSERT INTO テーブル名 (カラム名) VALUES
    (挿入したいレコード);

でレコードを挿入することができます
ではtweetsとlikesにレコードを挿入していきます

main.sql
INSERT INTO tweets (message, likes) VALUES
    ('Hello!', 5),
    ('Good!', 8);

これでレコードを挿入できました

文字列はシングルクォーテーションかダブルクォーテーションのどちらかで囲む必要があります

挿入したレコードを確認するには

main.sql
SELECT * FROM テーブル名;

とすることで挿入したれーコードを確認できます

データ型

つぎはデータ型を見ていきます
データ型はデータの形式だと思ってください

整数

TINYINT -128 ~ +127
INT -21億 ~ +21億
BIGINT -922京 ~ +922京

マイナスを使わない場合はUNSIGNEDキーワードを使ってマイナスを使わないようにしてあげることで扱える数が増えます

実数

DECIMAL 固定小数点
FLOAT 浮動小数点
DOUBLE 浮動小数点(高精度)
「浮動小数点とはなんぞや」となるとデータサイエンスの基礎から話すことになるのでここでは触れません

文字列

CHAR 0 ~ 255文字
VARCHAR 0 ~ 65535文字
TEXT それ以上

ENUM 特定の文字列から一つ
SET 特定の文字列から複数

真偽値

BOOL TRUE/FALSE

真偽値はTRUEかFALSEの値しか持たず内部的には1か0でTRUEかFALSEかを判断しているのでTINYINT一桁と同じ型だったりします

日付

DATE 日付
TIME 時間
DATETIME 日付と時間

まだまだ扱えるデータ型はありますがとりあえずこれだけで十分でしょう

さいごに

バックエンドの技術の一つであるDB
しっかりコツコツと基礎から勉強していきましょう!!
Twitterしています→AtieのTwitter
ではまた次回の記事で!