2016年2月6日土曜日

MySQLのお勉強

まずこの部分から作成。

MySQLについてお勉強。何せ使ったことがないので。
今までは大体csvファイルとかでデータ管理してました。
何が違うのかいいのか(検索とかか?)ということも含めお勉強。

大体の使い方はここでお勉強。
http://se-java-school.com/itstudy/database/intro_db_jdbc/intro.php
なるほど便利そう。



他さらに調べたこと

属性について
書く変数に対していろんな制約が付けられる。
使ったのを並べておきます。

UNSIGNED...符号をつけない(負の値を扱わない)。
ZEROFILL...桁数が足りない場合、上位の桁を0で埋める。
NOT NULL...NULLにしてはいけない(データの中身が空ではいけない)。
AUTO_INCREMENT...自動的に連番を入力する。

NOT NULL以外はid以外で使わないかも。

あとTABLE作成のときは
PRIMARY KEYやFOREIGN KEYにを付ければいいのか?

括弧の意味
なんか データ型によって意味合い違うみたい。
整数型は表示桁数だが、浮動小数型や文字列型は最大データ長を指定しているらしい。
ややこしい。

位置情報の扱いかた
単に緯度経度を数値型で保存しとけばいいのかと思っていたが、GEOMETRY型というのを使うと何かと便利らしい。
使ってみる。ENGINE(後述)はInnoDBでも扱えるが、実際はMyISAMでしか使えないらしい。


DATETIMEとTIMESTAMP
TIMESTAMPは自動更新されるのか?
データはほぼ同じみたいだが、2つ以上置くと扱い面倒かもだし、おとなしくDATETIMEにしといた方がいいのか?

BLOBとTEXT
大きなデータを乗せるときに使うらしい(データ長に制限がない、その代わり処理の負担が大きくなる?)。
画像とかはBLOBらしいが、TEXTにするにはどのくらいからが目安なのだろうか。
それほど、長いのは扱わないということでVARCHARにしときます。

ENGINE
何か色々あってよくわからないが、InnoDBとMyISAMってのが主流らしい、詳細は全然わからんがとりあえずそれで。

認証
どんな情報がいるのかみたら、大体の場合は文字列らしい。
とりあえずVARCHAR(256)くらいで用意しとけばいいのかな。

0 件のコメント:

コメントを投稿