MySQL

MySQL(MariaDB)の排他制御の方法

  • 2020.04.04

ここではMySQL(MariaDB)の排他制御の方法を紹介します。 排他制御は、データの登録・更新中に、そのデータを他の人に書き換えられないようにする仕組みです。よくダブルブッキングされないようにするために使ったりします。 排他制御の方法 (1)テーブルにロックかかけます。   SELECTクエリの最後尾にFOR UPDATEを付けて実行します。 (2)トランザクションの開始   BEGIN (3 […]

MySQL(MariaDB)のトランザクション処理方法

  • 2020.03.28

ここでは、MySQL(MariaDB)のトランザクション処理方法を紹介します。 MySQL(MariaDB)は、通常時は、オートコミットになってます。つまり、INSERT文を流した時点ですぐにコミットされてしまいます。 トランザクション処理が行えるテーブルの確認 トランザクション処理を行うためには、テーブルが、「InnoDB」になっている必要があります。「MyIsam」だとトランザクション処理が行 […]

INSERT直後のAUTO_INCREMENT値を取得する方法【MySQL(MariaDB)】

  • 2020.03.27

INSERT直後にそのレコードのAUTO_INCREMENT値を取得し、そのキーを使ってサブテーブルのレコードを追加したいことってありますよ。 MySQL(MariaDB)で、そのキーを取得する方法を紹介します。 取得する方法 INSERT直後に下記のSQL文を流すだけです。とても簡単です。 SELECT last_insert_id(); サンプル文 1つのINSERTクエリで複数の値を入れた場 […]

MySQL(MariaDB)でサブクエリを使う方法

  • 2020.03.27

このページでは、MySQL(MariaDB)でサブクエリを使う方法を紹介します。 私は、GROUP BYをしたSELECTのCOUNTを抽出したいときにサブクエリを使ったりします。 サブクエリとは何? そのまま訳すと、1つのクエリの中に複数のSELECT文があるクエリです。 SELECT句やFROM句、WHERE句で使うことができます。 SELECT句の使い方 SELECT (SELECT COU […]

MySQL(MariaDB)で条件分岐を使う方法(CASE)

  • 2020.03.25

MySQL(MariaDB)で条件分岐を行いたい場合は、「CASE」を使用します。 書き方を覚えれば、いろんなことに利用できます。 基本的なCASEの使い方 CASE WHEN 条件1 THEN 表示1 WHEN 条件2 THEN 表示2 ELSE 表示その他 END サンプル文 複数のCASEの使い方 CASE結果の部分にCASEを使うことでできます。 CASE WHEN 条件1 THEN CA […]

ALTER TABLE【MySQL(MariaDB)】

  • 2020.03.21

ALTER TABLEの使い方をすぐに忘れてしまうので、メモとして残しておきます。 参考にしてください。 テーブル名を変更 ALTER TABLE テーブル名 RENAME 新テーブル名; カラム名を変更 ALTER TABLE テーブル名 CHANGE 旧カラム名 新カラム名 新カラム定義; カラムを追加 ALTER TABLE テーブル名 ADD 追加カラム名 追加カラム定義; ALTER T […]

MySQL(MariaDB)の日付関数

  • 2020.03.19

MySQL(MariaDB)でよく使う日付関数を紹介します。通常はこれだけ覚えておけば大丈夫だと思います。 現在の日付と時間を取得する CURRENT_DATE → 現在の日付 CURRENT_TIME → 現在の時間 CURRENT_TIMESTAMP → 現在の日時 日付の加減算 INTERVALを使用すると簡単に計算ができます。 加算: 日付 – INTERVAL 1 YEAR […]

MySQL(MariaDB)でよく使う文字列関数

  • 2020.03.18

MySQL(MariaDB)でよく使う文字列関数を3つ紹介します。通常はこれだけ覚えておけば大丈夫だと思います。 文字列の結合 CONCAT関数を使用します。 CONCAT(文字列, 文字列,…) NULLが含まれている場合は、NULLを返します。 文字列の置換 REPLACE関数を使います。 REPLACE(文字列, 置き換えたい文字列, 置き換え後の文字列) 文字列の切り取り SU […]

MySQL(MariaDB)のバックアップとリストアの方法

  • 2020.03.17

MySQL(MariaDB)をバックアップする方法とリストアする方法を紹介します。 バックアップ <データベースを指定したダンプ> mysqldump -u user -p db_name > db_name.dump *全データベースをまとめてダンプしたい場合は、データベース名を指定しなければ取れます。 <圧縮してダンプする方法> mysqldump -u user -p db_name | g […]

MariaDBをLinux(CentOS7)にインストールする方法

  • 2020.03.16

MariaDB(マリアディービー)とは、MySQLから派生したリレーショナルデータベースシステムです。操作は、MySQLとほとんど変わりません。 ここでは、MariaDBをLinux(CentOS7)にインストールする方法を紹介します。 yumコマンドを使ってインストールします yum install mariadb-server 「Y/N」の確認が出たらYを入力し、Enterを押して進めます。 […]

MySQL(MariaDB)にUTF-8の4バイト文字を登録する方法

  • 2020.02.20

TwitterなどのSNSで取得したHTML埋め込みコードをMySQL(MariaDB)に保存した時に、中身がはてな(文字化け)で登録されてしまう現象が発生してしまって、調査をしました。 現象 TwitterなどのSNSで取得したHTML埋め込みコードに絵文字が入っているとMySQL(MariaDB)に保存できない。 はてな(文字化け)で登録されてしまう。 原因 MYSQL(MariaDB)のUT […]