PostgreSQL学习笔记-postgres(用户名)
一.PostgreSQL 创建数据库
1 | CREATE DATABASE dbname; |
createdb 命令创建数据库( createdb 是一个 SQL 命令 CREATE DATABASE 的封装。)
1
2createdb [option...] [dbname [description]]
createdb -h localhost -p 5432 -U postgres runoobdbdbname:要创建的数据库名。
description:关于新创建的数据库相关的说明。
options:参数可选项(-h:主机名、-p:端口、-U:连接数据库的用户名)
pgAdmin 工具创建数据库
二.PostgreSQL 选择数据库
使用 \l 用于查看已经存在的数据库:
1
postgres=# \l
使用 \c + 数据库名 来进入数据库:
1
2
3postgres=# \c test
You are now connected to database "test" as user "postgres".
test=#
三.PostgreSQL 删除数据库
DROP DATABASE 删除数据库
1
DROP DATABASE [ IF EXISTS ] name
参数说明:
- IF EXISTS:如果数据库不存在则发出提示信息,而不是错误信息。
- name:要删除的数据库的名称。
例如,我们删除一个 test 的数据库:
1
postgres=# DROP DATABASE test;
dropdb 命令删除数据库
dropdb 是 DROP DATABASE 的包装器。
dropdb 用于删除 PostgreSQL 数据库。
dropdb 命令只能由超级管理员或数据库拥有者执行。
dropdb 命令语法格式如下:
1
dropdb [connection-option...] [option...] dbname
dbname:要删除的数据库名。
options:参数可选项.
打开一个命令窗口,进入到 PostgreSQL 的安装目录,并进入到 bin 目录,dropdb 名位于 PostgreSQL安装目录/bin 下,执行删除数据库的命令:
1
2
3cd /Library/PostgreSQL/11/bin/
dropdb -h localhost -p 5432 -U postgres test
password ******以上命令我们使用了超级用户 postgres 登录到主机地址为 localhost,端口号为 5432 的 PostgreSQL 数据库中并删除 test数据库。
四.PostgreSQL 创建表格
PostgreSQL 使用 CREATE TABLE 语句来创建数据库表格。
语法:
1
2
3
4
5
6
7
8CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( 一个或多个列 )
);以下创建了一个表,表名为 COMPANY 表格,主键为 ID,NOT NULL 表示字段不允许包含 NULL 值:
1
2
3
4
5
6
7CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);1
2
3
4
5CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL,
EMP_ID INT NOT NULL
);使用 \d 命令来查看表格是否创建成功:
1
test=# \d
\d tablename 查看表格信息:
1
test=# \d company
五.PostgreSQL 删除表格
PostgreSQL 使用 DROP TABLE 语句来删除表格,包含表格数据、规则、触发器等,所以删除表格要慎重,删除后所有信息就消失了。
1 | DROP TABLE table_name; |
1 | test=# drop table department, company; |
六.PostgreSQL 模式(SCHEMA)
PostgreSQL 模式(SCHEMA)可以看着是一个表的集合。一个模式可以包含视图、索引、数据类型、函数和操作符等。
使用 CREATE SCHEMA 语句来创建模式,语法格式如下:
1 | CREATE SCHEMA myschema.mytable ( |
1 | test=# create schema myschema; |
输出结果 “CREATE SCHEMA” 就代表模式创建成功。
创建表格
1
2
3
4
5
6
7
8test=# create table myschema.company(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);删除模式
删除一个为空的模式(其中的所有对象已经被删除):
1
DROP SCHEMA myschema;
删除一个模式以及其中包含的所有对象:
1
DROP SCHEMA myschema CASCADE;
七.PostgreSQL INSERT INTO 语句
PostgreSQL INSERT INTO 语句用于向表中插入新记录。我们可以插入一行也可以同时插入多行。
1 | INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) |
在使用 INSERT INTO 语句时,字段列必须和数据值数量相同,且顺序也要对应。
如果我们向表中的所有字段插入值,则可以不需要指定字段,只需要指定插入的值即可:
1 | INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN); |
下表列出执行插入后返回结果的说明:
序号 | 输出信息 & 描述 |
---|---|
1 | INSERT oid 1 只插入一行并且目标表具有 OID的返回信息, 那么 oid 是分配给被插入行的 OID。 |
2 | INSERT 0 # 插入多行返回的信息, # 为插入的行数。 |
在 COMPANY 表中插入以下数据:
1 | test=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13'); |
插入多行:
1 | test=# INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00, '2007-12-13' ), (5, 'David', 27, 'Texas', 85000.00, '2007-12-13'); |
八.PostgreSQL SELECT 语句
PostgreSQL SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。
语法:
1
SELECT column1, column2,...columnN FROM table_name;
- column1, column2,…columnN 为表中字段名。
- table_name 为表名。
九.PostgreSQL 运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。PostgreSQL 运算符是一个保留关键字或字符,一般用在 WHERE 语句中,作为过滤条件。
1.算术运算符
假设变量 a 为 2,变量 b 为 3,则:
运算符 | 描述 | 实例 | ||||
---|---|---|---|---|---|---|
+ | 加 | a + b 结果为 5 | ||||
- | 减 | a - b 结果为 -1 | ||||
* | 乘 | a * b 结果为 6 | ||||
/ | 除 | b / a 结果为 1 | ||||
% | 模(取余) | b % a 结果为 1 | ||||
^ | 指数 | a ^ b 结果为 8 | ||||
\ | / | 平方根 | \ | / 25.0 结果为 5 | ||
\ | \ | / | 立方根 | \ | \ | / 27.0 结果为 3 |
! | 阶乘 | 5 ! 结果为 120 | ||||
!! | 阶乘(前缀操作符) | !! 5 结果为 120 |
1 | select 2+3; |
2.比较运算符
假设变量 a 为 10,变量 b 为 20,则:
运算符 | 描述 | 实例 |
---|---|---|
= | 等于 | (a = b) 为 false。 |
!= | 不等于 | (a != b) 为 true。 |
<> | 不等于 | (a <> b) 为 true。 |
> | 大于 | (a > b) 为 false。 |
< | 小于 | (a < b) 为 true。 |
>= | 大于等于 | (a >= b) 为 false。 |
<= | 小于等于 | (a <= b) 为 true。 |
1 | SELECT * FROM COMPANY WHERE SALARY > 50000; |