ひとり勉強ログ

ITエンジニアの勉強したことメモ

CentOSサーバからTimeCapsuleをマウントする方法

mount -t cifs "//IPアドレス/Data" /mnt/マウントするディレクトリ -o password=パスワード,sec=ntlm,uid=1000,gid=1000,vers=1.0

MySQL講座#19 テーブルの足し算と引き算

集合演算とは 本ページで学習するのは、「集合演算」という名前で呼ばれている操作である。「集合」というと数学の世界では「物の集まり」を表すが、データベースの世界では「レコードの集合」を表す。「レコードの集合」とは具体的に言えば、もちろんテーブ…

MySQL講座#18 CASE式

CASE式とは 本ページで学ぶCASE式は、「式」という語がついている通り、「1 + 1」や「120 / 4」のような式と同じく一種の演算を行う機能である。その意味で、CASE式は関数の一種でもある。SQLの機能の中で一、二を争う重要な機能のため、ここでしっかり身に…

MySQL講座#17 述語

本ページで学習するのは、SQLで抽出条件を記述するときに不可欠な「述語」と呼ばれる道具である。実は、これまでも、この述語の仲間を扱っている。例えば、=、<、>、<>などの比較演算子は、正確には比較述語の一種である。 述語とは、関数の一種である、ただ…

MySQL講座#16 いろいろな関数

関数の種類 これまでは、主にSQLの文法や構文といった、「守るべきルール」を中心に学習してきた。本ページでは、これまでと観点を変えて、SQLが持っている便利な道具を紹介する。その中心となるのが「関数」である。 関数とは、「ある値を“入力”すると、そ…

MySQL講座#15 相関サブクエリ

普通のサブクエリと相関サブクエリの違い 「超人強度(powrer)が、全体の平均の超人強度よりも高い超人」を選び出すには、サブクエリを使えば実現できる。今度は少しこの条件を変えて「超人分類(category)ごとに平均超人強度より高い超人」を、categoryの…

MySQL講座#14 サブクエリ

サブクエリとビュー これから本ページで学ぶ「サブクエリ」は、ビューを基本とした技術である。サブクエリの特徴を一言で表すと、「使い捨てのビュー」である。 ビューは、データそのものを保存するのではなく、データを取り出すSELECT文だけを保存するとい…

MySQL講座#13 ビュー

ビューとテーブル まず最初に習得する新しい道具は「ビュー」。 このビュートはいったい何か。一言で説明すると「SQLの観点から見ると“テーブルと同じもの”」である。実際、SQL文の中で、テーブルなのかビューなのかを意識する必要はほとんどない。実は更新…

MySQL講座#12 トランザクション

トランザクションとは何か トランザクションという言葉は、RDBMSの世界においては、「テーブルのデータに対する更新の単位」を表す。もっと簡単に言うとトランザクションは「データベースに対する1つ以上の更新をまとめて呼ぶときの名称」である。 テーブル…

MySQL講座#11 データの更新(UPDATE文の使い方)

テーブルにINSERT文でデータを登録した後、登録済みのデータを変更したいと思うことがある。例えば、「超人の身長を間違えて登録してしまった」などである。そんなとき、データを削除して再登録するなどという面倒な方法をとる必要はない。UPDATE文によって…

MySQL講座#10 データの削除(DELETE文の使い方)

DROP TABLE文とDELETE文 データの登録方法が分かったら、次はデータの削除である。データの削除方法は、大きく分けて2つある。 ①DROP TABLE文によって、テーブルそのものを削除する ②DELETE文によって、テーブルは残したまま、テーブル内のすべての行を削除…

MySQL講座#09 データの登録(INSERT文の使い方)

INSERTとは CREATE TABLEで作成した箱の中に「データ」を詰めていくことで、はじめてデータベースは有用なものとなる。このデータを詰めるために使うSQLが、INSERT(挿入)である。 INSERTを学習するため、「cojin2」という名前のテーブルを作成する。テーブ…

MySQL講座#08 検索結果を並べ替える

ORDER BY句 簡単なSELECT文へ戻る。 [sql] SELECT id, name, height, weight, power FROM chojin WHERE category = '悪魔超人'; [/sql] 結果 [sql] +------+-----------------------------+--------+--------+-------+ | id | name | height | weight | powe…

MySQL講座#07 集約した結果に条件を指定する

HAVING句 GROUP BY句によって、元のテーブルをグループ分けして結果を得ることができるようになった。ここでは、さらにsのグループに対して条件を指定して選択する方法を考える。例えば、「集約した結果がちょうど7行になるようなグループ」を選択するには…

MySQL講座#06 テーブルをグループに切り分ける

GROUP BY句 今回はテーブルをいくつかのグループに切り分けて集約してみる。これはつまり、「categoryごと」や「attributeごと」に集約するということである。 このとき使用する新しい道具が、GROUP BY句である。。 例えば、categoryごとの行数(=超人数)を…

MySQL講座#05 テーブルを集約して検索する

