MySQL
設定 MariaDB 10.5 ではこんな感じだった。 変数名 デフォルト値 備考 character_set_client utf8 ★1クライアントの文字コード character_set_connection utf8 ★1 character_set_database latin1 ☆A DBの文字コード設定ファイルの対象ではない character_set…
今、どんなクエリが動いているかは次のコマンドで確認できる mysql -u abcuser -pPASS abcdb -e "show processlist;" +----+---------+-----------+-------+---------+------+----------------+--------------------------------------------------------+ |…
MySQL でテーブルを見るのと構文は一緒 -- テーブルの定義を見る show create table T_WEBUSERINF \G -- ビューの定義を見る show create view VIEW_HOGEINF \G コマンドラインからファイルに落とすときもだいたい一緒 # テーブルの定義を見る mysqldump -d …
alter table HOGE modify FOO int not null primary key auto_increment; int と not null と primary key と auto_increment を全部いっぺんに付けるのがコツ 数値はなんか勝手に付く
Server version: 5.1.73 Source distribution mysql> select TO_BASE64("hello"); ERROR 1305 (42000): FUNCTION hogedb.TO_BASE64 does not exist TO_BASE64(str) この関数は、MySQL 5.6.1 で追加されました。 https://dev.mysql.com/doc/refman/5.6/ja/str…
そのディレクトリにあるSQLを全部読む @echo off for %%A in (*.sql) do ( echo %%A c:\xampp\mysql\bin\mysql -uUSER -pPASS DBNAME < %%A )
スロークエリとかエラーのログをローテートする mysql_slow_20180802.log みたいにリネームする set NOWDATE=%DATE:/=% rename mysql_error.log mysql_error_%NOWDATE%.log rename mysql_slow.log mysql_slow_%NOWDATE%.log mysqladmin.exe -uroot flush-log…
xargsで個別のファイルにリダイレクトしたい - 揮発性のメモ テーブル一覧でぐるぐる回って、10個くらい並列処理しながらダンプして圧縮する time mysql -u$USER -p$PASS $DBNAME -Nse "show tables" | xargs -P10 -iXXX sh -c "echo XXX; mysqldump -u$USER…
set names utf8; とか打つ必要がそもそもなくて、それよりも 環境変数LANGがen_US.UTF8だったりすることがあるので ちゃんとja_JP.UTF8を設定する
MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数 SELECT DATE_SUB(NOW(), INTERVAL 7 DAY); -- 2016-05-17 21:11:47 SELECT SUBDATE(NOW(), 7); -- 2016-05-17 21:11:47 SELECT DATE_FORMAT(SUBDATE(NOW(), 7), "%Y%m%d%H%i%s"); -- …
トリガー名、イベント、対象テーブル の一覧を表示する mysql -uUSERID -pPASSWD DBNAME -e "SHOW TRIGGERS;" -N | cut -f1,2,3 全てのトリガーを一括で保存する mysqldump -ntd -uUSERID -pPASSWD DBNAME --tab=/tmp/triggers find /tmp/triggers -size 0 -…
mysqlimportコマンドでインポートする MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.5.5 mysqlimport — データインポートプログラム $ mysqlimport -uhogehoge -pPASSWORD hogeDB --delete --fields-terminated-by=',' --fields-optionally-enclosed-by=…
DROP TRIGGER IF EXISTS triger_hoge01; delimiter $$ CREATE TRIGGER triger_hoge01 AFTER UPDATE ON t_hoge FOR EACH ROW BEGIN /* 更新されたらログに追加する */ INSERT t_hogelog set data=NEW.data; END $$ delimiter ; $ mysql PiyoPiyo < trigger.sq…
[mysqld_safe] log-error=/var/log/mysqld.log これをローテートさせるには /etc/logrotate.d/mysqld を編集する サンプルがコメントアウトされているので、有効化する /var/log/mysqld.log { create 640 mysql mysql notifempty daily rotate 3 missingok c…
select * from T_HOGE where CARDID = (select CARDID from T_FUGA where FLG<>"0") [21000][1242] Subquery returns more than 1 row副問い合わせでよくあるエラー https://dev.mysql.com/doc/refman/5.0/en/subquery-errors.html select * from T_HOGE whe…
prepare($sql); for($i=0;count($list);$i++) $sth->bindValue($i+1, $list[$i]; 普通に書くとだいたいこう。 だけど、クエリーは動的に作りたくない。
トリガに関する情報の取得(SHOW TRIGGERS文) - トリガの作成 - MySQLの使い方 SHOW TRIGGERS; トリガの中身が大きいと めちゃくちゃ読みにくい出力になるので、 \G にして縦表示した方が良い。
MySQL上のDBのスキーマをEclipseから見る JDBCのインストール MySQL :: MySQL Community Downloads http://dev.mysql.com/downloads/connector/j/ ここから、JDBCのインストーラ(.msi)をダウンロードし、インストール実施 次のフォルダに mysql-connector-ja…
照合順序が違うものどうしをjoinすると、インデックスとか全く効かなくなる ことがある。 utf8_bin と ujis_bin だと中身が英数字のみであってもアウト。 最低限、joinするカラム同士の照合順序は合わせておくのが肝要。 MariaDB [tanuki]> explain select c…
Array ( [0] => HY000 [1] => 1449 [2] => The user specified as a definer ('hoge'@'localhost') does not exist )insert時にトリガー動かすようになってた。 そのトリガーの実行権限が、ログインユーザと食い違ってるとこのエラーが出て動かない。 トリガ…
テーブルの一覧を出すコマンドは show table status mysql -uhoge -phoge tastdb -e "show table status" 1列目がテーブル名、5列目が行数なので、カットしてソートすればOK mysql -uhoge -phoge tastdb -Ns -e "show table status" |cut -f 1,5 |sort -n -k…
適当にひとつ表示 SELECT * FROM testtable ORDER BY RAND() LIMIT 1; ORDER BY RAND() でランダムにソートできる グループごとに適当にひとつずつ表示 SELECT * FROM testtable GROUP BY a ORDER BY RAND(); これだと、aの中でひとつ選択してからランダムに…
MySQL :: MySQL 5.6 リファレンスマニュアル :: 4.5.4 mysqldump — データベースバックアッププログラム データとスキーマと一緒に関数とプロシージャも出力したいときは -R を使う mysqldump -R -uuser -ppass dbname > /tmp/hoge.sql http://ne.tc/2007/11…
ロックしてインクリメントして値取得してアンロック、とかやらなくてもいい方法 mysql> select * from TEST_SEQ; +-----+-----+ | IND | VAL | +-----+-----+ | A | 3 | | B | 99 | | C | 4 | +-----+-----+ たとえば、Bという変数をインクリメントしてから…
mysqli 拡張がありません。php-mysqlをインストールしてapacheとmysql再起動
PHP Fatal error: Call to undefined function mb_detect_encoding()php-mbstringをインストールしてapache再起動
http://dev.mysql.com/doc/refman/5.1/ja/table-info.html $ myisamchk -d HOGE.MYI MyISAM file: HOGE.MYI Record format: Compressed Character set: latin1_swedish_ci (8) Data records: 55571 Deleted blocks: 0 Recordlength: 455 という形式で出力さ…
データベース作成 CREATE DATABASE test; GRANT ALL PRIVILEGES ON test.* TO user IDENTIFIED BY 'pass'; GRANT ALL PRIVILEGES ON test.* TO user@localhost IDENTIFIED BY 'pass'; FLUSH PRIVILEGES; データベース削除 DROP DATABASE test; REVOKE ALL PR…
2012-10-03 16:33:58 みたいに出力する perl my ($S,$M,$H,$d,$m,$Y,$x) = localtime(); my $date = sprintf( "%04d-%02d-%02d %02d:%02d:%02d", $Y+1900,$m+1,$d,$H,$M,$S ); print "$date\n"; use POSIX qw(strftime); $date = strftime( "%Y-%m-%d %H:%M:…
ブラウザを起動するたびに、ではなく、なにか操作をするたびにパスワードの入力を求められる。