投稿

ラベル(MariaDB)が付いた投稿を表示しています

ブログの説明

学校に通わないで学んだことを記しています。間違っているところが何かありましたらご指摘下さると幸いです。コメントに対する返信が遅れる可能性があります。その場合は申し訳ございません。

このブログでは広告を表示しています。このブログ内の投稿記事を検索するには右上の拡大鏡のアイコンを、アーカイブやラベル付けから投稿記事を閲覧するには左上の三重線のアイコンをクリックして下さい。

数式の表示にはMathJaxを利用させていただいています。数式の表示のためにJavaScriptが有効である必要があります。そうでない場合、訳の分からないLaTeXのコードが表示されます。幾何学図形やチャートの表示にはHTML5 CanvasやGoogle Chartを使用しています。その表示のためにもJavaScriptが有効である必要があります。

MariaDBかMySQLでSELECTステートメント色々 - その1

この記事で使用しているソフトウェア環境は、OSとしてDebian GNU/Linux 10を使用し、その公式リポジトリからMariaDBというデータベースをインストールしてある。 $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 10 (buster)" ... $ mariadb --version mariadb Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 しかし、記事内容のほとんどはSQLに関するものであり、オペレーティング・システムの環境には依存しないはず。 データを選び出すSELECT構文 SELECT構文はその名のとおり、1つまたは2つ以上のデータベース・テーブルからデータを選択して取得するために用いることができる。FROM句ではその対象とするテーブル名を1つまたは2つ以上指定することができる。 SELECT構文のもっとも単純な形式は次のようになる。 SELECT レコード名1,レコード名2,... FROM テーブル名1,テーブル名2,...; SELECT構文はSQLなので構文の終わりに文末を示す;(セミコロン)が必要。 多くの場合、テーブル全体を選択するためにレコード名の代わりに*(アスタリスク)が用いられている。 SELECT * FROM テーブル名; レコードを絞り込んで選ぶにはWHERE句に条件式を指定する。 SELECT レコード名1,レコード名2,... FROM テーブル名1,テーブル名2,... WHERE 条件式; 等価演算子 もっとも単純な条件式は「レコード名 = 値」のようなものになる。*(アスタリスク)は全てを意味する。SELECT *は全ての列(レコード)。 SELECT * FROM テーブル名 WHERE レコード名 = 値; =(イコール)は等価演算子と呼ばれている。値が数値型以外では'(一重引用符)で挟む必要がある。 MariaDB [mydatabase]> SELECT * FROM persons; +----+-----------+-----------+-----...

e-Statの統計データをデータベース(MariaDB)に取り込む

