日々積み重ねろ。

何も積み重ねて来なかった私が何かを積みかねて行くブログ。主にIT系の技術・知識を書いて行きます。

Cocoapodsを任意のバージョンに固定する方法

bundlerを使ってCocoapodsを任意のバージョンに固定する事が出来ます。

チームで開発している場合などにメンバー間の環境統一に便利です。

cocoapodsの0.33.xと0.34.x系はpodファイルのディレクトリが変化しており、0.33.xから0.34.xへアップデートする際にエラーが出る事がある。

その際にもダウングレードバージョンを使用して、エラーが出ない環境で作業を進める事が出来ます。

 

■bundlerのインストール(Cocoapodsを使用しているディレクトリで実施)
sudo gem install bundler --no-ri --no-rdoc

■初期化コマンドを実行
bundle init

■Gemfileという名前のファイルが生成されるので、使用したいcocoapodsのバージョンを記載
source 'https://rubygems.org'
gem 'cocoapods', '0.33.1'

■インストールを実行
bundle install --path vendor/bundle

※podコマンドを実行する時にbundle exec podで叩くと上記の固定バージョンで実行できる

■cocoaposをインストール
sudo gem install cocoapods

■podインストール

bundle exec pod install

■セットアップ
bundle exec pod setup

■cocoapodsバージョン確認
bundle exec pod --version

 

※bundle exec を付けずにpodコマンドを実行すると自PCの最新バージョンで実行されるので注意。

【SQL】MySQLデータの並べ替え、グループ分けコマンドまとめ

■テーブルのデータを降順で表示する

SELECT 表示する列名 FROM テーブル名 ORDER BY キーとなる列名 DESC;

■テーブルのデータを昇順で表示する

SELECT 表示する列名 FROM テーブル名 ORDER BY キーとなる列名 ASC;

複数の列を基準にして並び替える

SELECT 表示列名 FROM テーブル名 ORDER BY 列名1 ASC又はDESC, 列名2 ASC又はDESC;

※列名1で指定した列を基準に並べ替え。同じ値のデータがあれば列名2で指定した列を基準に並べ替え。

 ■グループ化する

SELECT category FROM market GROUP BY category;

※テーブルmarketの列categoryをグループ化

■グループ化したものをさらにグループ化

SELECT category, name FROM market GROUP BY category, name;

※列categoryのグループ化し、さらにnameごとにグループ化。categoryごとにnameを表示することができます。

■グループ化して登録件数を調べる

SELECT category, COUNT(category) AS "件数" FROM market GROUP BY category;

※列category別の登録件数が表示

■グループ化したものをさらにグループ化したデータの登録件数を調べる

SELECT category, name, COUNT(*) AS "件数" FROM market GROUP BY category, name;

※COUNT(*)にした場合は、NULLの件数もカウント,COUNT(name)にした場合はNULLの件数はカウントされない。

■グループ化して合計値を表示する

SELECT category, SUM(sales) AS "受注額" FROM market GROUP BY category;

※列categoryごとの列salesの合計値を表示

■グループ化して平均値を表示する

SELECT category, AVG(sales) AS "平均受注額" FROM market GROUP BY category;

※列categoryごとの列salesの平均値を表示

■平均値の小数点以下を四捨五入する(ROUND)

SELECT category, ROUND(AVG(sales)) AS "平均受注額" FROM market GROUP BY category;

※3218.7500 → 3219,3225.0000 → 3225

※ROUN()関数では、第二引数で四捨五入後の桁数を指定できる。ROUND(123.45,1)→123.5 ROUND(123.456,-1) → 120

■グループ化して最大値を表示

SELECT category, name, MAX(sales) AS "最大受注額" FROM market GROUP BY category, name;

■グループ化したデータに条件を付けて抽出する(HAVING)

SELECT name, SUM(sales) AS "受注額" FROM market GROUP BY name HAVING SUM(sales) >= 4000;

■データを抽出してからグループ化

SELECT name, COUNT(*) FROM market WHERE category = '魚介' GROUP BY name;

 ■グループ化してから並び替え

SELECT name, AVG(sales) FROM market GROUP BY name ORDER BY AVG(sales) DESC;

■HAVINGとWHEREの違い

HAVING句の役割はグループに対する条件を指定する事。

WHERE句の役割は行にたいする条件を指定する事。

WHERE句で条件を指定した場合は、ソートの前に行が絞り込まれる。

HAVING句で条件を指定した場合は、ソートが完了してグループ化された後で行が絞り込まれる。

 

【SQL】MySQLデータ集計コマンドまとめ

■列同士の値を四則演算(足す+,引く-,掛ける*,割る/)する

(例)SELECT name, price * number AS "売上" FROM sales;

