そろそろ人生変えていこうよ

プログラミングも含めて、人生 考え方かえていきたい

MySQL MySQLWorkbenchを使用して、googleスプレッドシートにcsvインポートする

MySQLWorkbenchを使用して、microsoftスプレッドシートにデータをインポートする

 

方法

1:MySQLWorkbenchを開く

2:画面上部にある Database から connect to database   をクリック

3:Local instance xxxxとなっていたりするので、okをクリック

4:左上の方にデータベースでよく使われるアイコン(左から四番目)をクリック

5:schema名はsqlファイルに合わせた方が良い?かも

      Utf8-utf8-general-ciに指定

 

これで、準備完了

 

USE schema名;

select * from  テーブル名;

 

カミナリマークを押して、テーブル名の中身を全部表示

 

Result gridと書いている行の真ん中ちょい右にフロッピーのマークがあるので、クリック

ファイル名を拡張子  .csvにして保存

 

Excelソフトを持っていないので、microsoftスプレッドシートにデータを保存していく

1:google スプレッドシート で検索してページにゴー

2:google アカウント持っていれば、そのまま使える。持っていない方は作る

3:スプレッドシートの空白をクリック

4:ファイルをクリックして、インポートをクリック

5:sqlファイルを指定して、インポートする

 

これで、SQLファイルのデータをインポートできるはず。

 

今日は改めて、どうやったら上手いこと、性格の違う複数人に同じことを伝えられるか?を考えさせられました。
それくらい、そんなことくらい解って欲しいと思う人もいれば、怒ってキレちゃう人もいる。言わないで我慢して、それがある一定の線を越えるまで我慢する人も。これら以外でも様々なタイプの人がいます。
それは言われている人、聞いている人も同様で、いろーんな人がいます。

状況次第でも変わるし・・・本当に

最近はマズイことに両方の側から、相談を受けることが多いんですよね。
自分は聞かれて、嫌だなとはあまり思わない。そう言う風に思ってるのかとか、ただただ相性がよくないのかなとか。

どうしたもんかなって何パターンも考えます。今も考えてて、あまり指が動きません。
明日どうしたら、笑顔に戻るかな?とかも考えてます。
今日の二人は、寝たら忘れる子と記憶力の良い子
とりあえず明日”そんなことあった?”と言わせないようにしないと。
難しいですよね

でも、ちょっと面白いと思っているのも事実なんです。

さあ明日はどうなることでしょうか?

すいません しょうもないこと書いて

初めてのMySQL

 

Rails学習中につき、データベースの知識も必要になってきたので、勉強していきます。

MySQLな訳は、業務で使用していることが多いらしいのでw

