MySQLに関するPeranikovのブックマーク (3)

  • [MySQL] UPDATEで時間を加算・減算する | きほんのき

    MySQLでDatetime型カラムに記録された日時をUPDATE文で変更する方法についての解説です。 カラムに”2013-07-01 00:00:00″と記録されていたとします。これを1時間前に修正する場合は以下のSQL文を実行します。 UPDATE table_name SET 'target_column' = (`target_column` - INTERVAL 1 HOUR); これで、全てのtarget_columnに記録されていた時間が、1時間前に変更されます。上記の例では”2013-07-01 00:00:00″は”2013-06-30 23:00:00″に変更されます。1時間後に変更する場合は(`target_column` - INTERVAL 1 HOUR)の-を+に変えます。 以下は時間以外の、秒単位や日単位の時間変更についての例です。 UPDATE table_

  • ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々

    よくMySQLはゆるふわだから 値が勝手に切り詰められる エラーが起きずに変な値/日付が入る 不正なスキーマが入ってしまう など言われることがあります。ただそれは、そもそもの設定が悪いのです。(確かに昔デフォルトがゆるふわなのはいけなかったんですが) ということで、データベースには不正な値が入らないように設定はとにかく厳しくしておくのがオススメです。 じゃあどうするか。 MySQLSQL Modeによって、その辺りの制約をコントロールすることができます。以前、MySQLsql-modeで一番厳しいやつはTRADITIONAL、というのを書いたのですが、実はそれだけでは不十分で、TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BYとするのがより安心なようです。 これはkamipoさんに教えてもらいました。 @songmu TRADITI

    ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々
  • データベースとテーブルのサイズを確認する方法 - Simple, Slowly

    テーブルのサイズはphpMyAdminでも見れますが、コマンドから見れたほうが何かと便利なので、調べてみました。 全てのデータベースのサイズを確認する # MB単位 select table_schema, sum(data_length+index_length) /1024 /1024 as MB from information_schema.tables group by table_schema order by sum(data_length+index_length) desc; +--------------------------+---------------+ | table_schema | MB | +--------------------------+---------------+ | database1 | 5579.89978790| | databas

    データベースとテーブルのサイズを確認する方法 - Simple, Slowly
  • 1