用PostgreSQL執行檔案中的SQL程式
用PostgreSQL執行檔案中的SQL程式
首先檔案內容如下:
$ ls
barcode.sql drop_tables.sql orderline.sql
create_tables-bpsimple.sql item.sql PostgreSQL.md
customer.sql orderinfo.sql stock.sql
然後建立資料庫bpsimple
$ su
密碼:
# su - postgres
$ createdb bpsimple
Password:
然後可以兩次退出exit
,返回原來的使用者進行操作,比較安全。
首先在資料庫bpsimple
建立中建立各種表:
$ psql -U postgres -d bpsimple -f create_tables-bpsimple.sql
Password for user postgres:
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
CREATE TABLE
- 其中
create_tables-bpsimple.sql
中的內容如下:
CREATE TABLE customer (
customer_id serial ,
title char(4) ,
fname varchar(32) ,
lname varchar(32) NOT NULL,
addressline varchar(64) ,
town varchar(32) ,
zipcode char(10) NOT NULL,
phone varchar(16) ,
CONSTRAINT customer_pk PRIMARY KEY(customer_id)
);
CREATE TABLE item (
item_id serial ,
description varchar(64) NOT NULL,
cost_price numeric(7,2) ,
sell_price numeric(7,2) ,
CONSTRAINT item_pk PRIMARY KEY(item_id)
);
CREATE TABLE orderinfo (
orderinfo_id serial ,
customer_id integer NOT NULL,
date_placed date NOT NULL,
date_shipped date ,
shipping numeric(7,2) ,
CONSTRAINT orderinfo_pk PRIMARY KEY(orderinfo_id)
);
CREATE TABLE stock (
item_id integer NOT NULL,
quantity integer NOT NULL,
CONSTRAINT stock_pk PRIMARY KEY(item_id)
);
CREATE TABLE orderline (
orderinfo_id integer NOT NULL,
item_id integer NOT NULL,
quantity integer NOT NULL,
CONSTRAINT orderline_pk PRIMARY KEY(orderinfo_id, item_id)
);
CREATE TABLE barcode (
barcode_ean char(13) NOT NULL,
item_id integer NOT NULL,
CONSTRAINT barcode_pk PRIMARY KEY(barcode_ean)
);
- 其他檔案也按照此方法即可建立這個資料庫。下面見結果(此處注意語句末尾的“;”):
$ psql -U postgres -d bpsimple
Password for user postgres:
psql.bin (10.4)
Type "help" for help.
bpsimple=# table item
bpsimple-# ;
item_id | description | cost_price | sell_price
---------+---------------+------------+------------
1 | Wood Puzzle | 15.23 | 21.95
2 | Rubik Cube | 7.45 | 11.49
3 | Linux CD | 1.99 | 2.49
4 | Tissues | 2.11 | 3.99
5 | Picture Frame | 7.54 | 9.95
6 | Fan Small | 9.23 | 15.75
7 | Fan Large | 13.36 | 19.95
8 | Toothbrush | 0.75 | 1.45
9 | Roman Coin | 2.34 | 2.45
10 | Carrier Bag | 0.01 | 0.00
11 | Speakers | 19.73 | 25.32
(11 rows)
bpsimple=# \dt
List of relations
Schema | Name | Type | Owner
--------+-----------+-------+----------
public | barcode | table | postgres
public | customer | table | postgres
public | item | table | postgres
public | orderinfo | table | postgres
public | orderline | table | postgres
public | stock | table | postgres
(6 rows)
bpsimple=# table customer;
customer_id | title | fname | lname | addressline | town | zip
code | phone
-------------+-------+-----------+---------+------------------+-----------+-----
-------+----------
1 | Miss | Jenny | Stones | 27 Rowan Avenue | Hightown | NT2
1AQ | 023 9876
2 | Mr | Andrew | Stones | 52 The Willows | Lowtown | LT5
7RA | 876 3527
3 | Miss | Alex | Matthew | 4 The Street | Nicetown | NT2
2TX | 010 4567
4 | Mr | Adrian | Matthew | The Barn | Yuleville | YV67
2WR | 487 3871
5 | Mr | Simon | Cozens | 7 Shady Lane | Oakenham | OA3
6QW | 514 5926
6 | Mr | Neil | Matthew | 5 Pasture Lane | Nicetown | NT3
7RT | 267 1232
7 | Mr | Richard | Stones | 34 Holly Way | Bingham | BG4
2WE | 342 5982
8 | Mrs | Ann | Stones | 34 Holly Way | Bingham | BG4
2WE | 342 5982
9 | Mrs | Christine | Hickman | 36 Queen Street | Histon | HT3
5EM | 342 5432
10 | Mr | Mike | Howard | 86 Dysart Street | Tibsville | TB3
7FG | 505 5482
11 | Mr | Dave | Jones | 54 Vale Rise | Bingham | BG3
8GD | 342 8264
12 | Mr | Richard | Neill | 42 Thatched Way | Winersby | WB3
6GQ | 505 6482
13 | Mrs | Laura | Hardy | 73 Margarita Way | Oxbridge | OX2
3HX | 821 2335
14 | Mr | Bill | Neill | 2 Beamer Street | Welltown | WT3
8GM | 435 1234
15 | Mr | David | Hudson | 4 The Square | Milltown | MT2
6RT | 961 4526
(15 rows)
完整的SQL程式碼:https://blog.csdn.net/Rong_Toa/article/details/80644443
相關文章
- spring boot 執行sql檔案Spring BootSQL
- Docker中Mysql容器內如何執行SQL檔案?DockerMySql
- maven外掛執行過程中自動執行sql檔案MavenSQL
- postgresql怎麼執行sqlSQL
- sqlplus執行sql檔案報錯SQL
- python3執行.sql檔案PythonSQL
- 上傳執行sql檔案到linuxSQLLinux
- CMD 執行大檔案SQL指令碼SQL指令碼
- 【趙渝強老師】PostgreSQL的執行日誌檔案SQL
- PostgreSQL 查詢當前執行中sql的執行計劃——pg_show_plans模組SQL
- mysql一次執行多個SQL檔案MySql
- Linux中如何執行.AppImage檔案LinuxAPP
- cmd中如何執行Python檔案Python
- .Oracle固定執行計劃之SQL PROFILE概要檔案OracleSQL
- Wpf應用程式作為一個單獨的可執行檔案
- windows使用bat檔案 執行java程式WindowsBATJava
- 關於Vulkan應用程式執行時編譯GLSL Shader檔案的方法編譯
- Python開發Windows桌面應用程式(三)應用程式打包成exeWindows可執行檔案PythonWindows
- Windows環境下實現批量執行Sql檔案勒鴛WindowsSQL
- 用 Explain 命令分析 MySQL 的 SQL 執行AIMySql
- Python程式碼打包成可執行檔案的常用方法!Python
- Laravel 使用 sql 語句 和 sql 檔案 來建立執行資料庫遷移LaravelSQL資料庫
- .sql檔案匯入到sql server中SQLServer
- redis執行lua檔案Redis
- 執行react build 檔案ReactUI
- Oracle - 執行過的SQL、正在執行的SQL、消耗資源最多的SQLOracleSQL
- shell指令碼命令 執行python檔案&python命令列執行python程式碼指令碼Python命令列
- python獲取程式執行檔案路徑的方法其一Python
- 教你Python使用shutil操作檔案、subprocess執行子程式的方法Python
- 將自己的python程式碼打包成exe的可執行檔案Python
- 寶塔用 systemd 設定定時執行 .sh 檔案
- 資料填充檔案最大一次能執行多少條sqlSQL
- window下執行sh檔案
- 0172-執行核心檔案
- Linux中Bin檔案壓縮包解壓執行Linux
- PyQt應用程式中的多執行緒:使用Qt還是Python執行緒?QT執行緒Python
- Docker容器中執行.Net Core應用程式Docker
- wine-在mac上執行exe執行檔案Mac