📜  DB2-模式(1)

📅  最后修改于: 2023-12-03 15:00:21.823000             🧑  作者: Mango

DB2模式

DB2模式是针对IBM DB2数据库的模式,它允许程序员在数据库中定义数据表、视图、索引以及其他对象。

1. 数据表

在DB2中,数据表是一个关系型数据库,它包含列和行,每个列定义了表中的一个属性,每个行则包含了一组相同属性的数据。

创建数据表

在DB2中,我们可以使用下面的SQL语句创建一个包含3个列的数据表:

CREATE TABLE myTable (
    column1 INT,
    column2 VARCHAR(50),
    column3 DATE
);
插入数据

向数据表中插入数据可以使用INSERT INTO语句,如下所示:

INSERT INTO myTable (column1, column2, column3)
VALUES (1, 'value1', '2022-01-01'),
       (2, 'value2', '2022-01-02'),
       (3, 'value3', '2022-01-03');
查询数据

使用SELECT语句可以从数据表中查询数据,如下所示:

SELECT * FROM myTable;
2. 视图

视图是在已有数据表的基础上创建的虚拟表格,它包含一个或多个数据表中的行和列,可以通过视图简化复杂的查询操作。

创建视图

在DB2中,我们可以使用下面的SQL语句创建一个视图:

CREATE VIEW myView AS
SELECT column1, column2
FROM myTable
WHERE column3 > '2022-01-01';
查询视图

查询视图与查询数据表类似,只需要用SELECT语句查询视图即可。

SELECT * FROM myView;
3. 索引

索引是一种提高数据库检索效率的数据结构,可以快速地定位到所需数据。

创建索引

在DB2中,我们可以使用下面的SQL语句创建一个索引:

CREATE UNIQUE INDEX myIndex
ON myTable (column1);
查询索引

查询索引可以使用下面的SQL语句:

SELECT *
FROM myTable
WHERE column1 = 1;
4. 其他对象

除了上述对象外,DB2还包括其他对象,如存储过程、触发器、事件等。

创建存储过程

在DB2中,我们可以使用下面的SQL语句创建一个存储过程:

CREATE PROCEDURE myProcedure ()
BEGIN
    SELECT *
    FROM myTable;
END
创建触发器

在DB2中,我们可以使用下面的SQL语句创建一个触发器:

CREATE TRIGGER myTrigger
AFTER INSERT ON myTable
REFERENCING NEW AS n
FOR EACH ROW
BEGIN
    INSERT INTO myTable2 (column1, column2, column3)
    VALUES (n.column1, n.column2, n.column3);
END
创建事件

在DB2中,我们可以使用下面的SQL语句创建一个事件:

CREATE EVENT myEvent
ON SCHEDULE EVERY 1 DAY
DO
    UPDATE myTable
    SET column2 = 'new value'
    WHERE column1 = 1;