あいさつ
初めての人は初めまして!知っている人はこんにちは!
中学生バックエンドPGのAtieです!
今回は「MariaDB入門」ということでMariaDBの入門の記事を書いていきます
MariaDB入門は3回に分けて記事を投稿していきます
では!
データベースとは?
皆さんは「データベース」という言葉を聞いたことがあるでしょうか?
聞いたことのない人が大半だと思いますが聞いたことのある人でも「詳しく説明してよ!」といわれると
「うっ」と言葉を詰まらせてしまうのではないでしょうか
そんなデータベースの超基礎からしていきます
データベースとは「データをためておくことができる場所」と考えてください
例えばTwitterでツイートしたときのデータをためておく必要があります
その時に登場するのがデータベース(以下DB)です
DBを使うことでツイートの内容の管理だけではなくいいね数やリプの数なども保存することができます
そしてためたデータを使いたいときに使いたい形で取り出すことができます
DBではExcelなどの表形式でデータを保存しています
これがDBなのです
DBの用語
ではさっそく勉強!
の前に理解しておく用語があるので先にそちらを抑えてから学習に入ります
「なんで?」と思った方DBには専門用語があり前提知識なしだと学習が難しいですし用語が出てきたところでいちいち解説するのもめんどくさいのでスムーズに理解しながら学習を進めるために今ここでDBの用語を学んでいきます
テーブル
DBでは一つ一つの表のことをテーブルと呼びます
レコード
テーブルの一つ一つの行をレコードといいますといいます
カラム
テーブルの列のことをカラムといいます
用語といってもこの三つだけを最初は覚えていれば大丈夫だと思います
テーブルの作成
ではテーブルの作成をしていきます
デーブルを作成するには
CREATE TABLE テーブル名 (カラム名 型);
このようにして作ります
テーブルを作成するときは同時にカラムとカラムの型を指定する必要があります
カラムが複数ある場合は,で区切っていきます
では実際に作っていきます
今回はTwitterのようにツイートの内容といいね数を保存したいのでテーブル名はtweetsにします
テーブルはデータを複数保存するのでよく複数形で作成されます
CREATE TABLE tweets (tweet VARCHAR(140),likes INT);
これでテーブルの作成ができました
VARCHARの(140)というのは140文字までという意味です
sqlでは改行やインデントもできます
CREATE TABLE tweets (
tweet VARCHAR(140),
likes INT
);
のように書くこともできます
今回はカラムが複数あるので,で区切ってテーブルを作成しました
テーブルの構造を確認するには
DESC テーブル名;
とすることでテーブルの構造が確認することができます
SHOW TABLES;
とすることでテーブル一覧を見ることができます
しかしテーブルを一度作った状態でもう一度作ろうとするとエラーになり動きませんなので
コードを実行するたびにテーブルを削除していくようにします
DROP TABLE IF EXISTS tweets;
DROP TABLE テーブル名で削除できるのですがテーブルがないとエラーになるのでif文でテーブルがあったら消すようにしています
レコードの挿入
次にレコードの挿入をしていきます
レコードを挿入するには
INSERT INTO テーブル名 (カラム名) VALUES
(挿入したいレコード);
でレコードを挿入することができます
ではtweetsとlikesにレコードを挿入していきます
INSERT INTO tweets (message, likes) VALUES
('Hello!', 5),
('Good!', 8);
これでレコードを挿入できました
文字列はシングルクォーテーションかダブルクォーテーションのどちらかで囲む必要があります
挿入したレコードを確認するには
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
ではまた次回の記事で!