※列priceと列numberを掛け合わせた値を売上という列名で表示

■列の合計を表示する(SUM)

(例)SELECT SUM(price) FROM sales;

※テーブルsalesの列priceの合計値を表示

■列の平均値を表示する(AVG)

(例)SELECT AVG(price) AS "平均売上額" FROM sales;

※テーブルsalesの列priceの平均値を平均売上額という列名で表示

■列の最大値を表示する(MAX)

(例)SELECT MAX(price) AS "最大売上" FROM sales;

※テーブルsalesの列priceの最大値を最大売上という列名で表示

■列の最小値を表示する(MIN)

(例)SELECT MIN(price) AS "最小売上" FROM sales;

※テーブルsalesの列priceの最小値を最小売上という列名で表示

■列の件数を表示する(COUNT)

(例)SELECT COUNT(price) AS "件数" FROM sales;

※テーブルsalesの列priceの件数を件数という列名で表示

■重複するデータを外して集計する(DISTINCT)

(例)SELECT DISTINCT category FROM total;

※テーブルtotalの列categoryに登録されているデータの種類を表示(重複なし)

(例)SELECT COUNT(DISTINCT category) AS "カテゴリの種類数" FROM total;

※テーブルtotalの列categoryに登録されているカテゴリの種類件数を表示

 ■条件によって表示する値を変える(CASE)

(例)SELECT name, sales, CASE

                                         WHEN sales >= 5000 THEN 'OK'

                                         WHEN sales >= 3000 THEN 'まあまあ'

                                         ELSE 'ダメ'

                                         END AS "評価"

      FROM total;

namesales評価
りんご 4800 まあまあ
みかん 2100 ダメ
いちご 7900 OK
4950 まあまあ

 (例)SELECT name, sales, CASE category

                                           WHEN '果物' THEN 'フルーツ'

                                           WHEN '野菜' THEN 'ベジタブル'

                                           END AS "分類"

       FROM total;

※CASEの後に条件判断の対象となる列を記述。WHEN category = '果物' THEN 'フルーツ'と同じ。

(例)SELECT COUNT(category) AS "総数",

                    SUM( CASE category

                               WHEN '果物' THEN 1

                               ELSE 0

                               END ) AS "果物の数",

                    SUM( CASE category

                               WHEN '野菜' THEN 1

                               ELSE 0

                               END ) AS "野菜の数"

        FROM total;

総数果物の数野菜の数
8 5 3

 ※果物の数=列cateogryが果物のものは1を返しその合計を表示

(例)SELECT SUM(sales) AS "売上合計",

                    SUM( CASE category

                               WHEN '果物' THEN sales

                               ELSE 0

                               END ) AS "果物の売上額",

                    SUM( CASE category

                               WHEN '野菜' THEN sales

                               ELSE 0

                               END ) AS "野菜の売上額"

        FROM total;

※上記のように条件に一致する列の合計を表示していくことも可能

【SQL】MySQLデータ検索コマンドまとめ

■全ての列のデータを表示する

SELECT * FROM テーブル名;

■特定の列のデータを表示する

SELECT 列名1, 列名2, ・・・ FROM テーブル名;

■特定の列を別名を使って表示する

SELECT 列名1 AS 別名1, 列名2 AS 別名2・・・FROM テーブル名;

■データを条件付きで検索する

SELECT 結果として表示する列名 FROM テーブル名 WHERE 検索する条件;

(例)SELECT * FROM fruit WHERE name = 'メロン';

※テーブルfruitからnameにメロンが登録されている全ての行を表示

■検索条件の範囲を指定して検索する

SELECT 結果を表示する列名  FROM テーブル名 WHERE 検索対象の列名 BETWEEN 値1 AND 値2;

(例)SELECT * FROM fruit WHERE price BETWEEN 500 AND 800;

※テーブルfruitからpriceが500〜800の範囲にあるデータ全てを表示

複数の候補に一致するデータを検索する

SELECT 結果を表示する列名 FROM テーブル名 WHERE 検索対象の列名 IN(値1, 値2・・・);

(例)SELECT * FROM fruit WHERE name IN('オレンジ', 'メロン');

※テーブルfruitからnameがオレンジとメロンに一致する全てのデータを表示

■全ての値に一致しない値を検索する

SELECT * fruit WHERE name NOT IN('りんご', 'パイナップル');

※テーブルfruitからnameがりんごとパイナップル以外の全てのデータを表示

■NULLを検索する

SELECT 表示する列名 FROM テーブル名 WHERE 検索対象の列名 IS NULL;

■NULLではない行を検索する

SELECT 表示する列名 FROM テーブル名 WHERE 検索対象の列名 IS NOT NULL;

■検索結果を降順で表示する

