`

informix 数据定义语言(DDL)

阅读更多

数据定义语言(DDL)
 
 
 
创建数据库
 
CREATE DATABASE 

创建数据库时,内部创建系统目录

语句选项
说明数据库所在的 DBSPACE, 缺省是ROOT DBSPACE
说明数据库使用的日志,有以下四种
无日志
缓冲日志
非缓冲日志
ANSI 日志
 
 
例子

CREATE   DATABASE  users
CREATE   DATABASE  users IN myspace
CREATE   DATABASE  users WITH LOG
CREATE   DATABASE  users WITH BUFFERED LOG
CREATE   DATABASE  users WITH LOG MODE ANSI
 
 
 

创建表
 
CREATE TABLE
 
表结构:
列名及数据类型
 
各种约束条件:
实体完整性:  说明主键
参照完整性:  说明实体之间的参照关系
缺省值:  说明缺省值
检查条件:说明检查条件
其它约束:非空、唯一性等
 

表所在的 DBSPACE,缺省是数据库所在的DBSPACE

区间大小, 缺省大小为8页

表的锁定级别: 页面级或行级,缺省是页面级
 
 
 
数据完整性
 
 

实体完整性
表中的每行有一个唯一的标识
 
语义完整性
列中的数据恰当地反映了设计列所要求存放的数据类型
 
引用完整性
强制维护表间的关系

例子
 
CREATE   TABLE users (
  user_num INTEGER PRIMARY KEY,
  user_type INTEGER,
  user_descr CHAR(50))
 
CREATE   TABLE sub_users (
  sub_user INTEGER PRIMARY KEY,
  ref_user_num INTEGER REFERENCES users (user_num),
         sub_user_descr CHAR(50))
 
 
CREATE TABLE DATE_CHECK(
                 id        integer           not null ,
                 month     integer           default -1    not null ,
                 week      integer           default -1    not null ,
                 day       integer           default -1    not null ,
                 hour      integer           default -1    not null ,
                 minute    integer           default -1    not null ,
                 check (((month >= 1 ) AND (month <= 12 ) ) OR (month = -1 ) ) ,
                 check (((week >= 0 ) AND (week <= 6 ) ) OR (week = -1 ) ) ,
                 check (((day >= 1 ) AND (day <= 31 ) ) OR (day = -1 ) ) ,
                 check (((hour >= 0 ) AND (hour <= 23 ) ) OR (hour = -1 ) ) ,
                 check (((minute >= 0 ) AND (minute <= 59 ) ) OR (minute = -1 ) ))

CREATE   TABLE users (
   user_num INTEGER DEFAULT  01,
  user_type INTEGER DEFAULT  02, 
  user_descr CHAR(50) NOT NULL,
  PRIMARY KEY( user_num,user_type ) ) LOCK MODE ROW
 
 
CREATE TABLE sub_users (
  sub_user INTEGER PRIMARY KEY,
  ref_user_num INTEGER REFERENCES users (user_num),
  ref_user_type INTEGER ,
  sub_user_descr CHAR(50),
  FOREIGN KEY( ref_user_num,ref_user_type) REFERENCES users  (user_num,user_type))
  IN myspace EXTENT SIZE 16 NEXT SIZE  8
 
 
修改表结构

ALTER TABLE TABLENAME
ADD/DROP/MODIFY COLUMNNAME TYPE

增加列、删除列、修改列
增加约束、删除约束
修改区间大小(NEXT SIZE)
改变锁定模式
ALTER TABLE 语句执行期间, 对整个表加互斥锁
如果要修改约束, 必须先删除, 而后增加。
 

创建索引
 
 
CREATE INDEX
索引可以建立在一列或多列上, 同样的列或多列不能有多个索引
用关键字UNIQUE 或 DISTINCT 创建唯一索引
用ASC 或 DESC 说明升序或降序, 缺省是升序
 
CREATE INDEX USERINDEX 
ON USER(USER_NUM)
CREATE INDEX UNI_NAME
ON USER (FNAME,LNAME DESC)
 
 
创建同义词

视图是表或视图的另外一个名字
CREATE SYSNONYM 
同义词不能与数据库名相同,不能创建同义词的同义词
同义词与别名的区别:
别名存在于SELECT 语句生命期内, 是临时的
同义词是数据库的对象,是永久的

例子

create   synonym   newusers    for  users
 
 
创建视图

CREATE VIEW VIEWNAME(column1,column2...) AS (SELECT 语句)

列名说明视图的列名,如省略,则视图列名与相应表的列名 相同。
定义视图的SELECT语句必须满足以下条件:
不能包含ORDER  BY语句
不能包含INTO TEMP语句
不能包含UNION 操作符
目的保证可更新性

对视图更新(修改、插入、删除)时, 其相应的SELECT 语句必须满足以下条件:
基表只能是一个
不能使用聚集函数
不能包含DISTINCT和UNIQUE 关键字
不能包含ORDER BY 子句
 

删除对象
 
DROP DATABASE 删除数据库
DROP TABLE  删除表
DROP VIEW   删除视图
DROP INDEX 删除索引
DROP SYNONYM 删除同义词
DROP PROCEDURE 删除存储过程
DRIO TRIGGER 删除触发器

分享到:
评论

相关推荐

    informix数据库完整教程

    1. SQL:Informix遵循SQL标准,支持DML(数据操作语言)、DDL(数据定义语言)以及DCL(数据控制语言)。 2. 4GL:Informix的4GL(Fourth-Generation Language)是一种高级编程语言,提供了一种声明式的方式来操作...

    INFORMIX数据库操作及SQL语法.pdf

    SQL语法包括数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL)等。SQL语法的优点包括简洁易学、灵活性强、跨平台兼容性好等。 INFORMIX数据库操作 INFORMIX是一种关系数据库管理系统,提供了高效、...

    INFORMIX数据库学习资料

    4. **IBM Informix SQL指南:语法**: 此文档深入解析了Informix支持的SQL语法,包括DML(数据操纵语言)、DDL(数据定义语言)和DCL(数据控制语言),帮助读者理解并编写复杂的SQL查询和存储过程。 5. **IBM ...

    Informix数据库教程

    Informix支持标准SQL语法,包括数据查询语言(DQL)、数据操纵语言(DML)、数据定义语言(DDL)和数据控制语言(DCL)。学习如何使用SELECT、INSERT、UPDATE、DELETE等语句操作数据,以及CREATE TABLE、ALTER TABLE、DROP ...

    Informix数据库培训教材之二 SQL查询语言及应用

    1. SQL基础:SQL的基本语法,包括数据定义(DDL,Data Definition Language),如创建、修改和删除表;数据操作(DML,Data Manipulation Language),如插入、更新和删除记录;以及数据查询(DQL,Data Query ...

    informix使用全书(经典教材)

    3. **SQL基础**:Informix支持标准SQL,包括数据定义语言(DDL)、数据操纵语言(DML)和数据控制语言(DCL)。熟悉SQL语法,如CREATE TABLE、INSERT、SELECT、UPDATE和DELETE,是操作Informix数据库的基础。 4. **数据库...

    informix数据库SQL查询语言及应用

    SQL由四大主要部分组成:数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)。DDL用于创建和修改数据库结构,如CREATE TABLE、ALTER TABLE等;DML负责数据的插入、更新和删除,...

    Informix sql语法指南

    #### 数据定义语言(Data Definition Language, DDL) 包括CREATE、ALTER和DROP语句,用于创建、修改和删除数据库对象,如表、索引、视图等。 #### 数据操纵语言(Data Manipulation Language, DML) 包括SELECT...

    Informix Application Development Getting Started

    4. **SQL 语句的编写和执行**:学习 SQL 的基本语法,包括 DDL(数据定义语言)、DML(数据操纵语言)和 DCL(数据控制语言),以及如何在 Java 中执行这些语句。 5. **事务管理**:理解事务的概念,学习如何在 ...

    INFORMIX DBA 教程

    - **7.INFORMIS SQL.ppt**:这部分内容专门针对SQL,可能包含SQL查询语言的详细讲解,包括DML(数据操纵语言)、DDL(数据定义语言)和DCL(数据控制语言)。 学习这些内容将使你具备管理Informix数据库的必要技能...

    informix管理员参考大全

    3. **SQL查询与编程**:Informix支持标准SQL,书中会讲解SQL语法,包括DML(数据操纵语言)如INSERT、UPDATE、DELETE,以及DDL(数据定义语言)如CREATE、ALTER、DROP。此外,还会涉及SQL事务处理、游标、子查询以及...

    informix深入编程快速编程指南.rar

    2. **SQL编程**:深入探索Informix SQL语法,包括DML(数据操作语言)如SELECT、INSERT、UPDATE和DELETE,以及DDL(数据定义语言)用于创建和修改数据库结构。此外,还会涉及SQL事务处理和并发控制。 3. **高级特性...

    SQL,全称结构化查询语言(Structured Query Language)

    SQL,全称结构化查询语言(Structured Query ...SQL可以分为两个部分:数据操作语言(DML)和数据定义语言(DDL)。DML用于查询和更新数据库中的数据,而DDL则用于建立及定义数据表、字段以及索引等数据库结构。

    IBM官方INFORMIX数据库SQL参考指南

    1. **SQL基本概念**:SQL包括DDL(数据定义语言),如CREATE TABLE用于创建表,ALTER TABLE用于修改表结构,DROP TABLE用于删除表;DML(数据操纵语言),如INSERT用于插入数据,UPDATE用于更新数据,DELETE用于删除...

    informix语法

    【Informix语法】是关于 Informix 数据库管理系统的一种特定编程语言规范,用于在 Informix 数据库上执行查询、数据操作、存储过程等任务。Informix 是一个高效且灵活的关系型数据库管理系统,尤其适用于处理大量...

    informix 开发管理

    在开发层面,Informix提供了多种开发接口,如ODBC(Open Database Connectivity)、JDBC(Java Database Connectivity)和.NET数据提供者,使得开发者可以使用各种编程语言连接和操作Informix数据库。此外,Informix...

    informix绿色访问工具

    1. DDL(数据定义语言)操作: DDL用于创建、修改和删除数据库对象,如表、视图、索引和存储过程。"informix绿色访问工具"允许用户方便地编写和执行DDL语句,例如CREATE TABLE、ALTER TABLE、DROP TABLE等,简化了...

    informix sql

    2. **数据定义语言(DDL)**:Informix SQL的DDL允许用户定义数据库模式,包括创建、修改和删除表、索引、视图等对象。例如,`CREATE TABLE`语句用于创建新的表格,`ALTER TABLE`用于修改已存在的表格结构,`DROP ...

Global site tag (gtag.js) - Google Analytics