MariaDB関係のコマンド

MariaDBを使う際に、自分が良く使うコマンドのメモ書き。

以降のコマンドは、以下の環境をもとに記載している。

Ubuntu 22.04
MariaDB 10.6


MariaDBへのログイン

# OS上のrootユーザーでログイン
sudo mariadb

# MariaDB内のユーザーでログイン(パスワード認証)
mariadb -u test_user -p

MariaDBからログアウト

exit
または
quit

システム変数

# システム変数の確認
show variables;

# 文字コード関係の設定確認
show variables like "chara%";

# データベースごとの文字コードを確認
select SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME,DEFAULT_COLLATION_NAME from INFORMATION_SCHEMA.SCHEMATA;

データベース操作

# データベース一覧表示
show databases;

# データベースを作成
create database test_database;

# データベースを削除
drop database test_database;

# 使用するデータベースを選択
use test_database;

ユーザー操作

# ユーザー情報一覧表示
select user,host from mysql.user;

# ユーザーを作成
create user 'test_user'@'localhost' identified by 'test_password';

# ユーザーを削除
drop user 'test_user'@'localhost';

# ユーザーの権限を設定
# 指定したデータベースの全テーブルに対してフルコントロール権限
grant all privileges on test_database.* to 'test_user'@'localhost';
flush privileges;

# ユーザーの権限を削除
# 指定したデータベースの全テーブルに設定していたSELECT権限を削除
revoke select on test_database.* from 'test_user'@'localhost';

# ユーザー権限の確認
show grants for 'test_user'@'localhost';

# ユーザーのパスワードを変更
set password for 'test_user'@'localhost' = password('test_password');

テーブル操作

データベースを選択している状態なら、テーブル名の前にあるデータベース名は指定不要。

# テーブル作成
create table test_database.test_table
(
id int, 
name varchar(50), 
address varchar(50), 
primary key (id)
);

# テーブル名を変更
alter table test_database.test_table rename test_database.new_test_table;

# テーブルにカラム追加
# 末尾に「age」カラムを追加
alter table test_database.test_table add age int;

# テーブルの特定カラムの後ろにカラム追加
# 「name」カラムの後ろに「age」カラムを追加
alter table test_database.test_table add age int after name;

# テーブルのカラムを削除
# 「age」カラムを削除
alter table test_database.test_table drop column age;

# テーブルを削除
drop table test_database.test_table;

# テーブル内のレコードを切り捨てる
truncate test_database.test_table;

# テーブル一覧表示
# データベースを選択している状態なら、from以降の指定は不要
show tables;
show tables from test_database;

# テーブル情報表示
# 末尾に\Gをつけると縦表示(他のコマンドでも使用できる)
show table status from test_database;
show table status from test_database\G;

# テーブルのカラム情報表示
# 以下のコマンドは同じ結果になる
show columns from test_database.test_table;
show fields  from test_database.test_table;
describe test_database.test_table;
explain  test_database.test_table;
タイトルとURLをコピーしました