MySQL

複数のレコードをまとめて更新する際にdjango-bulk-updateが便利

既存の複数のレコードをまとめて更新する際にdjango-bulk-updateというパッケージが便利だったので紹介します。 GitHub - aykut/django-bulk-update: Bulk update using one query over Django ORM 通常のDjangoのORMを使ったレコードの更新 Djangoで既存の…

EC2からRDSにLOAD DATA LOCAL INFILEでインポートしてみる

RDSにデータを高速にインポートしたい。LOAD DATA LOCAL INFILEが動くのか試していた。 MySQL DB インスタンスからのデータのインポートおよびエクスポート - Amazon Relational Database Service ドキュメントによると、LOAD DATA LOCAL INFILEは使えるらし…

LOAD DATA LOCAL INFILEでERROR 1148になる場合

LOAD DATA LOCAL INFILEを実行すると以下のようなエラーになった場合。 ERROR 1148 (42000): The used command is not allowed with this MySQL versionmy.cnfの[client]の設定に以下を追加することで解消。 loose-local-infile=1コマンドラインオプションで…

DjangoとMySQLで緯度経度を扱う

やりたかったことは、指定した緯度経度(GPSから取得した現在位置)に近い場所の検索と距離の算出でした。 DjangoだとPostGIS+GeoDjangoを使えばできますが、今回はデータベースがMySQLであるため、filterでdistanceが使えませんでした。 GeoDjango Database A…

MySQL5.5でServer charactersetを変更する

はまったのでメモ。MySQLのサーバー側文字コード指定。 Ubuntu12.04LTSでMySQL5.5。 mysql> status -------------- mysql Ver 14.14 Distrib 5.5.22, for debian-linux-gnu (x86_64) using readline 6.2 Connection id: 36 Current database: Current user: …

集計メモ

忘れないようにメモ。MySQLの集計の例 (root@localhost) [test]> select * from access_count; +----+---------+-----------+------------+ | id | user_id | num_count | cdate | +----+---------+-----------+------------+ | 1 | 1 | 10 | 2010-08-19 | |…

MySQL WorkbenchでPython

MySQL WorkbenchはLuaかPythonでプラグインを書けたりするらしい。 pythonシェルも使える。 MySQL Workbenchを使おうと思ったのに、Pythonで遊んでしまった。 GUIのコンポーネントも持ってるみたい。 MySQL :: MySQL Workbench test.py import mforms app = …

LOAD DATA INFILE

メモ、速いらしいということで。 CREATE TABLE testdata ( id int NOT NULL, email varchar(255) NOT NULL, username varchar(255) NOT NULL, value1 varchar(100), value2 int NOT NULL, value3 int NOT NULL, value4 int NOT NULL, PRIMARY KEY (id) ) ENG…

GROUP_CONCATで多対多の中間テーブルを集計する

メモ。forループ内でクエリ回数激しかったのをどうにかしたくて・・・。 mysql> select * from concattest where id <= 20; +----+---------+-----------+ | id | user_id | option_id | +----+---------+-----------+ | 1 | 0 | 1 | | 2 | 0 | 2 | | 3 | 0 …