MySQLWorkbench(https://www.mysql.com/jp/products/workbench/)を使用しています

勉強した内容を、メモの代わり&文章を書く練習のためにブログにまとめていきます。

 

・データベースからデータを取得するselect

 

 select 列1, 列2・・・ from テーブル名;

 

・全ての列を取得したい場合

   Select * from テーブル名;

 

・気をつけること

   DB選択していない - use mydb;

   スペルミス - select * form users;  #すでに何回も間違えてます 正解はfrom

   全角文字など

 

SQLのコメント

 「」ハイフン二つ   — select * from users;  1行コメントアウトできます

     複数行の場合

   /**/ /* select * from users; */

                  /* select * from users;
                  select * from products; */

 

limit

   Select id from usersの後に limit 0, 1000; でデータの範囲を指定できる

 

カラム名を変更

   カラム名の後ろに「 as 変更したい文字 」で変更できる * asは省略可

   select id as 名前, price as 価格 from products;

 

・列の値に対して計算を行う

select

  name as 名前,

  price as 価格,

  price * 1.08 as 税込価格 <- ここで計算を行っている

from

  products;

 

・条件を指定してデータを取得

select name, price from products where price >= 7777; 
price77777以上なら という条件を指定

 

・色々な演算

select * from products;

-- idが1の行を取得

select * from products where id = 1;

-- 名前が「商品03」の行を取得

select * from products where name = '商品03’;

-- priceXより大きい行を取得

select * from products where price > X;

-- priceXより小さい行を取得

select * from products where price < X;

-- priceYではない行を取得

select * from products where price != Y;

-- 別の書き方

select * from products where price <> Y;

-- idが1か2か3の行を取得

select * from products where id in(1, 2, 3);

-- idが1か2か3ではない行を取得

select * from products where id not in(1, 2, 3);

-- pricenullではない行を取得

select * from products where price is not null;

-- pricenullの行を取得

select * from products where price is null;

-- priceAからBの行を取得

select * from products where price between A and B;

-- 次のようにandを使ってかける。andは論理値。ABも成り立つ時にtrue

select * from products where price >= A and price <= B;

-- or | (論理和)も使える。条件Aか条件Bが一つ以上成り立つ場合にtrue

-- 価格がAは又はBの行を取得

select * from products where price = A or price = B;

 

・パターンマッチングによる絞り込み like

select form テーブル名 where 列名 like ワイルドーカード文字;

 

ワイルドカード文字とは?

・ ‘%   (パーセント)        0文字以上の任意の文字列

・ ’_    (アンダースコア)  任意の位置文字

 

‘左%    -> ‘左’で始まる文字列

%% -> ‘左’を含む文字列

%子’    -> ‘子’で終わる文字列

__子’    -> 何かしらの2文字から始まり、’子’で終わる文字列

 

・取得件数を制限できる limit

select from テーブル名 limit [オフセット,] 取得件数;

 

とやったことをメモがわりに書いてみました。

便利だなと感心。

プログラミングしない方でも、仕事とかでデータをまとめて、必要な時に簡単にチョチョイと取り出せれば、効率化できるだろうなと。

世の中知らないうちにこんなにも便利になっているんだから、以前からもっとアンテナはって生きてくればよかったなと後悔。

 

毎日継続して、少しでも勉強していこう

 

今日のジャパンC

馬券は買いませんが、昔から馬が好きで小学生の頃から観てきました。

2400が2分20秒台とは驚いた。日本のお馬さんが強くなったのは事実。

でも、フランス行ったらなかなか勝てない。人間だって、初めての場所は緊張するし、お馬さんも頭いいから敏感だったりする子もいるし。

ロードカナロアフサイチパンドラの子ってところも、2頭知ってる人からしたら、いろんな意味で感慨深いでしょうし。

馬に少し乗らせてもらってたことあるので、またいつか乗って、世話でもしたいですね

 

では

RSpec学習準備

昨日夜中まで起きていたら、案の定遅刻しそうになりました。

4回もアラームかけていたのに・・・

枕元に携帯あったから、無意識のうちに消していたんですね。

あと1時間早く寝よう 最低でも。

休みの日でなんかしようと思う時は、起きれるのに不思議

 

余計の話はここまでで、勉強した内容復習がてらメモ残しておきます。

 

今回は、RSpec

Ruby on Railsを勉強していく過程で、必要になったのでやっていきます。

 

RSpecRubyのテストフレームワークで有名なものらしい。

チュートリアルだとデフォルトのminitestを使用して学習しました。

がしかし、RSpecは、便利な上に、現場でも多く使用されているといことなので、避けては通れないなこれということで、わからないながらやっていきたいと思います。

と言っても、どういう物なのかわからないので、調べたり、本読んだりして、進めていきたいと思います。

 

今日はRailsRspecを使用するための準備だけ

rails new xxx_app で準備ができていることを前提としています。

テキストエディタを開いて、そこで xxx_appディレクトを開きます。

Rspecは gem(ジム)なので、xpp_app内にある gemfile に以下の内容を記述

 

group :development, :test do
  gem rspec-rails
  # デフォルトで記述されているものはそのまま
end

書いたら、保存。ターミナルを開いて、xxx_appに移動。

bundle install  成功したら、次は

config/database/yml を確認して、デーダベースの種類、記述を確認

rails db:create:all を実行

次はRspecでテスト内容を書いていく、ファイルやディレクトリを作成する。

rails g rspec:install を実行すると

 .rspecファイル 

specディレクト

spec_helper.rb

rails_helper.rb


が追加される。これで、とりあえず準備完了!

でもでも、便利に使えた方が良いので、以下を追加

 

1.  .rspecファイルの —warningsを消す

2.    gemfileの :development に以下を記述


       group :development do
       #デフォルトはそのまま
       gem spring-commands-rspec
       end

これをインストールするとアプリの起動が早くなるので、設定しておく!!

 

bundle exec spring binstub rspec を実行

bin/rspec を実行して、結果が出れば、準備完了

 

特に説明も書いていませんが、今回は終わります。

 

ちなみに、現在2時22分です

寝よう

 

 

 

SQL 初心者メモ MySQL環境構築も

SQLの知識0がほぼ全くないので、学習内容をメモ帳がわりに残しておくために書いています

Ruby on Railsを勉強していて、必要になったため開始
MySQLを対象としています

 

RDB = リレーショナルデータベースの略一番利用されているらしい。例)MySQL

DBMS = データベースマネージメントシステム

 

SQLとは?

= データベース、テーブル、行や列を扱うための言語

*oracleMySQL使用する物の違いで、動作する・しないが出てくるらしい

 

基本的なルール

大文字、小文字は区別されない(見づらいので大小混ぜて書かない!)

ex) select * from users; <-セミコロン忘れずに!

      SELECT FROM USRS;

 

・文字と日付は   '  '   (シングルクォーテーション)で囲む

 

知らなかった単語

・クエリ = データの検索、更新、削除、抽出などの要求をデータベースに送信すること

 

データ型

・数値型

・文字列型

・日付・時刻型

続きを読む

肉を食らってからの、Ruby 2日目

繁忙期?という名目で、休日出勤。
本当に今日会社行く必要あったのかなあと思うくらいな業務内容・・・
昼飯くらい贅沢するかということで、某チェーン店で、肉の塊500gを食らう!
現在勢いのあるステーキ店ではないですけど、ゆっくり座れて、サイドメニュー的なもの食べれるので、今日行ったとこの方がやや好きです。


