SQL 初心者メモ MySQL環境構築も
*SQLの知識0がほぼ全くないので、学習内容をメモ帳がわりに残しておくために書いています
*Ruby on Railsを勉強していて、必要になったため開始
*MySQLを対象としています
・RDB = リレーショナルデータベースの略一番利用されているらしい。例)MySQL
SQLとは?
= データベース、テーブル、行や列を扱うための言語
*oracleやMySQL使用する物の違いで、動作する・しないが出てくるらしい
基本的なルール
・大文字、小文字は区別されない(見づらいので大小混ぜて書かない!)
ex) select * from users; <-セミコロン忘れずに!
SELECT FROM USRS;
・文字と日付は ' ' (シングルクォーテーション)で囲む
知らなかった単語
・クエリ = データの検索、更新、削除、抽出などの要求をデータベースに送信すること
データ型
・数値型
・文字列型
・日付・時刻型
数値型
・ int型(イント、インテジャー) 整数
・ tinyint型(タイニーイント) 小さい整数 -128~127
・ float型(フロート) 小さい(単精度)浮動小数点数
・ double型(ダブル) 普通(倍精度)浮動小数点数
int unsigned = 数値を符号なしにできる。要は、正の整数だけ扱えるようにする
tinyint(1) = このように記述すると
・真偽値を扱うことができる( trueは数字の 1 、falseは数字の 0 )
・null はデータが存在しないことを表す値
*MySQLでは0と null が false で、空文字やそれ以外の値は true となる
文字列型
・char型 ( キャラ ) - 固定長の文字列255文字まで。
例) 5桁で固定する場合 "AAAAA" char(5) とする
・varchar型(バーキャラ) - 可変長の文字列255文字まで
・text型 (テキスト) - 長い文字列 65535文字まで
日付・時刻型
・date型(デイト) - 日付'1000-01-01'から'9999-12-31'
・datetime型 - 日付と時刻'1000-01-01 00:00:00.000000'
・time型 - 時刻 '-838:59:59'から'838:59:59'
この後 macに環境構築をしました
・私はすでにインストール済みでしたが、まだであるなら、
https://brew.sh/index_ja に行って、インストールの下にあるスクリプトをコピー
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
ここに載せておきました。
これをターミナルに " commandキー + Vキー"で貼り付けて、エンターをプッシュ!
すると、homebrewがインストールされているはず。。。
確認のために、” brew --version ” と入力して、エンター。すると
Homebrew 1.8.3 みたいな表示がされればOK!!
・MySQLをインストール
一応確認のために、ターミナルで " mysql --version "
ないよ?みたいな表記が出てきたら " brew install mysql " を入力してエンター。
インストールができたら、確認する " mysql --version"
mysql Ver 8.0.12 for osx10.14 on x86_64 (Homebrew) と出ればOK!
この後の説明は、間違えていると迷惑がかかるので、ググったりしていただいた方が良いと思います。" mysql インストール " 等で調べたら行けるはず。
・MySQLサーバーが立ち上がっているか確認するためには、
mysql.server status とターミナルに入力。 SUCCESS!と出れば動いてます。
・サーバーが立ち上がっていない場合
mysql.server start とターミナルに入力。SUCCESS!と出れば立ち上がりました。
・サーバーを止める
mysql.server stop とターミナルに入力。これで、止まります。
以上がMySQLサーバーを動作コマンドです。
・MySQL Workbench( https://www.mysql.com/jp/products/workbench/ )
データベースを視覚的に見るためのツールです。
これから使い方は、覚えていきます。
今回のSQLとは関係ありませんが、正規表現も同時並行で勉強しているので、それについてもサボらずやる。住所、電話検索だけでなく、正規表現使えばコードあんなに短くできる可能性があるなら、やらないのはありえないと思ったので。
Rubyの基礎もあやふやなとこはやっていかないと。
がんばろ