MySQL

MySQL

WSL2(Ubuntu22.04)でmysqldumpコマンドを使用してRDS(DB)のDDLをダンプする

WSL2(Ubuntu22.04)でmysqldumpコマンドを使用してRDS(DB)のDDLをダンプする インストール mysql clientをインストールします。 $ sudo apt install mysql-client これで...
MySQL

WSL2(Ubuntu22.04)にMySQLをインストールする

WSL2(Ubuntu22.04)にMySQLをインストールする 前提 項目 内容 OS Ubuntu-22.04 MySQL 8.0.33-0ubuntu0.22.04.1 $ sudo apt update && sudo apt up...
MySQL

クエリキャッシュをクリアする 【MySQL】

クエリキャッシュをクリアする 【MySQL】 バージョン 5.7.12 クエリキャッシュが有効になっているか確認します。 SHOW VARIABLES LIKE 'have_query_cache'; キャッシュクリア クエリキャッシュをク...
MySQL

認証プラグインをmysql_native_passwordにしてユーザ作成する -MySQL8

認証プラグインをmysql_native_passwordにしてユーザ作成する -MySQL MySQL8.0.4以降デフォルトの認証プラグインがcaching_sha2_passwordとなっています。 show variables li...
MySQL

insert文発行する時にDuplicate errorをignoreで無視する – MySQL

insert文発行する時にDuplicate errorをignoreで無視する - MySQL insert into テーブル名 ~~ values ~~ というようにinsert文を書きますが、insert ignore into ~...
MySQL

ファンクション、ストアドプロシージャを調べる方法 MySQL

ファンクション、ストアドプロシージャを調べる方法 MySQL information_schemaに属するROUTINESテーブルでファンクションもしくはストアドプロシージャを確認することができます。 ファンクション SELECT ROUT...
MySQL

MySQLのSQL文中にifを使う

MySQLのSQL文中にifを使う MySQLでSQL文中にcase whenと同様にifが使えます。 if(条件,trueの場合の式,falseの場合の式) Select句で使う例です。 SELECT IF(1>2,2,3); --- 3...
MySQL

集合関数と集約関数の違い SQL

集合関数と集約関数の違い SQL SQLの関数で、AVG,MAX,MINなどの関数は正式には集合関数ではなく集約関数といいます。 集約関数に対し、場合によっては複数行返す関数を集合関数といいます。 各DBの集約関数 PostgeSQL My...
MySQL

MySQLで「SQL Error: 1205, SQLState: 40001」

MySQLで「SQL Error: 1205, SQLState: 40001」 MySQLでトランザクションの途中でSQLを終了させると、そのトランザクションがロックされたままになってしまいます。 再度同じSQLを発行すると「ERROR ...
Aurora

MySQL(Aurora)でauto_inclementを使用しているテーブルのインクリメント値をlast_insert_id()関数で取得する

MySQL(Aurora)でauto_inclementを使用しているテーブルのインクリメント値をlast_insert_id()関数で取得する プライマリキーに対してauto_inclementを設定しているテーブルがあるとします。 この...
Aurora

MySQL(Aurora)でマージ文を発行する方法

MySQL(Aurora)でマージ文を発行する方法 MySQLでマージ文を発行するにはINSERT文にON DUPLICATE KEY UPDATEキーワードを使用してマージ文を実行します。 以下のような従業員テーブルがあるとします。 CR...
MySQL

MySQL(Aurora)でパーティションテーブルを作成する方法

MySQL(Aurora)でパーティションテーブルを作成する方法
MySQL

MySQL(Aurora)でauto_incrementを初期化する方法

MySQL(Aurora)でauto_incrementを初期化する方法 auto_incrementを初期化したい場合は、2通り方法があります。 一つ目の方法はtruncateします。 truncate table テーブル名; これでa...
MySQL

MySQLのCONCAT関数で文字列連結する際にNULLがあれば全部NULLになる

