4.2 数据库基本操作

4.2.1 创建数据库

  1. 模板语法:

    CREATE DATABASE 名字
    	[
            [ WITH ] [ OWNER [=] user_name ]
            [ TEMPLATE [=] template ]
            [ ENCODING [=] encoding ]
            [ LC_COLLATE [=] lc_collate ]
            [ LC_CTYPE [=] lc_ctype ]
            [ TABLESPACE [=] tablespace ]
            [ CONNECTION LIMIT [=] connlimit ]
        ]

    备注:

    • OWNER [=] user_name:用于指定新建的数据库属于哪个用户,如果不指定,新建的数据库就属于当前执行命令的用户。

    • TEMPLATE [=] template:模板名(从哪个模板创建新数据库),如果不指定,将使用默认模板数据库(template1)。

    • [ENCODING [=] encoding]:创建新数据库使用的字符。

    • TABLESPACE [=] tablespace:用于指定和新数据库关联的表空间名称。

    • CONNECTION LIMIT [=] connlimit]:用于指定数据库可以接受多少并发的连接。默认值为“-1”,表示没有限制。

  2. 一般情况下,不需要那么多参数:

    CREATE DATABASE 表名;

4.2.2 修改数据库

  1. 语法格式

    ALTER DATABASE 表名 
    [
        [ WITH ] option [ ... ]
    ]

    备注:option可以包含以下几种语法结构

    • ALTER DATABASE name CONNECTION LIMIT connlimit 自改最大连接数

    • ALTER DATABASE name RENAME TO new_name 改名

    • ALTER DATABASE name OWNER TO new_owner

    • ALTER DATABASE name SET TABLESPACE new rablespace

    • ALTER DATABASE name SET configuration_parameter {TO |=} {value|DEFAULT}

    • ALTER DATABASE name SET configuration_parameter FROM CURRENT

    • ALTER DATABASE name RESET configuration_parameter

    • ALTER DATABASE name RESET ALL

4.2.3 删除数据库

  1. 语法格式:

    DROP DATABASE [ IF EXISTS ] name

    注意:如果有用户连接,无法删除

4.2.4 常见问题

  1. 不能在事务模块中删除数据库

  2. 可以在事务模块中修改数据库

最后更新于