DB

再帰クエリ上限

DB

MySQL (8.4.0) cte_max_recursion_depthデフォルト1000 with recursive t1(col1) as(select 1union allselect col1+1from t1where col1+1 <= 10000)select col1 from t1; ERROR 3636 (HY000): Recursive query aborted after 1001 iterations. Try increasin…

グループ内の結果セットを単一列に連結する

DB

MySQL (8.4.0) drop table tab1;create table tab1( col1 int, col2 int, col3 varchar(10)); insert into tab1 values (1, 10, 'A');insert into tab1 values (1, 20, 'B');insert into tab1 values (2, 10, 'C');insert into tab1 values (2, 20, 'D');ins…

スプールで日付ファイル名

DB

MySQL (8.4.0)https://xyk.hatenadiary.org/entry/20110207/1297045517 pager cat >> LOG_$(date "+%Y%m%d").log select now(); nopager Oracle (23c)https://www.shift-the-oracle.com/sqlplus/command/spool.html column d new_value d2 noprintselect to_…

DB設定取得SQL

DB

MySQL (8.4.0) status; select * from information_schema.schemata; select * from information_schema.innodb_tablespaces; ls -l /var/lib/mysql select * from performance_schema.global_variables;select * from performance_schema.session_variables…

ベクトル検索

DB

MySQL (8.4.0)https://techfeed.io/entries/6685c497fc9a9f708a14791f 未対応の模様9.0でVECTOR型は使用可能 CREATE TABLE tab1 (col1 VECTOR(5000)); Oracle (23ai)https://qiita.com/ryotayamanaka/items/156932a48e65d3ddc5ac drop table tab1 purge;CREA…

DB削除

DB

MySQL (8.4.0) show databases; drop database test; Oracle (23c) -- 1. SQLによる方法 shutdownstartup force restrict mountdrop database; -- 2. dbcaによる方法 dbca -versiondbca -help dbca \-silent \-deleteDatabase \-sourceDB FREE \-sysDBAUserN…

checksum table

DB

MySQL (8.4.0) drop table tab1;create table tab1(col1 numeric(10,2), col2 varchar(1), col3 varchar(10), col4 datetime(3) ); insert into tab1 values(1.01, 'あ', '1234567890', now(3) );insert into tab1 values(1.02, ',', '', now(3) );insert in…

アーカイブログのローテート

DB

MySQL (8.4.0) https://dev.mysql.com/doc/refman/8.4/en/flush.html show binary logs; flush logs; ※flush logs は下記と同様FLUSH BINARY LOGSFLUSH ENGINE LOGSFLUSH ERROR LOGSFLUSH GENERAL LOGSFLUSH RELAY LOGSFLUSH SLOW LOGS Oracle (23c) archive…

エラーコード調査コマンド

DB

MySQL (8.4.0) https://shibainu55.hatenadiary.org/entry/20081108/1231390272 perror 1213 Oracle (23c) https://shibainu55.hatenadiary.org/entry/20081227/1231386680 oerr ORA 0001 PostgreSQL (16) 調べた限りなし SQL Server (2022)調べた限りなし

デュアルパスワード

DB

MySQL (8.4.0) https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0090 8.0.14以降で使用可能 select user, authentication_string, user_attributesfrom mysql.userwhere user = 'user01'\G create user user01@'%' identified with mysql_nati…

ログイン中ユーザの削除

DB

MySQL (8.4.0) create user 'user60'@'%' identified by 'user60';grant all on *.* to 'user60'@'%'; status; drop user 'user60'@'%'; ログイン中のユーザを削除可能削除したログイン中ユーザはexitするまでは、SQL発行も可能★ Oracle (23c) create user u…

テーブル使用状況確認

DB

MySQL (8.4.0)https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0091 -- テストテーブル作成drop table tab1;create table tab1(col1 int);insert into tab1 values(1);select * from tab1;update tab1 set col1 = 2 where col1 = 1;delete fro…

プランナ統計情報リストア

DB

MySQL (8.0.34) 調べた限りなし Oracle (23c)https://docs.oracle.com/cd/F19136_01/tgsql/managing-historical-optimizer-statistics.html#GUID-F1399D77-7E2E-434F-A67C-6ADB4C648D95 https://blog.usize-tech.com/oracledb_stats_restore/ RESTORE_TABLE_…

insert/update/delete returning

DB

MySQL (8.0.34) 調べた限りない模様 Oracle (23c)https://tech.excite.co.jp/entry/2023/10/27/100350https://docs.oracle.com/cd/F82042_01/lnpls/RETURNING-INTO-clause.html#GUID-38F735B9-1100-45AF-AE71-18FB74A899BEhttp://www.mitene.or.jp/~rnk/TIPS…

numeric→integerキャスト時端数扱い

DB

