データベースの基本的な操作

アプリ開発

はじめに

ここでは、XAMPPを使ってMySQL(MariaDB)のデータベースの基本操作について書いていきます。

XAMPPを立ち上げて、Shellを起動しておきます。

データベースへの接続

データベースへの接続は、次のコマンドで実行されます。

mysql –u [ユーザ名] –p

オプションの「-p」はユーザーパスワード設定がある場合に付けます。

最初に登録されているユーザーは、「root」なので、rootで接続します。

実行すると、「Enter password:」でパスワードを求めてくるので、初期パスワードは登録されていないので、エンターキーを押します。

パスワードは、ログイン後、次のコマンドで変更できます。

set password = password(‘[新パスワード]’);

ログイン後、コンソールに「MariaDB[(none)]>」と出れば接続完了です。

切断する場合は、「exit;」と入力してエンターキーを押すと切断されて元に戻ります。

データベースの作成と削除

ログイン後は、コンソールに「MariaDB[(none)]>」と表示されています。この状態では、アクセスしているデータベースは、「none」となっていて、何もない状態です。

まずは、データベースを作成してみます。

作成するには、次のコマンドを実行します。

create database [データベース名] character set [文字コード名] collate [照合順位] ;

上の例では、「test」という名前のデータベースで、文字コード「utf8」を作成しています。文字コードと照合順位の設定の詳細は、こちらのページに説明されいています。

MySQL :: MySQL 8.0 リファレンスマニュアル :: 10.10.1 Unicode 文字セット

データベースを削除するには、「drop」コマンドを使います。

drop database [データベース名];

これで、指定したデータベースを削除します。

実際に、データベースが作成、削除されたかを確認する場合は、「show」コマンドを使います。

show databases;

これで、作成されているデータベースの一覧が表示されます。

「test」データベースが作成され、「drop」コマンド実行後に削除されていることが確認できます。

データベースの使用とテーブル表示

作成したデータベースを使用してみます。

use [データベース名];

「use」コマンドで、指定したデータベースを使用することができます。

「test」データベースを作成した状態で実行してみると、コンソールが「MariaDB[(none)]>」から「MariaDB[(test)]>」に変わったかと思います。

これで「test」データベースを使える状態になりました。

データベースの中に入っているテーブルを表示するには、「show」コマンドを使って

show tables;

のように記述します。このコマンドを実行すると作成されているテーブルが一覧として表示されます。この時点では、「test」データベースには、テーブルが無いのでEmptyとなります。

テーブルの作成と削除

テーブルは、次のように記述して作成します。

create table [テーブル名] (

         [カラム名] [データ型] , [カラム名] [データ型] , … ,

         [プライマリキー]

      );

カラム名は、テーブルを構成する要素の名称です。

カラム名は、64バイト以内のすべての文字が使用可能な文字となります。

ちなみに、データベース名は、「/」「¥」「.」を除くディレクトリ名に使用可能な64バイト以内の文字、テーブル名は、「/」「.」を除くファイル名に使用可能な64バイト以内の文字が使用可能です。

プライマリキーには、ユニークな値が記述されるカラムを指定します。

データ型は、整数、文字列を表す型になります。

整数型には次の表のようなものがあります。

型名サイズ[バイト]扱える範囲
TINYINT1-128 – 127
SMALLINT2-32768 – 32767
MEDIUMINT3-8388608 – 8388607
INT4-2147483648 – 2147483647
BIGINT8-9223372036854775808 – 9223372036854775807
TINYINT UNSIGNED10 – 255
SMALLINT UNSIGNED20 – 65535
MEDIUMINT UNSIGNED30 – 16777215
INT UNSIGNED40 – 4294967295
BIGINT UNSIGNED80 – 18446744073709551615

文字列型は、次の二種類があります。

型名サイズ[バイト]扱える範囲
CHAR(*)*最大で*で指定した文字数 最大数まで半角スペースで埋める
VARCHAR(*)*最大で*で指定した文字数 半角スペースで埋めず、登録数の領域を確保する

型には、その他に日付型があります。詳しくは、こちらに記載されています。

MySQL :: MySQL 8.0 リファレンスマニュアル :: 11 データ型

実際に「tb_test」という名前のテーブルを作成してみます。

テーブルの要素として、「id」と「user」「recorddate」を作成します。

プライマリキーは、「id」としています。

「show tables;」で「test」データベースに登録されているテーブルを表示すると「tb_test」が作成されているのがわかります。

テーブルの要素を表示するには、次のコマンドを使用します。

show fields from [テーブル名];

実行すると、指定テーブルのテーブル構造が表示されます。

テーブルを削除するは、次のコマンドを実行します。

drop table [テーブル名];

これで、作成したテーブルが削除されます。

ファイルからのテーブル作成

あらかじめテーブル要素を記述したファイルを用意しておいて、そのファイルからテーブルを作成する方が楽な場合が多いかと思います。

ファイルからデータベース操作する場合は、次のコマンドを実行します。

¥. [パス]/[sqlファイル名].sql

実行ファイルは、拡張子「.sql」で作成します。ファイル実行時のパスは、「/xampp」以降を記述します。このコマンドでは、文の最後に付ける「;」は不要です。

「create table」で「hwt」というテーブルを作成する「hwttbl.sql」ファイルを「¥.」コマンドで実行して、「hwtdb」というデータベースに「hwt」テーブルを作成している例になります。

このように、ファイルにデータベースを操作する命令を記述しておいて、それを実行するということができます。

まとめ

ここまで、MySQL(MariaDB)の基本的な操作方法についてみてきました。

XAMPPのAdminからもデータベースの操作、確認ができます。

データを操作するSQLやLaravelからのデータベース操作についても、今後、まとめていきたいと思います。

コメント

タイトルとURLをコピーしました