1、创建数据库eg1. 创建不记录日志的库testdb,参考语句如下:
CREATEDATABASEtestdb;
eg2. 创建带缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解析),参考语句如下:
CREATEDATABASEtestdbWITHBUFFEREDLOG;
eg3. 创建无缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解析),参考语句如下:
CREATEDATABASEtestdbWITHLOG;
eg4. 创建ANSI的数据库(记录日志时无缓冲,SQL总在事务之中,拥有者名字被用于对象的解析),参考语句如下:
CREATEDATABASEtestdbWITHLOGMODE ANSI;
2、创建普通数据表普通数据表又被称为持久数据表,它在system catalog里注册。一个普通数据表可对多个session和connection。创建时可以指定dbspace。
eg1、如下语句创建了一个集团信息表cti_vccinfo:
createtablecti_vccinfo(
vccidCHAR(6)notnull,
vccnameVARCHAR(255),
effectiveINTEGERdefault0notnull,
agentmaxINTEGERdefault0notnull,
ivrmaxINTEGERdefault0notnull,
updatekeyVARCHAR(30),
primarykey(vccid)constraintPK_CTI_VI
);
3、创建临时数据表临时数据表不在system catalog里注册。一个临时数据表只对对应的某个session或connection可见,在对应的session或connection结束时被自动清除。如果dbspace存在的话,临时数据表将建于临时dbspace中。缺省情况下,是没有日志的。临时数据表支持索引。
eg1:如下创建一个customer_temp的表,语句如下:
CREATETEMPTABLEcustomer_temp (
num SERIALNOTNULL,
nameCHAR(15),
create_timeDATETIMEYEARTOFRACTION(3)
);
eg2:也可以将正式表中customer中的数据通过select......into temp语句将数据导入到临时表中,如下实例创建了一个正式的表customer,并插入了三条数据,接着通过select....into temp语句将这个正式表中的数据导入到临时表customer_temp。
首先,创建customer普通数据表,建表语句如下:
CREATETABLEcustomer (
num SERIALNOTNULL,
nameCHAR(15),
create_timeDATETIMEYEARTOFRACTION(3)
);
接着,在普通数据表customer中插入三条记录,语句如下:
insertintocustomer (name, create_time)values('amigo','2010-11-17 15:41:00');
insertintocustomer (name, create_time)values('xiexingxing','2010-11-17 15:42:00');
insertintocustomer (name, create_time)values('amigoxie','2010-11-17 15:43:00');
最后,通过select......into temp语句将普通数据表customer中的数据导入到临时表customer_temp中(注意:需要保证customer_temp表不存在,操作成功后,customer_temp中的字段为select出的字段),参考语句如下所示:
SELECTnum, name, create_timeFROMcustomerintoTEMPcustomer_temp;
4、创建主键约束1)主键约束定义在一个数据列或一组数据列上;
2)主键的值是不允许重复的;
3)主键的值不允许为NUL