SELECT 表示する列名 FROM テーブル名 WHERE 検索条件 ORDER BY キーとなる列名 DESC;

※DESC=大きい順,10,9,8,7・・・

■検索結果を昇順で表示する

SELECT 表示する列名 FROM テーブル名 WHERE 検索条件 ORDER BY キーとなる列名 ASC;

ASC=小さい順,1,2,3,4,5・・・

■WHERE句で使用出来る論理演算子(AND,OR,NOT)

SELECT * FROM food WHERE category = '野菜' AND price >= 350;

※野菜かつ350以上のデータを表示

SELECT * FROM food WHERE category='野菜' AND price >= 350;

※野菜又は350以上のデータを表示

※BETWEEN・・・AND,INなどで簡潔に記述出来る場合は、そちらを使うのが一般的

 

【SQL】MySQLデータの登録、削除、更新コマンドまとめ

■データを登録する

INSERT INTO テーブル名 VALUES(列1のデータ, 列2のデータ, ・・・);

(例)INSERT INTO shop VALUES('100', 'お花', 300);

(例)INSERT INTO shop VALUES('101', '桃', 620),('102', 'メロン', 670);

 

■全ての列のデータを表示する

SELECT * FROM テーブル名;

 

■特定の列のデータを表示する

SELECT 列名1,列名2  FROM テーブル名;

 

■特定の行のデータを削除する

DELETE FROM テーブル名 WHERE 条件;

(例)DELETE FROM fruit WHERE name = 'メロン';

 

■テーブル内のすべてのデータを削除する

DELETE FROM デーブル名;

 

■行を指定してデータを修正する

UPDATE テーブル名 SET 列名 = 修正後のデータ WHERE 条件;

(例)UPDATE fruit SET price = 180 WHERE name = 'オレンジ';

※nameがオレンジの行のpriceを180に変更

 

■特定の列の全データを修正する

UPDATE テーブル名 SET 列名 = 修正後の値;

 

■特定の列にデータを登録する

INSERT INTO テーブル名(列名1, 列名2・・・) VALUES (列名1のデータ,列名2のデータ・・・);

(例)INSERT INTO fruit(code,name) VALUES('1001', 'りんご');

※何も登録されなかった列にはNULLが表示される

 

■特定の列を未入力不可にする(NOT NULL制約)

ALTER TABLE テーブル名 MODIFY 列名 データ型 NOT NULL;

(例)ALTER TABLE fruit MODIFY code CHAR(4) NOT NULL;

 

■デフォルト制約の設定

ALTER TABLE テーブル名 ALTER 列名 SET DEFAULT デフォルト値;

(例)ALTER TABLE fruit ALTER price SET DEFAULT 0;

 

■主キーの設定(MySQL,ORacle)

ALTER TABLE テーブル名 ADD PRIMARY KEY(列名);

PostgreSQLSQL Serverはコマンドが異なります。

 

■NOT NULL制約解除

ALTER TABLE テーブル名 MODIFY 列名 データ型;

 

■デフォルト値の削除

ALTER TABLE テーブル名 ALTER 列名 DROP DEFAULT;

【SQL】MySQLテーブル作成・変更コマンドまとめ

■テーブルを作成する

CREATE TABLE テーブル名 (

  列名1 データ型,

  列名2 データ型,

  ・・・・・・・

);

(例)

CREATE TABLE shop (

  code CHAR(4),

  name VARCHAR(30),

  price INTEGER);

 

■テーブルを削除する

DROP TABLE テーブル名;

(例) DROOP TABLE shop;

 

■テーブルの設定情報を見る

SHOW CREATE TABLE テーブル名;

 

■列の構造を表示する(MySQL,Oracleのみ)

DESC テーブル名;

 

■列のデータ型を変更する(ALTER=アルター)

ALTER TABLE テーブル名 MODIFY 列名 変更後のデータ型;

 

■列を追加する

ALTER TABLE テーブル名 ADD COLUMN 列名 データ型;

 

■列を削除する

ALTER TABLE テーブル名 DROP COLUMN 列名;

 

■テーブルの名前を変更する

ALTER TABLE 変更前のテーブル名 RENAME TO 変更後のテーブル名;

 

■列の名前を変更する

ALTER TABLE テーブル名 CHANGE 変更前の列名 変更後の列名 データ型;

【SQL】MySQLデータベースの作成コマンドまとめ

■データベースを作成する

CREATE DATABASE データベース名;

(例)CREATE DATABABASE shop;

※shopという名前のデータベースを作成

 

■データベースに接続する

USE データベース名;

(例)USE shop;

※shopという名前のデータベースに接続する

 

■データベースを削除する

DROP DATABASE データベース名;

(例)DROP DATABASE shop;

※shopという名前のデータベースを削除する