DDL Syntax Overview
Data definition language (DDL) is used to define or modify an object in a database, such as a table, an index, or a view.
NOTE: openGauss does not support DDL when the primary node of the database is incomplete. For example, if the primary node of the database in openGauss is faulty, creating a database or a table will fail.
Defining a CMK
CMKs are used to encrypt CEKs for the encrypted database feature. CMK definition includes creating and deleting a CMK. For details about related SQL statements, see Table 1.
Table 1 SQL statements for defining a CMK
Defining a CEK
CEKs are used to encrypt data for the encrypted database feature. CEK definition includes creating and deleting a CEK. For details about related SQL statements, see Table 1.
Table 2 SQL statements for defining a CEK
Defining a Database
A database is the warehouse for organizing, storing, and managing data. Defining a database includes creating a database, altering the database attributes, and deleting the database. For details about related SQL statements, see Table 3.
Table 3 SQL statements for defining a database
Defining a schema
A schema is the set of a group of database objects and is used to control the access to the database objects. For details about related SQL statements, see Table 4.
Table 4 SQL statements for defining a schema
Defining a Tablespace
A tablespace is used to manage data objects and corresponds to a catalog on a disk. For details about related SQL statements, see Table 5.
Table 5 SQL statements for defining a tablespace
Defining a Table
A table is a special data structure in a database and is used to store data objects and relationship between data objects. For details about related SQL statements, see Table 6.
Table 6 SQL statements for defining a table
Defining a Partitioned Table
A partitioned table is a logical table used to improve query performance and does not store data (data is stored in common tables). For details about related SQL statements, see Table 7.
Table 7 SQL statements for defining a partitioned table
Defining an Index
An index indicates the sequence of values in one or more columns in a database table. It is a data structure that improves the speed of data access to specific information in a database table. For details about related SQL statements, see Table 8.
Table 8 SQL statements for defining an index
Defining a Stored Procedure
A stored procedure is a set of SQL statements for achieving specific functions and is stored in the database after compiling. Users can specify a name and provide parameters (if necessary) to execute the stored procedure. For details about related SQL statements, see Table 9.
Table 9 SQL statements for defining a stored procedure
Defining a Function
In openGauss, a function is similar to a stored procedure, which is a set of SQL statements. The function and stored procedure are used the same. For details about related SQL statements, see Table 10.
Table 10 SQL statements for defining a function
Defining a Package
A package consists of the package specification and package body. It is used to manage stored procedures and functions by class, which is similar to classes in languages such as Java and C++.
Table 11 SQL statements for defining a package
Defining a View
A view is a virtual table exported from one or more basic tables. It is used to control data accesses of users. Table 12 lists the related SQL statements.
Table 12 SQL statements for defining a view
Defining a Cursor
To process SQL statements, the stored procedure process assigns a memory segment to store context association. Cursors are handles or pointers to context regions. With a cursor, the stored procedure can control alterations in context areas. For details, see Table 13.
Table 13 SQL statements for defining a cursor
Defining an Aggregate Function
Table 14 SQL statements for defining an aggregate function
Defining Data Type Conversion
Table 15 SQL statements for defining a data type
Defining a Plug-in Extension
Table 16 SQL statements for defining a plug-in extension
Defining an Operator
Table 17 SQL statements for defining an operator
Defining a Procedural Language
Table 18 SQL statements for defining a procedural language
Defining a Data Type
Table 19 SQL statements for defining a data type