* * * * * * * * * * * * 二、数据类型 SQL中域的概念用数据类型来实现 定义表的属性时需要指明其数据类型及长度 选用哪种数据类型 取值范围 要做哪些运算 数据类型(续) 数据类型 含义 CHAR n 长度为n的定长字符串 VARCHAR n 最大长度为n的变长字符串 INT 长整数(也可以写作INTEGER) SMALLINT 短整数 NUMERIC p,d 定点数,由p位数字(不包括符号、小数点)组成,小数后面有d位数字 REAL 取决于机器精度的浮点数 Double Precision 取决于机器精度的双精度浮点数 FLOAT n 浮点数,精度至少为n位数字 DATE 日期,包含年、月、日,格式为YYYY-MM-DD TIME 时间,包含一日的时、分、秒,格式为HH:MM:SS 三、模式与表 每一个基本表都属于某一个模式 一个模式包含多个基本表 定义基本表所属模式的方法: 方法一:在表名中明显地给出模式名 Create table S_T.Student(...); /*模式名为 S_T*/ Create table S_T.Cource(...); Create table S_T.SC(...); 方法二:在创建模式语句中同时创建表 方法三:设置所属的模式 模式与表(续) 创建基本表(其他数据库对象也一样)时,若没有指定模式,系统根据搜索路径来确定该对象所属的模式 RDBMS会使用模式列表中第一个存在的模式作为数据库对象的模式名 若搜索路径中的模式名都不存在,系统将给出错误 显示当前的搜索路径:SHOW search_path; 搜索路径的当前默认值是:$user,PUBLIC 模式与表(续) DBA用户可以设置搜索路径,然后定义基本表 SET search_path TO S_T,PUBLIC; Create table Student(......); RDBMS发现搜索路径中第一个模式名S_T存在,就把该模式作为基本表Student所属的模式。 结果建立了S_T.Student基本表。 四、修改基本表 ALTER TABLE [ADD [ 完整性约束定义]] [ ADD ] [ ALTER COLUMN ]] [ DROP ]; 注意: 1. 使用ADD方式增加的新列自动填充NULL值,所以增加的新列不能指定NOT NULL约束 。 修改基本表(续) KingBase 数据库中的修改表命令: ALTER TABLE [SchemaName.]TableName ADD [ COLUMN ] ColumnName [DEFAULT ] [ ] | ADD | ALTER [ COLUMN ] ColumnName TYPE | SET DEFAULT | DROP DEFAULT | SET NOT NULL | DROP NOT NULL | SET STORAGE PLAIN | EXTERNAL | EXTENDED | MAIN | DROP [ COLUMN ] ColumnName [ RESTRICT | CASCADE ] | DROP CONSTRAINT ConstraintName [ RESTRICT | CASCADE ] | RENAME [ COLUMN ] ColumnName TO NewColumnName | RENAME TO NewTableName | RENAME CONSTRAINT ConstraintName TO NewConstraintName 修改基本表(续) ASA 数据库中的修改表命令: ALTER?TABLE?[?owner.]table-name ADD?column-definition?[?column-constraint?...?]|?ADD?table-constraint|? ?ADD??PCTFREE?percent-free-space?|?PCTFREE?DEFAULT? |?MODIFY?column-definition|?MODIFY?column-name?DEFAULT?default-value|?ALTER?column-name?SET?DEFAULT?default-value|?ALTER?column-name?DROP?DEFAULT|?ALTER?column-name?SET?COMPUTE? ?expression? |?ALTER?column-name?DROP?COMPUTE|?MODIFY?column-name?[?NOT?]?NULL|?MODIFY?column-
原创力文档

文档评论(0)