SQL Serverのみ切り捨て MySQL (8.0.34) select cast(1.4 as UNSIGNED );select convert(1.4 , UNSIGNED ); select cast(1.5 as UNSIGNED );select convert(1.5 , UNSIGNED ); select cast(2.4 as UNSIGNED );select convert(2.4 , UNSIGNED ); select cast(…

DB初期設定 

DB

MySQL (8.0.35) OS: Rocky Linux 8.9CPU : 2メモリ : 4GB -- 1. ラージページ設定 https://support.oracle.com/knowledge/Oracle%20Database%20Products/2118592_1.html https://dev.mysql.com/doc/refman/8.0/en/large-page-support.html -- 1.1 /proc/sys/…

DBパラメータ設定

DB

MySQL (8.0.35) OS: Rocky Linux 8.9CPU : 2メモリ : 4GB ※サーバーを初期化する前に設定必要(初期化はサーバーのデータディレクトリが空の場合に実施される)lower_case_table_names = 1 cp /etc/my.cnf /etc/my.cnf.bk$(date "+%Y%m%d") vim /etc/my.cnf [m…

CREATE OR REPLACE TABLE

DB

MySQL(8.0.34)サポートしていない Oracle(23c)サポートしていない PostgreSQL(15)サポートしていない SQL Server(2022)サポートしていない AWS Redshiftサポートしていない Azure Synapse Analyticsサポートしていない GCP BigQuery -- 1. 前作業 gcloud ini…

LATERAL

DB

MySQL (8.0.34)https://mita2db.hateblo.jp/entry/MySQL_8%E3%81%AE%E6%96%B0%E6%A9%9F%E8%83%BD_LATERAL%E5%8F%A5%E3%81%AB%E3%82%88%E3%82%8BSQL%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0 -- 1. テストデータ作成 drop table tab2 ;drop ta…

CLONE

DB

MySQL (8.0.34)https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0127https://dev.mysql.com/doc/refman/8.0/ja/clone-plugin-installation.html -- 1. CLONE plugin をインストール show plugins;INSTALL PLUGIN clone SONAME 'mysql_clone.so…

システム変数永続化

DB

MySQL (8.0.33)https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0094https://dev.mysql.com/doc/refman/8.0/ja/option-files.html 「mysqld-auto.cnf」が「my.cnf」よりも優先 (1) my.cnf Default options are read from the following files …

メモリ状況確認

DB

MySQL (8.0.33) https://gihyo.jp/article/2022/10/mysql-rcn0183https://dev.mysql.com/doc/refman/8.0/ja/performance-schema-statement-tables.html SELECT *FROM performance_schema.setup_consumersWHERE NAME LIKE '%statements%'; UPDATE performance…

索引圧縮

DB

MySQL (8.0.33) https://dev.mysql.com/doc/refman/8.0/ja/innodb-compression.html テーブル圧縮やページ圧縮(transparent page compression)によりインデックスデータも圧縮されるため、セカンダリインデックスを含むテーブルでは利点も増幅されます。 Ora…

予約語

DB

MySQL (8.0.33)https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-in-current-series ACCESSIBLEACCOUNTACTIONACTIVEADDADMINAFTERAGAINSTAGGREGATEALGORITHMALLALTERALWAYSANALYSEANALYZEANDANYARRAYASASCASCIIASENSITIVEATATTRIBUTEAUTHENT…

パスワード使用可能文字

DB

Oracle -> ダブルクォート不可MySQL,PostgreSQL,SQL Server -> シングルクォート不可 MySQL (8.0.33)https://dev.mysql.com/doc/refman/8.0/ja/create-user.html パスワードをシングルクォートで囲むため、シングルクォートは使用不可 その他、\ も使用不可★…

パスワード有効期限

DB

MySQL (8.0.33)https://dev.mysql.com/doc/refman/8.0/ja/alter-user.html drop user if exists user2; create user user2@'%' identified by 'user2';grant process on *.* to 'user2'@'%'; select Host, User, password_expired, password_last_changed, p…

DBアカウントロック

DB

MySQL (8.0.33)https://dev.mysql.com/doc/refman/8.0/ja/account-locking.htmlhttps://dev.mysql.com/doc/refman/8.0/ja/alter-user.html drop user if exists user1; create user user1@'%' identified by 'user1';grant process on *.* to 'user1'@'%'; s…

プロシージャ引数の名前表記法

DB

MySQL (8.0.33)https://dev.mysql.com/doc/refman/8.0/en/call.htmlhttps://stackoverflow.com/questions/4245530/named-parameters-for-stored-procedures-in-mysql 名前表記法はできない模様 念のため使用できないことを確認 drop procedure proc1; delimi…

ビュー定義

DB

ビューのアスタは展開されて保存される MySQL (8.0.32) drop table if exists tab17 ;drop view if exists view17;drop view if exists view18; create table tab17(col1 int, col2 varchar(100), col3 datetime);create view view17 as select * from tab17…

最大インデックス数

DB

MySQL 64Oracle 無制限PostgreSQL 無制限SQL Server 999 MySQL (8.0.32)https://dev.mysql.com/doc/refman/8.0/en/innodb-limits.html 64 secondary indexes 1017カラムのテーブルを作成 : > a.sql for i in $(seq 1 65); do echo "create index ind1_${i} o…