IT業界の技術をメモ・情報公開できる
インデックスの表示、追加、削除
//表示 SHOW INDEX FROM テーブル名; //追加 ALTER TABLE テーブル名 ADD INDEX インデックス名(カラム名); //追加(複数) ALTER TABLE テーブル名 ADD INDEX インデックス名( カラム1名, カラム2名, カラム3名 ); //表示 ALTER TABLE テーブル名 DROP INDEX インデックス名;
mysql csvインポート
LOAD DATA INFILE '/path/to/your/example.csv' INTO TABLE users CHARACTER SET utf8mb4 -- 文字コード FIELDS TERMINATED BY ',' -- フィールドの区切り文字 ENCLOSED BY '"' -- フィールドが引用符で囲まれている場合 LINES TERMINATED BY '\n' -- 各行の区切り IGNORE 1 LINES -- ヘッダ行を無視 (id, name, age); -- 列の順番 ※mysq
SQLの数値データ(整数型)
bigint -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 int -2,147,483,648 ~ 2,147,483,647 smallint -32,768 ~ 32,767 tinyint 0 ~ 255
SQL文結合
SQLの結合
mysql CSV出力
・カラム名なし SELECT * FROM my_table INTO OUTFILE '/path/to/your/output.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; のSQLで出力できる・ ・カラム名も出力 # カラム名を取得してCSVに出力 mysql -u username -p -e "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'your_table_n
mysqlユーザ一覧、権限一覧
MySQLでユーザの一覧とその権限を確認するためのSQLクエリには、主に以下の2つがあります。 1. **ユーザ一覧を表示するクエリ:** ```sql SELECT User, Host FROM mysql.user; ``` このクエリは、`mysql.user` テーブルからユーザ名とホスト名を表示します。 2. **ユーザの権限を表示するクエリ:** ```sql SHOW GRANTS FOR 'username'@'host'; ``` ここで `'username'@'host'` は、権限を確認したい
実行時間が長いsqlクエリ削除
select * from information_schema.PROCESSLIST order by TIME desc limit 0,1; kill 44972672;
mysqldump
@2# データベース $ mysqldump -u USER_NAME -p -h HOST_NAME DB_NAME > OUTPUT_FILE_NAME @2# テーブル $ mysqldump -u USER_NAME -p -h HOST_NAME DB_NAME TABLE_NAME > OUTPUT_FILE_NAME @2# テーブルの定義とデータのダンプ $ mysqldump -u USER_NAME -p -h HOST_NAME -A -n > OUTPUT_FILE_NAME [オプション] mysqldump --skip-set-char
SQL カンマ区切りをフィールごとに
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(カラム, ",", 1), ",", -1) AS カラム, SUBSTRING_INDEX(SUBSTRING_INDEX(カラム, ",", 2), ",", -1) AS カラム, SUBSTRING_INDEX(SUBSTRING_INDEX(カラム, ",", 3), ",", -1) AS カラム FROM テーブル https://qiita.com/qwe001/items/3f54a5d12702a8eb67d7 【更新】 update テーブル,(SELE
update 他のテーブルのレコードの値で
update 〇〇〇,●●● set 〇〇〇.text = ●●●.text where 〇〇〇.id = ●●●.id
mysql コピー
https://blog.katsubemakito.net/mysql/copy-table CREATE TABLE newtable LIKE oldtable; INSERT INTO newtable SELECT * FROM oldtable;