データセットをダウンロード 政府統計のポータルサイト e-Stat からCSV形式のデータをダウンロードし、それをMaridDBに取り込んで利用してみることにした。 e-Stat にアクセスし、総合案内メニューの「統計データを探す」-「データベース」-「分野から探す」-[人口・世帯」を選んだ。 「政府統計一覧」の中から「人口推計」を選んだ。 「人口推計」の一覧から例えば最新のものを選んだ。この時点では「2019年10月1日現在人口推計」だった。 「データセット一覧」の中から「都道府県別人口の割合-総人口」の「DB」を選んだ。 「ダウンロード」を押した。 「ダウンロード設定」の「ファイル形式」において「CSV形式(列指向形式)」にチェックを入れた。そして「ダウンロード」を押して更に「ダウンロード」を押し、CSVファイルをローカルディスク上にJapans_population_by_preference_and_gender.csvという名前で保存した。 ダウンロードしたCSVファイルの中身 e-Stat からダウンロードしたCSVファイルの文字コードはShift-JIS(正式名称はMicrosoft Windows Codepage:932、略してCP932)だった。Leafpadでは問題なく表示できた。Mausepadでは開く際に文字コードの選択を求められたのでShift-JISを選んでOKボタンを押して開いた。 ダウンロードしたCSVファイルの内容は次のようになっていた。最初の3行のみを引用。 "tab_code","表章項目","cat01_code","男女別","cat02_code","人口","area_code","全国・都道府県","time_code","時間軸(年)","unit","value" "001","人口","000","男女計","001","総人口",...

MariaDBかMySQLでmysqlシェルを用いてテーブル作成

mysqlシェルを起動 mysqlシェルを起動。-uはユーザーを指定する。そのユーザーにパスワードを設定してある場合は-pを指定する必要がある。 $ mysql -u testuser -p Enter password: (中略) MariaDB [(none)]> データベースを新規作成する。SQLなので構文の終わりに;(セミコロン)を忘れずに。 MariaDB [(none)]> CREATE DATABASE mydatabase; Query OK, 1 row affected (0.000 sec) SQLは大文字である必要はない。 データベースの一覧を表示 存在するデータベースの一覧を表示する。 MariaDB [(none)]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mydatabase | | mysql | | performance_schema | +--------------------+ 5 rows in set (0.000 sec) データベースを削除するには DROP データベース名; と入力する。 アクセス対象にするデータベースを選択 USE構文を用いて特定のデータベースを使用することをシェルに伝える。 MariaDB [(none)]> USE mydatabase; Database changed MariaDB [mydatabase]> [(none)]が[指定したデータベース名]に変わる。 列(カラム)を定義してテーブルを作成 CREATE TABLE構文を用い、データを記録する形式となるテーブルを作成する。 MariaDB [mydatabase]> CREATE TABLE persons ( -> id INT UNSIGNED NOT NULL AUTO_INCREMENT, -> p_name VARCHAR(20) NOT NULL, -> f_name VARCHAR(2...

Debian GNU/Linux 10でMariaDBとLibreOffice Baseを接続

イメージ
この記事では、Debian GNU/Linux 10のユーザーがデータベースソフトウェアであるMariaDBと同じくデータベースソフトウェアであるLibreOffice BaseとをJDBCドライバを介して接続し、LibreOffice BaseをMariaDBサーバーのクライアントとして利用するまでの準備を記す。 前提となるオペレーティングシステムとソフトウェアのバージョンは下のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster $ mariadb --version mariadb Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 $ libreoffice --version LibreOffice 6.1.5.2 10(Build:2) MariaDB Connector/Jをインストール ODBCまたはJDBCを介して両者を接続する必要があるので、ここではJDBC互換のドライバであるMariaDB Connector/Jをインストールする。 Debian 10の公式リポジトリからAPTを用いてlibmariadb-javaというdebパッケージをインストールする。この処理にはオペレーティングシステムの管理者権限が必要。 $ su # apt update; apt install libmariadb-java MariaDBサーバーが作動中かどうか MariaDBサービスが稼働していることを確認する。 # systemctl is-active mysql active MariaDBサービスが稼働していなければ開始する。 # systemctl start mysql LibreOffice Baseを起動する。 LibreOffice BaseをMariaDBと接続する 特定のデータベースを引数に指定せずにLibreOffice Baseを起動すると、LibreOffic...

MariaDBをDebian GNU/Linux 10にインストールして使うまでの準備

この記事では、Debian GNU/Linux 10にデータベースサーバーであるMariaDB(MySQLの派生)をインストールし、ユーザーの作成やパスワードの設定を行なう手順について記す。ここで前提とするオペレーティングシステムは次のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster MariaDBをインストール debパッケージになったものがDebian GNU/Linux 10の公式リポジトリにある。例えばコマインドライン上でAPTを用いてそれをインストールするには次のようにする。その際にはオペレーティングシステムの管理者権限が必要。 $ su # apt update;apt install mariadb-server MariaDBサーバーのみならず、依存関係でMariaDBクライアントも一緒にインストールされるはず。インストールされなければmariadb-clientもインストールする。 # apt update;apt install mariadb-client バージョンの確認 mariadbかmysqlの後に--versionというオプションを付ける。 $ mariadb --version mariadb Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 サービス(デーモン)の管理 LinuxディストリビューションではMariaDBサーバーはmysqlサービス(/usr/sbin/mysqld)として実行される。サービスはデーモンとも呼ばれている。 mysqlサービスが稼働中かどうかを知るにはsystemctlコマンドの後にis-activeを指定し、その後にmysqlかmariadbを指定。 # systemctl is-active mysql inavtive 稼働中の場合にはactiveと表示され、稼働中でない場合にはinactiveと表示される。なんらか...