集約関数 SQLでは「テーブル全体の行数を合計する」という計算を行うときは、COUNT関数を使用する。SQLには集計用の関数が多く用意されていますが、まずは次の5つを覚えておけば良い。 COUNT:テーブルのレコード数(行数)を数える SUM:テーブルの数値列の…

MySQL講座#04 論理演算子

NOT演算子 「~ではない」という否定の条件を指定するのに<>演算子を使うと説明したが、同じ否定でも、もう少し広く使える演算子としてNOTがある。 NOTは単独では使用しない。他の検索条件と組み合わせて使用する。例えば、「超人強度(power)が4000以上」…

MySQL講座#03 データベースの出力方法

3つの列を出力 id,name,powerの3つの列を出力 [sql] SELECT id, name, power FROM chojin; [/sql] 結果 [sql] +------+--------------------------------+-------+ | id | name | power | +------+--------------------------------+-------+ | 0001 | キ…

MySQL講座#02 データベースの作成からデータの投入

データベースの作成 [sql] CREATE DATABASE chojin; [/sql] データベースの選択 [sql] use chojin; [/sql] テーブルの作成 [sql] CREATE TABLE chojin (id CHAR(4) NOT NULL, name VARCHAR(100) NOT NULL, kana VARCHAR(100) NOT NULL, category VARCHAR(100…

MySQL講座#01 MySQLへのログイン方法

ログイン方法 [bash] mysql -u root -p [/bash] 以下のように表示されたらパスワードを入力する。 [bash] Enter password: [/bash]

【Python】Pythonでスクレイピングして日経平均を取得する方法

import requests from bs4 import BeautifulSoup target_url = "https://www.nikkei.com/markets/kabu/" r = requests.get(target_url) soup = BeautifulSoup(r.text, 'html.parser') td = soup.find_all("span") for tag in td: try: string_ = tag.get("cl…

【マインクラフト】マルチサーバーでワールドデータを戻す方法

マインクラフトのマルチサーバー(CentOS 7.1)で、ワールドデータを戻す方法。 サーバーを停止 マインクラフトでデータが格納されている場所へ移動。 [bash] [minecraft@localhost ~]$ cd /usr/local/minecraft [/bash] サーバーを停止しておく。 [bash] [m…

CentOS7.1 で SSH のポート番号を変更する方法

SSH へのブルートフォースアタックのログの確認 [bash] [root@localhost ~]# cat /var/log/secure | grep "Invalid user" Nov 5 04:00:12 localhost sshd[27467]: Invalid user admin from 103.207.37.115 Nov 5 04:00:16 localhost sshd[27469]: Invalid us…

WindowsのGitコマンドプロンプトでcdコマンドでディレクトリ間を移動する方法

Git

cd コマンドを実行して失敗する例 Windowsにて Git Bash を使用する際に、以下のようにコマンドを打って目的のディレクトリに移動しようとしても「No such file or directory」と言われる。 [bash] $ cd C:\Bitnami\wampstack-5.6.29-1\apache2\htdocs bash:…

PDO で MySQL 接続時のやり方

php で PDO を使用して MySQL に接続する方法。 DB への接続 [php] define("DSN", "mysql:host=localhost; dbname=[DB名]; charset=utf8"); define("USERNAME", "ユーザー名"); define("PASSWORD", "パスワード"); try { $dbh = new PDO(DSN, USERNAME, PA…

#12 データベース検索 -limit, offset-

今回は limit, offset を使用して必要なデータのみを抽出する方法を実装する。 limit - データ数を指定する 取り出すデータの数を指定する。引数を「10」にすれば10件のデータを取り出すことができる。 該当したデータが10件未満の場合は該当データ全件の抽…

#11 データベース検索 -select, order-

今回は検索を補足する機能として select, order を実装する。 select - 取り出すフィールドを指定 テーブルにあるフィールドから、必要な項目だけを指定する。 [sql] ->select([ field1, field2, field3,]) [/sql] order - 並び順を指定 検索結果を特定の順…

#10 データベース検索 -where-

今回からデータベースの検索を行っていく。 まず Controller から作成する。 「Heroes」コントローラーに「find」アクションを追記 「HeroesController」に、「find」アクションを追加する。 ■場所 \htdocs\chococake\src\Controller ■ファイル名 HeroesCont…

#09 データベース操作の基本 Delete:データの削除

前回、「Heroes」モデルの「データの更新」を行った。今回はデータの削除を行う。 Create:新規作成 Read:データの取得 Update:データの更新 Delete:データの削除 データの削除はデータの更新とほぼ同じ。 アクセス時に渡された id をもとにエンティティー…

#08 データベース操作の基本 Update:データの更新

前回、「Heroes」モデルの「データの取得」を行った。今回はデータの更新を行う。 Create:新規作成 Read:データの取得 Update:データの更新 Delete:データの削除 データの更新はデータの新規作成と似ているが、既にあるエンティティーを修正して保存すると…