MariaDB

>

MariaDB インストールと設定

環境
CentOS Stream release 9
Apache/2.4.57 (CentOS Stream)
Xserver VPS

MariaDB インストール

dnf -y install mariadb-server

MariaDB スタート

systemctl start mariadb

MariaDB 自動起動設定

systemctl enable mariadb

MariaDB ログイン、root パスワードを設定

ログイン

mysql -u root

root のパスワードを設定

alter user 'root'@'localhost' identified by '********';

一旦ログアウト

quit;

再度ログイン

mysql -uroot -p

パスワードの入力を求められ設定したパスワードでログイン出来れば成功

ログアウト

quit;

MariaDB の設定

vi /etc/my.cnf.d/mariadb-server.cnf
[mysqld]
character-set-server=utf8mb4
max_connections=150
thread_cache_size=50
max_allowed_packet=128M

MariaDB リスタート

systemctl restart mariadb

データベース操作方法

ログイン

mysql -uroot -p

データベース一覧

show databases;

データベース選択

use mydb;

テーブル一覧

show tables;

table1 テーブルの総レコード数を取得

select count(*) from table1;

max 関数でも取得できる(id = プライマリーキーが前提)

select max(id) from table1;

プライマリーキーが設定されているカラムがあればわざわざ総レコード数を取得する機会は少ない

テーブルに含まれるカラム情報を取得

show columns from table1;

最初から5つのデータを取得

select * from table1 limit 5\G

; を \G に変えることでカラム名と値が向き合う形、即ち見やすく表示される

5番目から3つのデータを取得

select * from table1 limit 3 offset 4\G

最終(最新)レコードを取得(id = プライマリーキーが前提)

select * from table1 order by id desc limit 1\G

プライマリーキー設定されたカラムは自動的にインデックスが作成される。即ち連番となり desc で降順にすることで最終(最新)レコードが抽出される。

table1 テーブルの col1 カラムの値が apple のデータを取得

select * from table1 where col1='apple';

table1 テーブルの col2 カラムの値が 100 以上のデータを削除

delete from table1 where col2 >= 100;

table1 テーブルに含まれるすべてのデータを削除

delete from table1;

table1 テーブルを削除

drop table table1;

mydb データベース削除

drop database mydb;

ログアウト

quit;