タグ

databaseとMySQLに関するkenjiro_nのブックマーク (15)

  • 毎日SQLを手で実行して結果をエクセルに貼り付けて...なんてことしていませんか? Pythonなら全自動でできます。 - Qiita

    毎日SQLを手で実行して結果をエクセルに貼り付けて...なんてことしていませんか? Pythonなら全自動でできます。PythonSQLExcel Pythonを最近勉強し始めたのですが、 PythonSQL実行して結果をエクセル出力すると楽になると思ったのでまとめました。 コード50行くらいです。 やること PythonSQLフォルダのSQLを順に実行 SQL実行結果をSQLと同じファイル名でエクセル出力 エクセルをZIPにまとめる ファイルサーバに置く 試した環境 Python3.8 jupyter-notebook(Anacondaから) mysql 準備 実行したいSQLを〜.sqlの名前でフォルダにまとめて保存しておく 一部のPythonライブラリをimportしておく ソース/実行 import mysql.connector import datetime import

    毎日SQLを手で実行して結果をエクセルに貼り付けて...なんてことしていませんか? Pythonなら全自動でできます。 - Qiita
  • RDBの作成時刻や更新時刻用カラムに関するプラクティス | おそらくはそれさえも平凡な日々

    RDBのレコードに、作成日時や更新日時を自動で入れ込むコードを書いたりすることあると思いますが、それに対する個人的な設計指針です。ここでは、作成日時カラム名をcreated_at、更新日時をupdated_atとして説明します。 tl;dr レコード作成日時や更新日時をRDBのトリガーで埋めるのは便利なのでやると良い ただ、アプリケーションからそれらのカラムを参照することはせず別に定義した方が良い MySQLにおける時刻自動挿入 MySQL5.6.5以降であれば、以下のようにトリガーを設定すれば、レコード挿入時に作成日時と更新日時を、更新時に更新日時を、DATETIME型にも自動で埋めてくれます。いい時代になりました。(MySQLが遅すぎたという話もある) `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `updated_

    RDBの作成時刻や更新時刻用カラムに関するプラクティス | おそらくはそれさえも平凡な日々
    kenjiro_n
    kenjiro_n 2019/10/22
    MySQLでは登録更新時に時刻を自動挿入してくれる仕組みがあるとのこと。Oracleでこういう仕組みがあるのかを調べたい。/トリガーを使うといいのか。そうか。
  • DBeaver Community | Free Universal Database Tool

    Basic support for relational databases: MySQL, SQL Server, PostgreSQL and others Data Editor SQL Editor Database schema editor DDL Basic ER Diagrams Basic charts Data export/import Task management Database maintenance tools All DBeaver Community featuresAdvanced securityAdvanced support for relational databasesConnection through ODBC driversNoSQL databases support: MongoDB, Cassandra, Redis, Couch

    kenjiro_n
    kenjiro_n 2019/06/11
    Amazon Corettoでも動いた。Oracleについては「接続するならOracle謹製のドライバーをインストールしてね」と言われたのでA5 MkⅡには及ばなかった。
  • 主要3空間DBでの、空間Index, 空間検索SQL記述の違いまとめ - Code for History

    最近、業務ではなく余暇に複数人で地図系開発をしているため、開発者の構築可能環境が揃えられずバックエンドが選べない状況でした。 なのでバックエンドを抽象化しないといけなかったのですが、その結果Web開発系の主要3空間DBでの空間検索記述差がわかったので簡単にまとめておきます。 座標値からのGeometryオブジェクトの作成 GeomFromTextで当然…と思ってましたが、PostGISだと通らなくなってます。 PostGISでは空間系関数は頭にSTをつけることで統一したよう。 頭にSTをつけた関数については、spatialiteも対応してますし、mysqlは最新の5.6でも未対応なものの、後述の通り関係性記述の関数では(既存関数との互換性のためとはいえ)ST_系を出してきているので、将来的にはST_系で統一されるものと思います。 蓄積済みデータに対する、検索クエリの差 蓄積済みデータに対し

    主要3空間DBでの、空間Index, 空間検索SQL記述の違いまとめ - Code for History
    kenjiro_n
    kenjiro_n 2019/03/27
    spatialite なるものを知らない。SQLiteで仮にタグ付けしたけどこれとどう関連するのだろうか。Oracleには別途Oracle Spatial というのがあるのを知ったがSQL Serverはどうなんだろう。
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita
    kenjiro_n
    kenjiro_n 2017/07/19
    Oracleは関係なかった。文中アンカーにブックマークがついたものは id:entry:341997148, id:entry:341880394
  • パスワードが漏洩しないウェブアプリの作り方 〜 ソルトつきハッシュで満足する前に考えるべきこと

    ■■序論 徳丸さんのスライド「いまさら聞けないパスワードの取り扱い方」に見られるように、昨今、ウェブアプリケーションの設計要件として、サーバ内に侵入された場合でもユーザーのパスワードをできるだけ保護すべきという論調が見受けられるようになってきました。 上掲のスライドでは、その手法としてソルトつきハッシュ化を勧めています。しかしながらスライドに書かれているとおり、ソルトつきハッシュには、複雑なパスワードの解読は困難になるものの、単純なパスワードを設定してしまっているユーザーのパスワードについては十分な保護を提供できないという問題があります。そして、多くのユーザーは適切なパスワード運用ができない、というのが悲しい現実です。 ソルトつきハッシュを使った手法でこのような問題が残るのは、ウェブアプリケーションサーバに侵入した攻撃者がユーザーの認証情報をダウンロードして、認証情報をオフライン攻撃するこ

  • MySQLでVisual Explain

    MySQL Workbenchの次期バージョンである6.0のベータ版が公開された。例によってMySQLのダウンロードサイトで公開されているので、新機能が気になる人はゲットして試してみて頂きたい。見た目が若干今流行りのフラットデザインっぽくなってシャレオツ(笑)な感じに仕上がってる。 ベータ版が公開されたのを記念して、Workbenchに搭載されているナイスな機能について紹介したい。そう、Visual Explainだ。Visual Explainとは読んで字のごとく、SQLの実行計画を視覚的に表現したものだ。SQLが複雑になると、その実行計画は理解し辛いものとなる。 今日はVisual Explain基的な使い方と、それがどのように見えるかを紹介しようと思う。 Visual Explainを使用するには、対象のMySQLのバージョンが5.6以上であり、なおかつWorkbenchのバージョ

    MySQLでVisual Explain
  • ” 無償ダウンロード | MySQL開発ツール-SQLgate-無料開発ツール

    ※評価版ダウンロードを使用される法人のお客様は30日間の無料トライアルになります。期限が過ぎましたら、弊社の購入フォームより購入の旨をご連絡頂ければライセンスキーをメールにて通知し、ライセンスシートを郵送致します。 ※法人のお客様はライセンスキーを登録後に保守サービスの開始となります。 個人のお客様へ 個人のお客様へは弊社が取り扱うSQLgateを無償で提供させて頂いております。

  • mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築

    連休中はWiiのマリオカートをやりまくってやっとVR7000越えたmikioです。愛車はマッハ・バイクとインターセプターです。さて今回は、分散ハッシュデータベースサーバTokyo Tyrantでmixiの最終ログイン時刻を管理するようにした時の苦労話を書きます。 ログイン処理は負荷地獄 mixiでは、全てのユーザについて、各々の最終ログイン時刻を管理しています。「マイミクシィ一覧」や「お気に入り」などの画面で、友人が近い時間にログインしていてコミュニケーションがとりやすい状態にあるかどうか確認できるようにするためです。 mixiのほぼ全てのページはログインしないと見られないページなので、ほぼ全てのページにアクセスされるたびにログイン確認が行われます。したがって、最終ログイン時刻はほぼ全てのページにアクセスされる度に更新されることになります。mixiの中で最も重いデータベースのひとつとして「

    mixi Engineers’ Blog » Tokyo Tyrantによる耐高負荷DBの構築
  • やってはいけない!!MySQLに悲鳴をあげさせる10の方法

    いつも「MySQLを使うときはこうするべき」という観点から記事を書いているが、今日は逆に犯してはいけない過ちをリストアップしようと思う。 1. 全てのカラムにインデックスをつけるデータベース初心者がもっともやってしまいがちな間違いはコレではないだろうか。インデックスはいい。検索がとても速くなるから。しかし、それと引き替えにインデックスは更新するときにコストがかかるし、その分多くのディスクスペースを消費する。特に更新にかかるコストは時に甚大で、該当するインデックスのページがキャッシュ上にない場合はディスクからいったんそのページを読み込まなければいけない。ディスクアクセスは動作にとても時間がかかるので、インデックスが多数、例えば全てのカラムに付いていたりすると「あれ?固まったか?」というような状態になってしまうことがあるだろう。インデックスは必要なカラムにだけつけるようにテーブルを設計しよう。

    やってはいけない!!MySQLに悲鳴をあげさせる10の方法
    kenjiro_n
    kenjiro_n 2009/11/10
    とある一覧の総項索引
  • MyISAMとInnoDBのどちらを使うべきか

    Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL

  • Amazon Relational Database Service (Amazon RDS)

    Amazon Relational Database Service Easy to manage relational databases optimized for total cost of ownership Amazon Relational Database Service (Amazon RDS) is an easy-to-manage relational database service optimized for total cost of ownership. It is simple to set up, operate, and scale with demand. Amazon RDS automates the undifferentiated database management tasks, such as provisioning, configur

    Amazon Relational Database Service (Amazon RDS)
  • generatedata.com

    generatedata.com: free, random test data generator

    kenjiro_n
    kenjiro_n 2009/10/13
    テストデータを作ってくれるサービス。
  • SQLを使うなら理解しておきたいアルゴリズム?(というか、select文の書き方) - where・order by・join・group by - 何かしらの言語による記述を解析する日記

    SQLのselect文の書き方の覚書です。 なお、文中の動作確認は「mysql Ver 5.0.67」で行いました。 2009/10/05 13:30 追記 予想外に多くのアクセスとブクマをいただき、正直驚いております。 文はsqlの内部処理には一切触れておりません。ごく普通のsqlの書き方にのみ触れています。 釣りのつもりはありませんが、釣られたと感じた方にはごめんなさい。 目次 説明に使用するデータ構造?(というかテーブル) 抽出(where句) ソート(order by句) ソートの例(昇順) ソートの例(降順) 結合(join句) 集計(group by句) 関連記事 説明に使用するデータ構造(というかテーブル) select文の使い方を説明するために、以下のようなテーブルを使います。 create table countries ( name nvarchar(30), cu

    SQLを使うなら理解しておきたいアルゴリズム?(というか、select文の書き方) - where・order by・join・group by - 何かしらの言語による記述を解析する日記
  • データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ

    データベースの醍醐味は、パフォーマンスチューニングにあります。 チューニングによっては、同じ処理でも1時間掛かる場合もあれば、 1秒で終わるということもあり得る世界です。 僕はDBの魅力に取り付かれた者の一人です。 DBという技術の奥深さが気に入っています。 DBを極めると、どこの現場に行っても絶対に必要とされます。 また、どこの現場に行っても正解を導く方程式は一緒なので応用が利くのです。 しかし、その基原理を体系的に学べる手段はあまりありません。 OracleMasterやMCDBAといった資格試験でも学べることは限られていて あとはWebで調べるなりマニュアルを読むなりするしかありませんでした。 とくに肝であるパフォーマンスチューニングについては、 経験則でチューニングしている部分も多いです。 OracleSQLServer、MySQLと色々なDBのチューニングをしてきましたが、

    データベースパフォーマンスに関する、僕が知りうる限り最高の教科書 - レベルエンター山本大のブログ
  • 1