ででりんブログ

写真やプログラミングを中心とした雑記帳

スポンサーリンク

【レジストリ】レジストリルートキーのまとめ

レジストリのルートキーについてまとめてみました。

f:id:dederin-photo:20210625214623j:plain

 

  • HKEY_CLASSES_ROOT

略称:HKCR

内容:アプリケーションの関連付けなど、ファイルに関連する設定

 

  • HKEY_CURRENT_USER

略称:HKCU

内容:カレントユーザ(現在ログインしているユーザ)に関係する値を設定

補足:設定値はカレントユーザ以外に影響しない

 

  • HKEY_LOCAL_MACHINE

略称:HKLM

内容:マシンに接続されているデバイス(ハードウェアの構成やドライバ情報など)に関係する値を設定

補足:設定値は全てのユーザに影響する

 

  • HKEY_USERS

略称:HKU

内容:ユーザ別の値を設定

補足:新規にユーザを作成した場合、.Defaultの内容を複製

 

  • HKEY_CURRENT_CONFIG

略称:HKCC

内容:現在利用しているハードウェアに関係する値を参照

補足:「HKEY_LOCAL_MACHINE¥System¥Current」を参照している

【レジストリ】コマンドでレジストリの値を取得・設定する方法

コマンドプロンプトWindowsレジストリの値を取得したり設定したりする方法です。

レジストリWindowsの重要な設定も含まれるため、変更する際は注意してください

 

  1. 「regedit」を実行する

    f:id:dederin-photo:20210625205542j:plain

  2. 確認したいレジストリの項目に移動する

    f:id:dederin-photo:20210625205635j:plain

 

試しに.NETFrameworkのレジストリを取得してみます。

 

「reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework"」とすると赤枠部分のリストが取得できます。

f:id:dederin-photo:20210625211508j:plain

f:id:dederin-photo:20210625211452j:plain

 

「reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework" /v "InstallRoot"」とすると赤枠部分のリストが取得できます。

f:id:dederin-photo:20210625211646j:plain

f:id:dederin-photo:20210625211800j:plain

 

※おまけ

バッチ処理で取得したレジストリ値を変数に格納するには

「FOR /F "TOKENS=1,2,*" %%I IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework" /v "InstallRoot"') DO IF "%%I"=="InstallRoot" SET AAA=%%K」

で変数AAAにレジストリ値を設定できます。

 

「reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework" /v "Test" /t REG_SZ /d "AAA" /f」とすると項目Testを追加して値AAAを設定できます。

コマンドプロンプトで実行する場合、管理者権限で実行する必要があります。

f:id:dederin-photo:20210625213409j:plain

【PostgreSQL】ビュー作成方法

今回はPostgreSQLを使ったビューの作成方法です。

まず準備としてテーブルを2つ作ってみます。
pgAdminを起動してデータベース→スキーマ→テーブルへ行き、右クリックでCreate Tableを選択します。
テーブルの作成方法に躓いたら下記を参考にしてください。
【PostgreSQL】テーブル作成方法(pgAdmin編) - ででりんブログ

f:id:dederin-photo:20210602094900j:plain
テーブルAの構成
f:id:dederin-photo:20210602094909j:plain
テーブルBの構成

ではさっそくビューを作ってみます。
ビューとは説明するとテーブル(複数可)についてSQLで問い合わせた結果をテーブルのようなオブジェクトで残しておくことができるものです。
簡単に言うと複数のテーブルを結合して見たい形になったものをビューとして残せるということです。

何が嬉しいかというと
・複数のテーブルから情報を取るときに毎回結合しなくてもビューにアクセスすれば情報取得可能
・データベースへの問い合わせが少なくなるのでレスポンスがよくなる
・人間が見やすくできる
etc...

TableAとTableBを結合したビューを作るSQLのサンプルです。

〜
CREATE OR REPLACE VIEW TestView1 AS
	SELECT
		a.id,
		a."AAA",
		a."BBB",
		b."CCC",
		b."DDD"
	FROM "TableA" a
		inner join "TableB" b
		on a.id = b.id;
〜

ポイント①:
テーブルの名前やカラムの名前に大文字がある場合、ダブルクォーテーション(")で囲まないとTableAがtableaと認識されてしまいます。

ポイント②:
CREATE OR REPLACE VIEWとすると同名のビューがあった場合に置き換えするように指定できます。

【PostgreSQL】スキーマ作成方法(コマンドライン編)

今回はスキーマ作成をコマンドラインでやってみました。

 

まずコマンドラインPostgreSQLにログインします。

psql -U (ユーザ名) -d (データベース名)」と入力します。

f:id:dederin-photo:20210427111429j:plain

スキーマ作成

スキーマを作成するには「CREATE SCHEMA "TestSchema";」と実行します。

 

【PostgreSQL】スキーマ作成方法(pgAdmin編)

今回はpgAdminでスキーマを作成する方法です。

 

左のツリーからServers→PostgreSQL 13→Databases→(任意のデータベース)→Schemasに行き、右クリックからCreate→Schemaを実行します。

f:id:dederin-photo:20210427111047j:plain

スキーマ作成1

作成したいスキーマの名前を入力してSaveします。

f:id:dederin-photo:20210427111100j:plain

スキーマ作成2

【PostgreSQL】色々なSQL文のまとめ

PostgreSQLについて使ってみたSQL文のまとめ

dederin.hatenablog.jp 

 

  • データベース
    CREATE DATABASE TestDatabase;
  • テーブル
    CREATE TABLE public."TestTable"();
  • 行挿入
    INSERT INTO "TestTable" ("AAA") VALUES (123);

【PostgreSQL】データベースのスキーマとは

データベースにおけるスキーマについてです。

Windowsでは同じフォルダの中に同じ名前のファイルを管理することができません。

同じようにPostgreSQLのデータベースも同じスキーマ内では同じ名前のテーブルを用意できないのです。

f:id:dederin-photo:20210427105838j:plain

スキーマ1

データベース内にスキーマを作り、スキーマ毎にテーブルを用意すれば同じ名前のテーブルを作成することができます。

f:id:dederin-photo:20210427110020j:plain

スキーマ2

 

参考:DBのスキーマとは何か?DBごとの違い - Qiita

スポンサーリンク