Rubyの勉強していきます。

・Enumerableモジュール
配列やハッシュなど集合を表すクラスに数え上げや検索などのメソッドを提供・・・こう書かれるとよくわかりませんね。
とりあえずの解釈として、Arrayクラス、Rangeクラスなんかはこのモジュールをincludしてるから、それぞれのクラスでenumerableモジュールが使えますよと。まだ、わかりづらいです。
配列(array)でよく使う each, mapメソッドが、範囲(Range)などでも使えるのは、配列と同じくenumerableモジュールに含まれてるいるから。

とりあえずは、

(1..1000).each

みたいに書けるのは上記のおかげで、わざわざ

n >= 1 &&  n <= 1000

みたいに書かなくて済むのは、モジュール化されているから?くらいの解釈で、次に進みたいと思います。

 

・break と return の違い

これは知りませんでした。こういう違いで期待している処理ができなかったり、エラーが出て調べている未来が見えたので、メモ!


break   : 繰り返し処理からの脱出

return  :  メソッド自体から脱出

break の場合は、繰り返し処理を終わらせるけれど、メソッドの他の処理は実行される。
return の場合は、returnが呼ばれたら、全部終了。他の処理は実行されない。
結構大きな違いに感じます。


自作でリアルタイムチャットにも挑戦

始動から、つまづき気味です。はい


・自動ログインをgem deviseを使用しないで実装しようとしてますが、調べてるのが下手なのか、出てこない。stackflowで探すか検討中。deviseを使用しないのは学習にためと、バージョン変わったりした時に使用できなくなることを防ぐため。

とにかくやるしかないので、これでもかってくらい調べます。

 

Ruby 初心に戻って、最初から始める

久しぶりRubyの勉強に戻ってきたので、気になった所を書いていきます。

メモ帳みたいな感じなので、参考にはならないと思います。

 

!で終わるメソッド

upcase とupcase! の違い

a = 'hoge'

a.upcase  だと 'HOGE'    a は 'hoge'

a.upcase! だと 'HOGE'   a は 'HOGE'

!を最後につけると 変数aの文字列自身も変更されてしまう。(= 破壊的メソッド)

変数名に ?  ! をつけるとsyntax error がでる

hoge! = hoge.upcase
hoge? = hoge.downcase

みたいに変数の最後に ! ? はつけれません!!

エイリアスメソッド
method名は違うけど、同じ処理をしているもののことを言うらしい

・ミュータブルオブジェクト

文字列、配列、ハッシュとか変更可能なオブジェクトのこと


・puts print p の違い

呼び出すメソッドが前者2つは to_s で p は inspect

・minitest

test_ で始まるメソッドを探して、実行するためメソッド名の最初は test_が必須

assert_equal  期待する結果, テスト対象となる値や式( X )
( rspecだと )
expect( X ).to eq 
X に to以下 を期待するでいいのかな?

ブロックはメソッドの引数として渡すことができる処理のカタマリ
今聞くとなるほど! 初めは???でした。すいません、これが言いたかっただけです。

 

・メソッドには " 要件を問わずに共通する処理 "

   ブロックには  " 要件によって異なる処理 "

今日はとりあえずこの辺まで。

ブログサボっていた期間はRailsrspecでテストしながら、色々していました。

・空いた時間に少しでもRubyの勉強もしていかないと
・と言いつつ、明日以降はまたRailsでチャットアプリ的なものを作り始めます
SQLも勉強したい。

したいばかり言ってもダメなので、しっかりこなしていきます。

以前はボヤッとしてたものが、解消されてきたので、少し楽しくなってきました

今日の出来事

北方領土四島のうち、二島だけ返還がどうとか
・また、車のリコールが増える。
・なんとかステーキが二つあることを知る。

Rails Rspec FactoryBot使い始めたらエラーまみれ

5日目 FactoryBotを初インストール

テストデータを一回一回書いていたのですが、現実的ではないと思ったので、導入することにしました。Rspecは先週から勉強し始めたので、どんどん慣れていきたいですね。Railsチュートリアルで最初はminitestを支持通りに書いていましたが、イマイチすっきりできなかった(これは、完全に私のせいであります)。何事もそうですが、一から考えてみると、理解度が違うように感じます。テストは実際にさせたいこと、されては駄目なこと(抽象的すぎるので、ここらの表現をしっかりできるようにしよう)を書いていくわけであるから、理解してないと書けない。まあまだ始めたばかりで、何を言ってもという感じなので、一通り勉強したら、しっかりまとめたいと思っています。

 

FacoryBotをインストールして、indexのテスト書いてて、どうしてもクリアにならなかったので、怪しいなあ?と思ってたら、案の定以前のテストからデータが反映されてなかった・・・ということで、今また始めからやっている途中です。

 

寝る前までに、やり直した地点まで進めたいので、日記書いている場合ではないのですが、これもやるべきことなので、あまり意味、文脈は考えないで書いています。

 

user = FactoryBot.build(:user)  忘れないように!!

 

さあ頑張りますか ではでは