MySQLのCONCAT関数で文字列連結する際にNULLがあれば全部NULLになる MySQLの関数がいまいち変な動きをします。 concatを使って文字列連結する際、以下のような感じで文字列連結します。 select concat(fir...
Aurora

Aurora(MySQL)でテーブルの文字コードを変更確認する方法

Aurora(MySQL)でテーブルの文字コードを変更確認する方法 Aurora(MySQL)で、既存テーブルの文字コードを変更する方法です。 ALTER TABLE テーブル名 CONVERT TO CHARACTER SET utf8;...
MySQL

MySQLでload data local infileで高速にデータをインサートする方法

MySQLでload data local infileで高速にデータをインサートする方法 load data local infile構文を使うとローカルのcsvファイルなどから一気にデータをインポートすることができます。 d:/data...
MySQL

MySQLで正規表現で検索条件を抽出する

MySQLで正規表現で検索条件を抽出する MySQLでWhere句にREGEXPを使用することで正規表現でデータ抽出をすることができます。 WHERE カラム名 REGEXP '正規表現パターン' 従業員テーブル(employee)のfir...
MySQL

MySQLのテーブルに登録日時と更新日時を自動で設定する方法

MySQLのテーブルに登録日時と更新日時を自動で設定する方法
MySQL

MySQLのtinyint(1)にtrueとfalseが入る

MySQLのtinyint(1)にtrueとfalseが入る MySQLでテーブルを作成する際にbooleanと指定するとtinyint(1)になります。 CREATE TABLE IF NOT EXISTS テーブル名 ( カラム名 bo...
MySQL

パフォーマンステストでMySQLでスロークエリを検出する方法

パフォーマンステストでMySQLでスロークエリを検出する方法
MySQL

MySQLのSQLモード確認と変更方法

MySQLのSQLモード確認と変更方法 MySQL5.7.24にSQLモードというモードがあったのでメモです。 mysql> SELECT @@global.sql_mode; +------------------------------...
MySQL

MySQLでストアドプロシージャを作成する方法

MySQLでストアドプロシージャを作成する方法 パフォーマンステストなどで大量のテストデータを作成する場合などにストアドプロシージャでループしてインサート文を発行するストアドプロシージャを作ってみます。 MySQLでのストアドプロシージャ作...
MySQL

MySQLのint,bigint,decimalの範囲と整数型の括弧()

MySQLのint,bigint,decimalの範囲と整数型の括弧
MySQL

MySQLの日付型の変換とかフォーマットとかする方法

MySQLの日付型の変換とかフォーマットとかする方法 どのデータベースも日付型だけは面倒なので、MySQLの日付型の変換方法とかを纏めてみました。 文字列型を日付型にする str_to_dateを使います。 select str_to_da...
MySQL

MySQLにセーフモードでログインする

MySQLにセーフモードでログインする MySQLのmysql.userテーブルを色々いじってたらログインできなくなったのでセーフモードでログインしました。 一旦MySQLサービスを停止します。(Windowsの場合) 管理者モードでコマン...
MySQL

MySQLのdelete文でエイリアスを使うとエラーになる

MySQLのdelete文でエイリアスを使うとエラーになる MySQL5.7.24で何気にdelete文でテーブルにエイリアスを指定するとエラーになりました。 delete from employee_master as aa where ...
MySQL

MySQLでよく使うコマンド一覧

MySQLでよく使うコマンド一覧 MySQLでよく使用するコマンドをまとめました。 DBを作成する create database データベース名; DB一覧 show databases; 現在使用しているDBを表示する select d...
MySQL

Spring Boot + JPAでMySQLに接続する方法

Spring Boot + JPAでMySQLに接続する方法 STSのスタータープロジェクトがかなり進化していたのでおさらいです。 「Spring BootでMySQLに接続する」を参考にします。Spring Bootを起動まではできました...
MySQL

You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specif...
Git Bash

Git Bashでmysqlコマンドを実行できるようにする

Git Bashでmysqlコマンドを実行できるようにする Git Bashでsshとか使えるのでWindowsでAWS使う時にすごく便利です。 ただyumとかsudoとかaptコマンドが使えません。 ということでmysqlコマンドを使える...
MySQL

MySQLでインサート文を発行する

MySQLでインサート文を発行します。 MySQLに接続し、以下のようにインサート文を実行します。 mysql> insert into tbl_customer (firstname,lastname,age)values('yamada...
MySQL

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection;

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; MySQLのサーバが起動していないままSpringでMySQ...
MySQL

MySQLでプライマリキーにauto incrementを追加する

MySQLでプライマリキーにauto incrementを追加する idカラムにauto increment属性を追加するにはalter table文を使用します。 テーブル定義をdescで表示します。 mysql> desc tbl_cu...
MySQL

Spring BootでMySQLのInsert文を実行する

Spring BootでMySQLのInsert文を実行する Spring BootでMySQLのInsert文を実行してみます。 エントリポイントのクラスです。 package com.sql; import org.springfram...
MySQL

Spring BootでMySQLに接続する

Spring BootでMySQLに接続する
MySQL

SpringMVCでMySQLに接続する(Maven)

SpringMVCでMySQLに接続する(Maven) SpringMVCでMySQLに接続するにはspring-jdbcとmysql-connector-javaが必要です。 pom.xml pom.xmlに以下を追加します。 <depe...
MySQL

MySQLのテーブル作成と存在確認

MySQLのテーブル作成と存在確認 MySQLでテーブルを作成します。 create table文で作成します。 mysql> create table tbl_customer( -> id int not null primary ke...
MySQL

MySQLのデータベース作成と存在確認

MySQLのデータベース作成と存在確認
MySQL

MySQLに接続する

MySQLに接続する MySQLをインストールしたらコマンドプロンプトから接続してみます。 サービスが起動していない場合は net start mysql56 でサービスを起動します。(デフォルトサービス名はmysql56) C:\>mys...