PostgreSQL学习笔记-1.基础知识:创建、删除数据库和表格
PostgreSQL 创建数据库
PostgreSQL 创建数据库可以用以下三种方式:
1、使用 CREATE DATABASE SQL 语句来创建。
2、使用 createdb 命令来创建。
3、使用 pgAdmin 工具。
例如,我们在开始菜单内找到SQL Shell (psql) 点击回车回车回车后输入数据库密码,在命令行内创建一个 shulanxtdb 的数据库:
postgres=# CREATE DATABASE shulanxtdb;
pgAdmin 工具创建数据库就更简单
数据库的命令窗口
postgres=#
使用 \l 用于查看已经存在的数据库:
postgres=# \l
接下来我们可以使用 \c + 数据库名 来进入数据库:
postgres=# \c test
PostgreSQL 删除数据库
PostgreSQL 删除数据库可以用以下三种方式:
1、使用 DROP DATABASE SQL 语句来删除。
2、使用 dropdb 命令来删除。
3、使用 pgAdmin 工具。
注意:删除数据库要谨慎操作,一旦删除,所有信息都会消失。
DROP DATABASE 删除数据库
DROP DATABASE 会删除数据库的系统目录项并且删除包含数据的文件目录。
DROP DATABASE 只能由超级管理员或数据库拥有者执行。
DROP DATABASE 命令需要在 PostgreSQL 命令窗口来执行,语法格式如下:
DROP DATABASE [ IF EXISTS ] name
参数说明:
IF EXISTS:如果数据库不存在则发出提示信息,而不是错误信息。
name:要删除的数据库的名称。
例如,我们删除一个 shulanxtdb 的数据库:
postgres=# DROP DATABASE shulanxtdb;
pgAdmin 工具删除方法:找到数据库右键删除即可。其他方法参考链接
PostgreSQL 创建表格
语法:
CREATE TABLE 语法格式如下: CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( 一个或多个列 ) );
CREATE TABLE 是一个关键词,用于告诉数据库系统将创建一个数据表。
表名字必需在同一模式中的其它表、 序列、索引、视图或外部表名字中唯一。
CREATE TABLE 在当前数据库创建一个新的空白表,该表将由发出此命令的用户所拥有。
实例
以下创建了一个表,表名为 COMPANY 表格,主键为 ID,NOT NULL 表示字段不允许包含 NULL 值:
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
我们可以使用 \d 命令来查看表格是否创建成功:
shulanxtdb=# \d
使用\d tablename查看指定表的字段结构
shulanxtdb=# \d company
PostgreSQL 删除表格
PostgreSQL 使用 DROP TABLE 语句来删除表格,包含表格数据、规则、触发器等,所以删除表格要慎重,删除后所有信息就消失了。
语法
DROP TABLE 语法格式如下:
DROP TABLE table_name;
一次删除多个表格,表名之间用逗号隔开:
shulanxtdb=# drop table department, company;
PostgreSQL 模式
PostgreSQL 模式(SCHEMA)可以看着是一个表的集合。
一个模式可以包含视图、索引、据类型、函数和操作符等。
相同的对象名称可以被用于不同的模式中而不会出现冲突,例如 schema1 和 myschema 都可以包含名为 mytable 的表。
使用模式的优势:
- 允许多个用户使用一个数据库并且不会互相干扰。
- 将数据库对象组织成逻辑组以便更容易管理。
- 第三方应用的对象可以放在独立的模式中,这样它们就不会与其他对象的名称发生冲突。
模式类似于操作系统层的目录,但是模式不能嵌套。
语法
我们可以使用 CREATE SCHEMA 语句来创建模式,语法格式如下:
CREATE TABLE myschema.mytable ( ... );
实例
接下来我们连接到 shulanxtdb 来创建模式 myschema:
shulanxtdb=# create schema myschema;
创建指定模式的表格:
shulanxtdb=# 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) );
删除模式
删除一个为空的模式(其中的所有对象已经被删除):
DROP SCHEMA myschema;
删除一个模式以及其中包含的所有对象:
DROP SCHEMA myschema CASCADE;
参考链接:https://www.shulanxt.com/database/postgresql/postgresql-drop-database
本文来自博客园,作者: 三生有幸格格,转载请注明原文链接:https://www.cnblogs.com/mylive/p/17078203.html