OushuDB 数据库基本用法(下)

简介: 一个数据库包含多个模式(schema),而一个模式可以包含多种命名对象,比如表,数据类型,函数,操作符等。同一个对象名字可以用在不同的模式中而不产生冲突。比如schema1中可以包含表test,schema2中也可以同时包含名字为test的表。从这个意义上,模式很像一个命名空间(namespace)。当创建一个对象时,默认被放置在public模式中。下面是系统默认创建的schema。

一个数据库包含多个模式(schema),而一个模式可以包含多种命名对象,比如表,数据类型,函数,操作符等。同一个对象名字可以用在不同的模式中而不产生冲突。比如schema1中可以包含表test,schema2中也可以同时包含名字为test的表。从这个意义上,模式很像一个命名空间(namespace)。
当创建一个对象时,默认被放置在public模式中。下面是系统默认创建的schema。

template1=# \dn
       List of schemas
        Name        |  Owner
--------------------+----------
 hawq_toolkit       | ChangLei
 information_schema | ChangLei
 pg_aoseg           | ChangLei
 pg_bitmapindex     | ChangLei
 pg_catalog         | ChangLei
 pg_toast           | ChangLei
 public             | ChangLei
(7 rows)

通常在这样几个场景下,用户需要使用模式:
● 允许多个用户同时使用一个数据库,而不产生名字冲突。
● 把数据库对象组织成多个schema,好像是多个命名空间一样
● 第三方应用可以把它们的对象放到一个单独的schema中,而不和其他对象产生从图。
注意:schema不可以嵌套,也就是说,schema中不可以再包含schema。
下面是创建schema的例子。

create schema myschema;

创建或者存取一个schema中的对象,可以使用{schema}.{object}形式,例如:

create table myschema.test(i int);
select * from myschema.test;

删除一个空的schema,可以使用:

drop schema myschame;

删除不空的schema,可以使用cascade关键词:

drop schema myschema cascade;

使用{schema}.{object}形式,通常用起来不是很方便。可以通过设置schema搜索路径来简化。”SHOW search_path”命令可以给出当前的schema搜索路径。”SET search_path TO schema-name1, schema-name2”可以设置schema搜索路径。例如:

postgres=# show search_path;
  search_path
----------------
 "$user",public
(1 row)

postgres=# create schema myschema;
CREATE SCHEMA

postgres=# set search_path = public, myschema;
SET

postgres=# show search_path;
   search_path
------------------
 public, myschema
(1 row)
目录
相关文章
|
存储 缓存 NoSQL
LeveIDB数据库企业项目中的用法
LeveIDB数据库企业项目中的用法
93 0
|
SQL 关系型数据库 MySQL
Mysql(一) 数据库实现-DDL-DML-DQL及各种函数用法(一)
order by的位置一般放在查询语句的最后(除limit语句之外) | asc : | 升序,如果不写默认升序 | | — | — |
134 0
|
SQL 关系型数据库 MySQL
Mysql(一) 数据库实现-DDL-DML-DQL及各种函数用法(二)
IFNULL函数是MySQL控制流函数之一,它有两个参数,两个参数可以是真实值或表达式,如果expr1不是NULL,则返回第一个参数(expr1)。 否则,IFNULL函数返回第二个参数。
99 0
|
4月前
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
6月前
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法
|
7月前
|
Oracle 关系型数据库 Java
Oracle数据库导入工具IMP详解与用法
Oracle数据库导入工具IMP详解与用法
|
7月前
|
存储 关系型数据库 MySQL
MySQL数据库——存储过程-if条件判断、参数、case(介绍、用法、案例)
MySQL数据库——存储过程-if条件判断、参数、case(介绍、用法、案例)
429 0
|
8月前
|
SQL 关系型数据库 MySQL
数据库:mysqldump用法详解
通过以上用法,你可以使用 `mysqldump` 工具备份和恢复 MySQL 数据库,根据需求选择不同的选项进行操作。
98 0
|
8月前
|
关系型数据库 MySQL 数据库
百度搜索:蓝易云【数据库:mysqldump用法详解】
通过 `mysqldump` 命令,你可以轻松地备份和还原 MySQL 数据库,以便在需要时恢复数据或迁移数据库。记得根据实际需求使用正确的选项和参数。
72 2
|
8月前
|
SQL 关系型数据库 MySQL
百度搜索:蓝易云【数据库:mysqldump用法详解】
通过这些选项和示例,你可以根据自己的需求使用 `mysqldump`命令来备份和导出MySQL数据库。请注意,确保在执行 `mysqldump`命令时提供正确的用户名、密码和数据库信息,以及指定合适的输出文件路径。
67 0