PostgreSQLはオープンソースのオブジェクトリレーショナルデータベースシステムであり、業界で30年以上の活発な開発が行われています。初心者向けのPostgreSQLチュートリアルに関するこの記事では、データベースのさまざまな概念とPostgreSQLで使用されるコマンドを紹介します。
この記事で取り上げるトピックは、主にDDL、DML、DCL、TCLの4つのカテゴリに分類されます。
- ザ・ DDL (データ定義言語)コマンドは、データベースを定義するために使用されます。例:CREATE、DROP、ALTER、TRUNCATE、COMMENT、RENAME。
- ザ・ DML (データ操作言語)コマンドは、データベースに存在するデータの操作を処理します。例:SELECT、INSERT、UPDATE、DELETE。
- ザ・ DCL (データ制御言語)コマンドは、データベースシステムのアクセス許可、権限、およびその他の制御を処理します。例:GRANT、INVOKE。
- ザ・ TCL (トランザクション制御言語)コマンドは、データベースのトランザクションを処理します。例:BEGIN、COMMIT、ROLLBACK。
この記事では、コマンドとは別に、次のトピックについて説明します。
- PostgreSQLとは何ですか?
- WindowsにPostgreSQLをインストールする
- データベース内のさまざまなタイプのキー
- データベースで使用される制約
- 演算子
- 集計関数
- セット操作
- ネストされたクエリ
- 参加する
- ビュー
- ストアドプロシージャ
- トリガー
- UUIDデータ型
PostgreSQLとは何ですか? – PostgreSQLチュートリアル
PostgreSQLは、SQL言語を拡張して使用するオブジェクトリレーショナルデータベースシステムです。 1986年に始まり、30年以上にわたって活発に開発されてきました。
PostgreSQLの機能は次のとおりです。
- データ型: PostgreSQLは、プリミティブ、構造化、ドキュメント、ジオメトリ、カスタマイズなど、さまざまなタイプのデータ型をサポートしています。これは、ユーザーが任意の形式でデータを保存するのに役立ちます。
- データの整合性: データベース内のさまざまな制約とキーの助けを借りて、PostgreSQLは単純なデータベースから複雑なデータベースまでデータの整合性が満たされていることを確認します。
- パフォーマンス: PostgreSQLは、インデックス作成、マルチバージョン同時実行制御、式のJIT複雑化などの機能を提供して、同時実行性とパフォーマンスがマークに維持されるようにします。
- 信頼性: ログ先行書き込み(WAL)とレプリケーションの助けを借りて、PostgreSQLは一定期間にわたって最も信頼性の高いデータベースシステムの1つであることが証明されています。
- セキュリティ: PostgreSQLは、次のような強力なメカニズムを提供します。uthentication、rアクセス制御システムを遵守するto許可されたユーザーのみがデータベースにアクセスできるようにします。
- 拡張性: PostgreSQLにはさまざまな拡張機能が付属しています追加の機能を提供します。また、格納された関数、手続き型言語、および外部データラッパーを使用して拡張機能を拡張しました。
PostgreSQLとは何かがわかったところで、WindowsにPostgreSQLをインストールすることから始めましょう。
WindowsへのPostgreSQLのインストール–PostgreSQLチュートリアル
WindowsにPostgreSQLをインストールするには、以下の手順に従う必要があります。
ステップ1: に移動します PostgreSQLの公式ウェブサイト 次に、ダウンロードするオペレーティングシステムを選択します。ここではWindowsを選択します。
ステップ2: オペレーティングシステムを選択すると、インストーラーをダウンロードする必要があるページにリダイレクトされます。これを行うには、オプションをクリックします。 インストーラーをダウンロードします。 以下を参照してください。
ステップ3: 次に、ページにさらにリダイレクトされます。 オペレーティングシステムに基づいてインストーラーのバージョンを選択します 。ここでは、Windows64ビット用に11.4バージョンを選択します。以下を参照してください。
一度、あなたは ダウンロードをヒット 、PostgreSQLがダウンロードされていることが自動的にわかります。
ステップ4: これで、ファイルがダウンロードされたら、ファイルをダブルクリックして開き、次のようなウィザードが画面に表示されます。クリック 次 さらに進みます。
ステップ4.1: さて、 インストールディレクトリを指定します 。ここでは、そのままにしてクリックします 次 以下のように。
ステップ4.2: さて、 インストールするコンポーネントを選択します 次にをクリックします 次 。ここでは、すべてのコンポーネントを選択しています。
ステップ4.3: 次、 データを保存するディレクトリを選択します 。ここではそのままにしておきます。次に、をクリックします 次。
ステップ4.4: 表示される次のダイアログボックスでは、次のことを行う必要があります。 スーパーユーザーのパスワードを記載します。 次に、をクリックします 次。
ステップ4.5: 次に、あなたはしなければなりません ポート番号を選択します どのサーバーでリッスンする必要があります。ここでは、そのままにしてクリックします 次。
ステップ4.6: 最終的に、 ロケールを選択します 新しいデータベースクラスターで使用されます。そのままにしてクリックします 次 。
ステップ4.7: 最後にをクリックします 次 コンピュータへのPostgreSQLのインストールを開始するために来るウィザードで。
インストールが完了すると、画面に以下のようなダイアログボックスが表示されます。クリック 終了します。
ステップ5: 今、あなたはしなければなりません サーバーをデータベースに接続します 。これを行うには、pgadminを開きます。 PostgreSQLの公式GUI 。 pgadminを開くと、パスワードの入力を求めるダイアログボックスが表示されます。だから、パスワードを言って、をクリックしてください OK。
PostgreSQLをインストールしている必要があるので、PostgreSQLで使用されるコマンドから始めましょう。
初心者向けPostgreSQLチュートリアルに関するこの記事では、コマンドの記述方法を示すために、以下のデータベースを例として検討します。
TeacherID | 先生の名前 | 住所 | 市 | 郵便番号 | 国 | 給料 |
01 | Saurav | 江南通り | ソウル | 06499 | 韓国 | 42000 |
02 | Preeti | クイーンズキー | 澄んだ川 | 560001 | ブラジル | 45900 |
03 | ヴィノド | キングスロード | ロンドン | SW6 | イギリス | 65000 |
04 | アカンクシャ | メイヨーロード | コルカタ | 700069 | インド | 23000 |
05 | アミット | MGロード | バンガロール | 560001 | インド | 30,000 |
それでは、今すぐ始めましょう!
データ定義(DDL)コマンド– PostgreSQLチュートリアル
記事のこのセクションは、データベースを定義できるコマンドで構成されています。コマンドは次のとおりです。
CREATE
このステートメントは、スキーマ、テーブル、またはインデックスを作成するために使用されます。
「CREATESCHEMA」ステートメント
CREATE SCHEMAステートメントは、データベースまたは最も一般的にはスキーマとして知られているものを作成するために使用されます。
構文:
CREATE SCHEMA Schema_Name
例:
CREATESCHEMAの教師
「CREATETABLE」ステートメント
CREATE TABLEステートメントは、データベースに新しいテーブルを作成するために使用されます。
構文:
CREATE TABLE table_name(column1データ型、column2データ型、column3データ型、...。)
例:
CREATE TABLE TeachersInfo(TeacherID int、TeacherName varchar(255)、Address varchar(255)、City varchar(255)、PostalCode int、Country varchar(255)、Salary int)
年齢
このステートメントは、制約または列を追加、変更、または削除するために使用されます。
「ALTERTABLE」ステートメント
ALTER TABLEステートメントは、テーブルから制約と列を追加、変更、または削除するために使用されます。
構文:
ALTER TABLE table_name ADDcolumn_nameデータ型
例:
ALTER TABLE TeachersInfo ADD DateOfBirth date
落とす
このコマンドは、データベース、テーブル、または列を削除するために使用されます。
「DROPSCHEMA」ステートメント
DROP SCHEMAステートメントは、完全なスキーマを削除するために使用されます。
構文:
DROP SCHEMA schema_name
例:
DROPSCHEMAの教師
「DROPTABLE」ステートメント
DROP TABLEステートメントは、テーブル全体とそのすべての値を削除するために使用されます。
構文:
DROP TABLE table_name
例:
DROP TABLE TeachersInfo
切り捨てる
TRUNCATEステートメントは、テーブル内に存在するデータを削除するために使用されますが、テーブルは削除されません。
構文:
TRUNCATE TABLE table_name
例:
TRUNCATE TABLE TeachersInfo
名前を変更
RENAMEステートメントは、1つ以上のテーブルまたは列の名前を変更するために使用されます。
数を逆にする方法
構文:
ALTER TABLE table_name RENAME TOnew_table_name--テーブル名の名前を変更します
ALTER TABLE table_name RENAME COLUMN column_name TOnew_column_name-列名の名前を変更します
例:
ALTER TABLE TeachersInfo RENAME TO InfoTeachers ALTER TABLE InfoTeachers RENAME COLUMN dateofbirth TO dob
さて、この記事の初心者向けPostgreSQLチュートリアルに進む前に、データベースを操作する際に言及する必要のあるさまざまなタイプのキーと制約について説明します。キーと制約は、各テーブルを他のテーブルと関連付けることができるため、はるかに優れた方法でテーブルを作成するのに役立ちます。
データベース内のさまざまなタイプのキー– PostgreSQLチュートリアル
キーには主に5種類あり、データベースに記載されています。
- 候補キー– 候補キーは、タプルを一意に識別できる最小限の属性セットの組み合わせです。どのリレーションにも複数の候補キーを含めることができ、キーは単純キーまたは複合キーです。
- スーパーキー– スーパーキーがセットになっていますタプルを一意に識別できる属性の数。したがって、候補キーはスーパーキーですが、その逆は当てはまりません。
- 主キー– 主キーは、すべてのタプルを一意に識別するために使用できる属性のセットです。したがって、関係に3〜4個の候補キーが存在する場合、それらのうち1つを主キーとして選択できます。
- 代替キー– 主キー以外のすべての候補キーは、代替キーと呼ばれます 。
- 外部キー - 他の属性の値として存在する値のみを取得できる属性は、それが参照する属性への外部キーです。
データベースで使用される制約– PostgreSQLチュートリアル
データベースで使用できる制約は次のとおりです。
- NULLではありません – NOT NULL制約により、NULL値を列に格納できないことが保証されます
- ユニーク – UNIQUE制約は、列のすべての値が異なることを確認します
- 小切手 -CHECK制約は、列のすべての値が特定の条件を満たすことを保証します。
- デフォルト -DEFAULT制約は、値が指定されていない場合の列のデフォルト値のセットで構成されます。
- インデックス – INDEX制約は、データベースからデータを非常に迅速に作成および取得するために使用されます
DDLのコマンドとさまざまなタイプのキーと制約について理解したところで、次のセクション、つまりデータ操作コマンドに進みましょう。
データ操作(DML)コマンド– PostgreSQLチュートリアル
記事のこのセクションは、データベースを操作するためのコマンドで構成されています。コマンドは次のとおりです。
これらのコマンドとは別に、次のような他の操作演算子/関数もあります。
SET SEARCH_PATH
このステートメントは、すべての操作を実行するためにどのスキーマを使用する必要があるかを示すために使用されます。
構文:
search_pathをschema_nameに設定します
例:
search_pathを教師に設定する
インサート
INSERTステートメントは、テーブルに新しいレコードを挿入するために使用されます。
構文:
INSERT INTOステートメントは、次の2つの方法で記述できます。
INSERT INTO table_name(column1、column2、column3、...)VALUES(value1、value2、value3、...)-列名を指定する必要はありませんINSERT INTO table_name VALUES(value1、value2、value3、...)
例:
INSERT INTO TeachersInfo(TeacherID、TeacherName、Address、City、PostalCode、Country、Salary)VALUES( '01'、 'Saurav'、 'Gangnam Street'、 'Seoul'、 '06499'、 'South Korea'、 '42000') TeachersInfo VALUES( '02'、 'Preeti'、 'Queens Quay'、 'Rio Claro'、 '13500'、 'Brazil'、 '45900')に挿入
更新
UPDATEステートメントは、テーブル内の既存のレコードを変更するために使用されます。
構文:
UPDATE table_name SET column1 = value1、column2 = value2、... WHERE条件
例:
UPDATE TeachersInfo SET TeacherName = 'Alfred'、City = 'Frankfurt' WHERE TeacherID = '01'
削除
DELETEステートメントは、テーブル内の既存のレコードを削除するために使用されます。
構文:
DELETE FROM table_nameWHERE条件
例:
TeachersInfoから削除WHERETeacherName = 'Vinod'
選択する
SELECTステートメントは、データベースからデータを選択するために使用され、返されたデータは、と呼ばれる結果テーブルに格納されます。 結果セット 。
このステートメントを使用する2つの方法は次のとおりです。
構文:
SELECT column1、column2、.。 。 FROM table_name-(*)は、テーブルからすべてを選択するために使用されますSELECT * FROM table_name
例:
SELECT Teachername、City FROM TeachersInfo SELECT * FROM TeachersInfo
個々のSELECTキーワードとは別に、次のステートメントでSELECTキーワードを使用できます。
「SELECTDISTINCT」ステートメント
SELECT DISTINCTステートメントは、異なる値または異なる値のみを返すために使用されます。したがって、重複する値を持つテーブルがある場合は、このステートメントを使用して個別の値を一覧表示できます。
構文:
SELECT DISTINCT column1、column2、... FROM table_name
例:
TeachersInfoから国を選択
「ORDERBY」ステートメント
ORDER BYステートメントは、目的の結果を昇順または降順でソートするために使用されます。デフォルトでは、結果は昇順で並べ替えられます。レコードを降順で並べ替える場合は、を使用する必要があります DESC キーワード。
構文:
SELECT column1、column2、... FROM table_name ORDER BY column1、column2、... ASC | DESC
例:
SELECT * FROM TeachersInfo ORDER BY Country SELECT * FROM TeachersInfo ORDER BY Country DESC SELECT * FROM TeachersInfo ORDER BY Country、TeachersName SELECT * FROM TeachersInfo ORDER BY Country ASC、TeachersName DESC
「GROUPBY」ステートメント
このステートメントは、結果セットを1つ以上の列でグループ化するために集計関数とともに使用されます。
構文:
SELECT column_name(s)FROM table_name WHERE condition GROUP BY column_name(s)ORDER BY column_name(s)
例:
SELECT COUNT(TeacherID)、Country FROM TeachersInfo GROUP BY Country ORDER BY COUNT(TeacherID)DESC
「HAVING」条項ステートメント
以来 どこ キーワードは集計関数では使用できません。HAVING句が導入されました。
構文:
SELECT column_name(s)FROM table_name WHERE condition GROUP BY column_name(s)HAVING condition ORDER BY column_name(s)
例:
SELECT COUNT(TeacherID)、Country FROM TeachersInfo GROUP BY Country HAVING COUNT(Salary)&ampampampampgt 40000
算術演算子、ビット演算子、複合演算子、および比較演算子– PostgreSQLチュートリアル
算術演算子、ビット演算子、複合演算子、および比較演算子は次のとおりです。
論理演算子
この演算子のセットは、次のような論理演算子で構成されます。 そして / または / ない 。
およびオペレーター
この演算子は、ANDで区切られたすべての条件を満たすレコードを表示します。
構文:
SELECT column1、column2、..。 FROM table_name WHERE条件1AND条件2AND条件3..。
例:
SELECT * FROM TeachersInfo WHERE Country = 'India' AND City = 'South Korea'
またはオペレーター
この演算子は、ORで区切られた条件のいずれかを満たすレコードを表示します。
構文:
SELECT column1、 column2、..。 FROM table_name WHERE条件1または条件2または条件3..。
例:
SELECT * FROM TeachersInfo WHERE Country = 'India' OR City = 'South Korea'
オペレーターではありません
NOT演算子は、条件がTRUEでない場合にレコードを表示します。
構文:
SELECT column1、 column2、..。 FROM table_name 条件なし
例:
SELECT * FROM TeachersInfo WHERE NOT Country = 'India'-上記の3つの演算子をすべて組み合わせて、次のようなクエリを作成することもできます。SELECT* FROM TeachersInfo WHERE NOT Country =' India 'AND(City =' Bengaluru 'OR City = 「コルカタ」)
集計関数– PostgreSQLチュートリアル
記事の次のセクションには、次のような機能が含まれます。
MIN()関数
MIN関数は、テーブル内の選択された列の最小値を返します。
構文:
SELECT MIN(column_name) FROM table_name WHERE条件
例:
MIN(Salary)をTeachersInfoから最小の給与として選択します
MAX()関数
MAX関数は、テーブル内の選択された列の最大値を返します。
構文:
SELECT MAX(column_name) FROM table_name WHERE条件
例:
SELECT MAX(Salary)AS LargestSalary FROM TeachersInfo
COUNT()関数
COUNT関数は、指定された基準に一致する行数を返します。
構文:
SELECT COUNT(column_name) FROM table_name WHERE条件
例:
TeachersInfoからCOUNT(TeacherID)を選択します
AVG()関数
AVG関数は、選択した数値列の平均値を返します。
構文:
SELECT AVG(column_name) FROM table_name WHERE条件
例:
TeachersInfoからAVG(給与)を選択
SUM()関数
SUM関数は、選択した数値列の合計を返します。
構文:
SELECT SUM(column_name) FROM table_name WHERE条件
例:
TeachersInfoからSUM(Salary)を選択します
特別なオペレーター– PostgreSQLチュートリアル
記事のこのセクションには、次の演算子が含まれます。
オペレーター間
BETWEEN演算子は、指定された範囲内の値(数値、テキスト、または日付)を選択する包括的演算子です。
構文:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
例:
SELECT * FROM TeachersInfoWHERE料金30000と45000の間
ISNULL演算子
比較演算子(=、)を使用してNULL値をテストすることはできないため、代わりにISNULLおよびISNOTNULL演算子を使用できます。
構文:
--ISNULLの構文 SELECT column_names FROM table_name WHERE column_name IS NULL --IS NOTNULLの構文 SELECT column_names FROM table_name WHEREcolumn_nameはNULLではありません
例:
SELECT TeacherName FROM TeachersInfoWHEREアドレスがNULLですSELECTTeacherName FROM TeachersInfoWHEREアドレスがNULLではありません
LIKE演算子
LIKE演算子は、WHERE句で使用され、テーブルの列で指定されたパターンを検索します。
以下に説明するのは、LIKE演算子と組み合わせて使用される2つのワイルドカードです。
%–パーセント記号は、0文字、1文字、または複数文字を表します
_ –アンダースコアは単一の文字を表します
構文:
SELECT column1、column2、..。 FROM table_name WHERE列のLIKEパターン
例:
SELECT * FROM TeachersInfo WHERE TeacherName LIKE'S% '
IN演算子
IN演算子は省略演算子であり、複数のOR条件に使用されます。
構文:
SELECT column_name(s) FROM table_name WHERE column_name IN(value1、value2、...)
例:
SELECT * FROM TeachersInfo WHERE Country IN( '韓国'、 'インド'、 'ブラジル')
注意: ネストされたクエリの作成中にINを使用することもできます。
EXISTS演算子
EXISTS演算子は、レコードが存在するかどうかをテストするために使用されます。
構文:
SELECT column_name(s) FROM table_name 存在する場所 (SELECT column_name FROM table_name WHERE condition)
例:
SELECT TeacherName FROM TeachersInfo WHERE EXISTS(SELECT * FROM TeachersInfo WHERE TeacherID = 05 AND Salary&ampampampampgt 25000)
ALL演算子
ALL演算子は、WHERE句またはHAVING句とともに使用され、すべてのサブクエリ値が条件を満たす場合にtrueを返します。
構文:
SELECT column_name(s) FROM table_name WHEREcolumn_name演算子ALL (SELECT column_name FROM table_name WHERE condition)
例:
SELECT TeacherName FROM TeachersInfo WHERE TeacherID = ALL(SELECT TeacherID FROM TeachersInfo WHERE Salary&ampampampampgt 25000)
任意の演算子
ALL演算子と同様に、ANY演算子もWHERE句またはHAVING句とともに使用され、サブクエリ値のいずれかが条件を満たす場合にtrueを返します。
構文:
SELECT column_name(s) FROM table_name WHEREcolumn_name演算子ANY (SELECT column_name FROM table_name WHERE condition)
例:
SELECT TeacherName FROM TeachersInfo WHERE TeacherID = ANY(SELECT TeacherID FROM TeachersInfo WHERE Salary BETWEEN 32000 AND 45000)
セット操作– PostgreSQLチュートリアル
主に3つのセット操作があります。 連合 、 交差する 、 マイナス 。以下の画像を参照して、SQLの集合演算を理解できます。以下の画像を参照してください。
連合
UNION演算子は、2つ以上のSELECTステートメントの結果セットを組み合わせるために使用されます。
構文
SELECT column_name(s)FROM table1 UNION SELECT column_name(s)FROM table2
交差する
INTERSECT句は、2つを組み合わせるために使用されます選択するステートメントを実行し、両方のSELECTステートメントのデータセットの共通部分を返します。
構文
SELECT Column1、Column2 .... FROM table_name WHERE condition INTERSECT SELECT Column1、Column2 .... FROM table_name WHERE condition ..
を除いて
EXCEPT演算子は、最初のSELECT操作で返され、2番目のSELECT操作では返されないタプルを返します。
構文
SELECT column_name FROM table_name EXCEPT SELECT column_name FROM table_name
制限、オフセット、フェッチ– PostgreSQLチュートリアル
制限
LIMITステートメントは次の目的で使用されますテーブルに存在する完全な行から行の一部を取得します。
構文:
SELECT column_name
FROM table_nameLIMIT番号
例:
SELECT * FROM TeachersInfo LIMIT 5
オフセット
OFFSETステートメントは、言及した行数を省略してから、行の残りの部分をトリエーブします。
構文:
SELECT column_name
FROMtable_nameオフセット番号制限番号
例:
-5番目の行の後にTeachersInfoから3行を選択しますSELECT * FROM TeachersInfo OFFSET 5 LIMIT 3 --- TeachersInfoからすべての行を選択しますSELECT * FROM TeachersInfo OFFSET 2
フェッチ
FETCHキーワードは、テーブルからレコードをフェッチするために使用されますカーソルを使用します。ここでのカーソルは次のようになります。
- 次
- PRIOR
- 最初
- 最終
- 相対カウント
- 絶対カウント
- カウント
- すべて
- 後方
- 後方カウント
- すべて戻る
- フォワード
- フォワードカウント
- すべて転送
構文:
FETCHカーソル名
例:
SELECT * FROM TeachersInfo OFFSET 5 FETCH FIRST 5 ROWS ONLY
ネストされたクエリ– PostgreSQLチュートリアル
ネストされたクエリ 外側のクエリと内側のサブクエリを持つクエリです。したがって、基本的に、サブクエリは、SELECT、INSERT、UPDATE、DELETEなどの別のクエリ内にネストされたクエリです。以下の画像を参照してください。
したがって、このクエリを実行すると、ブラジル出身の教師の名前が表示されます。
参加– PostgreSQLチュートリアル
PostgreSQLのJOINSは、2つ以上のテーブル間の関連する列に基づいて、それらのテーブルの行を結合するために使用されます。結合のタイプは次のとおりです。
- 内部結合: INNER JOINは、両方のテーブルで値が一致するレコードを返します。
- 左結合: LEFT JOINは、左側のテーブルのレコードと、右側のテーブルの条件を満たすレコードを返します。
- 右結合: RIGHT JOINは、右側のテーブルからレコードを返し、左側のテーブルから条件を満たすレコードも返します。
- 完全結合: FULL JOINは、左側または右側のテーブルに一致するすべてのレコードを返します。
結合の構文を理解するために、TeachersInfoテーブルとは別に以下のテーブルを検討してみましょう。
SubjectID | TeacherID | SubjectName |
1 | 10 | 数学 |
2 | 十一 | 物理 |
3 | 12 | 化学 |
内部結合
構文:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name
例:
SELECTSubjects.SubjectID、TeachersInfo.TeacherNameFROMサブジェクト内部結合TeachersInfoONSubjects.TeacherID = TeachersInfo.TeacherID
左結合
構文:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name
例:
SELECT TeachersInfo.TeacherName、Subjects.SubjectID FROM TeachersInfo LEFT JOIN Subject ON TeachersInfo.TeacherID = Subject.TeacherID ORDER BY TeachersInfo.TeacherName
右結合
構文:
SELECT column_name(s) FROM table1 table1.column_name = table2.column_nameのRIGHTJOIN table2 ON
例:
サブジェクトからサブジェクトIDを選択右結合TeachersInfoONサブジェクトサブジェクトID = TeachersInfo.TeacherID ORDER BY Subject.SubjectID
完全結合
構文:
SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name
例:
SELECT TeachersInfo.TeacherName、Subjects.SubjectID FROM TeachersInfo FULL OUTER JOIN Subject ON TeachersInfo.TeacherID = Subject.SubjectID ORDER BY TeachersInfo.TeacherName
さて、この記事の次の記事では、ビュー、ストアドプロシージャ、およびトリガー。
ビュー– PostgreSQLチュートリアル
ビューは、他のテーブルから派生した単一のテーブルです。したがって、ビューには実際のテーブルと同様の行と列が含まれ、1つ以上のテーブルのフィールドが含まれます。
「CREATEVIEW」ステートメント
CREATE VIEWステートメントは、既存のテーブルからビューを作成するために使用されます。
構文
CREATE VIEW view_name AS SELECT column1、column2、...、columnN FROM table_nameWHERE条件
例
CREATE VIEW Teachers_view AS SELECT TeacherName、TeacherID FROM TeachersInfo WHERE City = 'バンガロール'
「DROPVIEW」ステートメント
DROP VIEWステートメントは、ビューを削除するために使用されます。
構文
DROP VIEW view_name
例
ドロップビューteachers_view
初心者向けのPostgreSQLチュートリアル: ストアドプロシージャ
ストアドプロシージャは、保存して再利用できるコードのスニペットです。
構文
CREATE PROCEDURE procedure_name
言語lang_name
例
--2つのテーブルを作成しますCREATETABLE tbl1(tb1id int)CREATE TABLE tbl2(tb2id int)-Create Procedure CREATE PROCEDURE insert_data(a1 integer、b1 integer)LANGUAGE SQL AS $$ INSERT INTO tbl1 VALUES(a1)INSERT INTO tbl2 VALUES( b1)$$ CALL insert_data(4、5)
T リガー– PostgreSQLチュートリアル
トリガーは、データベースカタログに格納されているSQLステートメントのセットです。これらのステートメントは、テーブルに関連付けられたイベントが発生するたびに実行されます。だから、 引き金 どちらかを呼び出すことができます 前 または 後 データはによって変更されます インサート 、 更新 または 削除 ステートメント。
構文
CREATE TRIGGER trigger_name [BEFORE | AFTER | INSTEAD OF] event_name ON table_name [--Mention Logic Here]
例
--CREATE TRIGGER CREATE TRIGGER example_trigger AFTER INSERT ON TeachersInfo
データ制御(DCL)コマンド– PostgreSQLチュートリアル
このセクションは、データベースの特権を制御するために使用されるコマンドで構成されています。コマンドは次のとおりです。
付与
GRANTコマンドは、スキーマのユーザーアクセス権限またはその他の権限を提供するために使用されます。
構文:
オブジェクトに対する権限をユーザーに付与する
例:
TeachersInfoの挿入を公開する
取り消す
REVOKEコマンドは、GRANTコマンドを使用して指定されたユーザーのアクセス権限を取り消すために使用されます。
構文:
ユーザーからのオブジェクトに対する権限を取り消す
例:
パブリックからTeachersInfoへの挿入を取り消す
それでは、この記事の最後のセクション、つまりTCLコマンドに移りましょう。
トランザクション制御(TCL)コマンド– PostgreSQLチュートリアル
ベギン
BEGIN TRANSACTIONコマンドは、トランザクションを開始するために使用されます。
構文:
ベギン
トランザクションの開始
例:
BEGIN DELETE * FROM TeachersInfo WHERE Salary = 65000
コミット
COMMITコマンドは、最後のCOMMITまたはROLLBACKコマンド以降のすべてのトランザクションをデータベースに保存します。
構文:
コミット
例:
DELETE * FROM TeachersInfo WHERE Salary = 65000 COMMIT
ロールバック
ROLLBACKコマンドは、最後のCOMMITまたはROLLBACKコマンドが発行されてからのトランザクションを元に戻すために使用されます。
構文:
ロールバック
例:
DELETE * FROM TeachersInfo WHERE Salary = 65000 ROLLBACK
セーブポイント
SAVEPOINTコマンド現在のトランザクション内の新しいセーブポイントを定義します。
構文:
SAVEPOINT savepoint_name --SAVEPOINTを保存するための構文 ROLLBACK TO savepoint_name --SAVEPOINTにロールバックするための構文
例:
SAVEPOINT SP1 DELETE FROM TeachersInfo WHERE Fees = 65000 SAVEPOINT SP2
リリースセーブポイント
RELEASE SAVEPOINTコマンドは、作成したSAVEPOINTを削除するために使用されます。
構文:
RELEASE SAVEPOINT savepoint_name
例:
リリースポイントSP2
トランザクションの設定
SET TRANSACTIONコマンドは、現在のトランザクションの特性を設定します。
構文:
SET TRANSACTION transaction_mode
UUIDデータ型– PostgreSQLチュートリアル
UUIDデータ型は、128バイト長のUniversally Unique Identifier(UUID)を格納します。これは、小文字の16進数のシーケンスとして記述され、アルゴリズムによって生成されます。このアルゴリズムは、同じUUIDがユニバース内の他の人によって生成されないようにするように設計されています。
例:
-一意のUUIDSELECT uuid_generate_v4()を生成します
これで、初心者向けPostgreSQLチュートリアルに関するこの記事は終わりです。初心者向けPostgreSQLチュートリアルに関するこの記事をお楽しみいただけたでしょうか。クエリを記述し、データベースを操作するのに役立つさまざまなコマンドを見てきました。 SQLについてさらに学び、このオープンソースのリレーショナルデータベースについて知りたい場合は、 。 このトレーニングは、SQLを深く理解し、主題をマスターするのに役立ちます。
質問がありますか? 」のコメントセクションでそれについて言及してください 初心者のためのPostgreSQLチュートリアル 」と私はあなたに戻ります。