VFP命令系列教程---ALTER TABLE – SQL 命令
VFPSQL语句格式

vfp的sql命令和语句大全1.create table - sql命令该命令的一般格式为:create table |dbf <表文件名>(字段名1 字段类型[(字段宽度[,小数位数])][,字段名2 字段类型[(字段宽度[,小数位数])]]??)例:create table xscj(xh c(8),xm c(6),xb c(2),;cj n(5,1),ksrq d)2.alter table - sql命令功能命令格式示例添加字段alter table xscj add column kcmc c(14)重命名字段 alter table xscj rename column kcmc to kc 删除字段 alter table xscj drop column kc3.insert-sql命令该命令的一般格式为:insert into <表名>[(字段名1[,字段名2 ?])] values (表达式1[,表达式2 ?])例:insert into xscj(xh,xm,cj) values (81991001, 张良, 85.5)4.update-sql 命令。
命令格式: update <表名> set 字段1 = 表达式1 [,字段2 = 表达式2 ?]; where 条件表达式例: update xscj set cj = cj*1.05 where cj>805.delete-sql 命令。
命令格式: delete from <表名> [where 条件表达式] 例: delete from xscj where cj<606.select-sql命令创建查询常用的格式:select 表名1. 字段名1 [as 标题名1], 表名1. 字段名2 [as 标题名2], ?from 数据库名! 表名1 [,数据库名! 表名2 ] [, 数据库名! 表名3 ][to file 文本文件名 | into table | into cursor 表文件名 ][ where 选定条件][group by 分组字段名 ][having 分组中的满足条件 ][order by 排序字段名1 [asc | desc] [, 排序字段名2 [asc | desc] ...]] 示例:浏览学生中的查询学生 student.qpr :select 表xs.xh as 学号, 表xs.xm as 姓名, 表xs.xb as 性别, ;表xs.csrq as 出生日期, 表xs.bj as 班级名称;from 数据test!表xs;where 表xs.bj =cs1;order by 表xs.xh;into table xs浏览成绩中的按课程查询 sub_cj.qpr :select 表xs.bj as 班级名称, count(表xs.xh) as 班级人数, avg(表cj.cj) as 平均分, ;max(表cj.cj) as 最高分, min(表cj.cj) as 最低分; from 数据test!表xs, 数据test!表cj, 数据test!表kc; where 表cj.xh = 表xs.xh;and 表kc.kcm = 表cj.kcm;and 表cj.kcm = sc1;group by 表xs.bj;order by 表xs.bj;into table sub_cj7.create sql view 命令创建视图打开数据库,用命令来创建视图:open database 数据库名create sql view 视图文件名 as sql-select 语句例: open database sjcreat sql view score as select sjcj.xh, sjcj.cj ; from sj!sjcj where sjcj.kch=”计算机基础”8.create table-sql 命令创建数据库表命令一般格式:create table 表名 1 [free] ( 字段名 1 字段类型代号 [ (字段宽度[,小数位数 ] ) ][null | not null] [check 字段规则 1 [error “信息1” ] ] [default 默认值][primary key | unique] [references 表名2 [tag 索引标识1 ] ][ , 字段名2 字段类型代号[ (字段宽度 [, 小数位数]) ] [null | not null] ][check 字段规则2 [error “信息2” ] ] [default 默认值 ] ) | from array 数组名使用示例:creat data xscjgl && 创建学生成绩管理数据库create table xs (;xh c(4) default 1201 primary key,;xm c(6), ;篇二:vfp sql语句大全(一)vfp——sql语句大全(一) 2010-06-17 10:03:22| 分类:编程 | 标签: |字号大中小订阅vfp命令、函数及程序语句大全一、主要命令:1、createcreate database 库文件名.dbc―――建立数据库:create table/dbf 表名(各个字段属性)??????????????—————建立表create view <视图名> as <select 查询语句>——建立视图执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
VF中的SQL语句大全

VFP的SQL命令和语句大全1.CREATE TABLE一般格式为:CREATE TABLE |dbf <表文件名>(字段名1 字段类型[(字段宽度[,小数位数])][,字段名2 字段类型[(字段宽度[,小数位数])]]……)例:CREATE TABLE xscj(xh c(8),xm c(6),xb c(2),;cj n(5,1),ksrq d)2.ALTER TABLE命令格式:添加字段ALTER TABLE xscj ADD COLUMN kcmc C(14)重命名字段ALTER TABLE xscj RENAME COLUMN kcmc TO kc删除字段ALTER TABLE xscj DROP COLUMN kc3.INSERT一般格式为:INSERT INTO <表名>[(字段名1[,字段名2 …])] VALUES (表达式1[,表达式2 …])例:INSERT INTO xscj(xh,xm,cj)VALUES ("81991001", "张良", 85.5)4.UPDATE命令格式:UPDATE <表名> SET 字段1 = 表达式1 [,字段2 = 表达式2 …];WHERE 条件表达式例:UPDATE xscj SET cj = cj*1.05 WHERE cj>805.DELETE命令格式:DELETE FROM <表名> [WHERE 条件表达式]例:DELETE FROM xscj WHERE cj<606.SELECT-SQL命令创建查询常用的格式:SELECT 表名1. 字段名1 [AS 标题名1], 表名1. 字段名2 [AS 标题名2], …FROM 数据库名! 表名 1 [,数据库名! 表名 2 ] [, 数据库名! 表名3 ][TO FILE 文本文件名| into table | into cursor 表文件名] [ WHERE 选定条件][GROUP BY 分组字段名][HAVING 分组中的满足条件][ORDER BY 排序字段名 1 [ASC | DESC] [, 排序字段名2 [ASC | DESC] ...]]示例:浏览学生中的查询学生student.qpr :SELECT 表xs.xh as 学号, 表xs.xm as 姓名, 表xs.xb as 性别, ; 表xs.csrq as 出生日期, 表xs.bj as 班级名称;FROM 数据test!表xs;WHERE 表xs.bj =cs1;ORDER BY 表xs.xh;INTO TABLE xs浏览成绩中的按课程查询sub_cj.qpr :SELECT 表xs.bj as 班级名称, COUNT(表xs.xh) as 班级人数, AVG(表cj.cj) as 平均分, ; MAX(表cj.cj) as 最高分, MIN(表cj.cj) as 最低分;FROM 数据test!表xs, 数据test!表cj, 数据test!表kc;WHERE 表cj.xh = 表xs.xh;AND 表kc.kcm = 表cj.kcm;AND 表cj.kcm = sc1;GROUP BY 表xs.bj;ORDER BY 表xs.bj;INTO TABLE sub_cj7.CREATE SQL VIEW 命令创建视图打开数据库,用命令来创建视图:OPEN DATABASE 数据库名CREATE SQL VIEW 视图文件名AS SQL-SELECT 语句例: OPEN DATABASE SJCREAT SQL VIEW SCORE AS SELECT SJCJ.XH, SJCJ.CJ ;FROM SJ!SJCJ WHERE SJCJ.KCH=”计算机基础”8.CREATE TABLE-SQL 命令创建数据库表命令一般格式:Create table 表名1 [free] ( 字段名1 字段类型代号[ (字段宽度[,小数位数] ) ][null | not null] [check 字段规则1 [error “信息1”] ] [default 默认值][primary key | unique] [references 表名 2 [tag 索引标识1 ] ][ , 字段名 2 字段类型代号[ (字段宽度[, 小数位数]) ] [null | not null] ][check 字段规则 2 [error “信息2”] ] [default 默认值] ) | from array 数组名使用示例:creat data xscjgl && 创建学生成绩管理数据库create table xs (;xh c(4) default "1201" primary key,;xm c(6), ;xb c(2) check xb="男" or xb="女" error"性别只能是男或女" default "女",;nl n(2) null;) && 创建学生表create table kc (;kch c(3) unique, ;kcm c(10),;xf n(3,1),;bxk l;) && 创建课程表create table cj(;xh c(4) default "1201" reference xs tag xh, ;kch c(8),;ksrq d,;cj n(5,1);) && 创建成绩表modi dataalter table cj add primary key xh+kch+str(cj,4,1) tag dh &&为成绩表添加一个主索引一、主要命令:1、CREATECREATE DATABASE 库文件名.DBC―――建立数据库:CREATE TABLE/DBF 表名(各个字段属性)¬¬¬¬¬¬¬¬¬¬¬¬¬¬—————建立表CREATE VIEW <视图名> AS <SELECT 查询语句>——建立视图执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
VFP命令系列教程---ALTER TABLE – SQL 命令

VFP命令系列教程---ALTER TABLE – SQL 命令以编程方式修改表的结构。
ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1FieldType [( nFieldWidth [, nPrecision])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]][AUTOINC [NEXTVALUE NextValue [STEP StepValue]]] [DEFAULT eExpression1][primary key | UNIQUE [COLLATE cCollateSequence]][REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS] [NOVALIDATE]或者ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL | NOT NULL] [SET DEFAULT eExpression2][SET CHECK lExpression2[ERROR cMessageText2]] [ DROP DEFAULT ] [ DROP CHECK ] [ NOVALIDATE ]或者ALTER TABLE TableName1 [DROP [COLUMN] FieldName3][SET CHECK lExpression3 [ERROR cMessageText3]] [DROP CHECK][ADD primary key eExpression3 [FOR lExpression4] TAG TagName2[, COLLATE cCollateSequence]] [DROP primary key][ADD UNIQUE eExpression4 [[FOR lExpression5] TAG TagName3 [ COLLATE cCollateSequence]]] [DROP UNIQUE TAG TagName4][ADD foreign key [eExpression5] [FOR lExpression6] TAG TagName4[ COLLATE cCollateSequence] REFERENCES TableName2 [TAG TagName5]] [DROP foreign key TAG TagName6 [SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] [NOVALIDATE]参数ALTER TABLE TableName1指定要修改其结构的表名。
2、VF基本命令及SQL语句

视图的定义
Create view <视图名> as <查询语句>
视图的删除 Drop view <视图名>
SQL的数据查询功能 嵌套查询
格式:Select 目标列1,目标列2,…… from 表名1 where 字段名; In(select 字段名 from 表名2 where 筛选条件……) 等价于格式: Select 目标列1,目标列2,…… from 表名1 where exists; (select * from 表名2 where 联接条件) SQL的数据查询功能 分组与计算查询 格式:Select <目标列>… from <表名或视图名>… ; [where <筛选条件>] [ order by <排序列> [ASC | DESC] ; [group by <分组列> [having <分组条件>] ]
3.设置当前索引: Set order to [<数值表达式>] 注:0关闭索引,1第一个索引 Set order to [<单索引文件名>] 选择表所在工作区: select <工作区号>|<别名> 功能:从工作区中选择一个作为当前工作区。 说明:Select 0为 选择编号最小且没有使用的工作区为当前工 作区。 (即空闲的最小号工作区)
数据库操作相关命令 表结构的操作相关命令 表记录的操作相关命令基 本 命ຫໍສະໝຸດ 令表记录指针移动的相关命令
索引文件操作相关命令
物理排序 关联的建立: (临时联系)
数据库操作相关命令
建立数据库:create database [Database Name|?] 打开数据库:open database [Filename|?] [exclusive | shared] 修改数据库:modify database [DatabaseName |?] 删除数据库:delete database DatabaseName |? [DeleteTables][Recycle] 关闭数据库:close database
SQLALTERTABLE命令

SQLALTERTABLE命令SQL ALTER TABLE 命令SQL ALTER TABLE 命令⽤于添加、删除或者更改现有数据表中的列。
你还可以⽤ ALTER TABLE 命令来添加或者删除现有数据表上的约束。
语法:使⽤ ALTER TABLE 在现有的数据表中添加新列的基本语法如下:ALTER TABLE table_name ADD column_name datatype;使⽤ ALTER TABLE 在现有的数据表中删除列的基本语法如下:ALTER TABLE table_name DROP COLUMN column_name;使⽤ ALTER TABLE 更改现有的数据表中列的数据类型的基本语法如下:ALTER TABLE table_name MODIFY COLUMN column_name datatype;使⽤ ALTER TABLE 给某列添加 NOT NULL 约束的基本语法如下:ALTER TABLE table_name MODIFY column_name datatype NOT NULL;使⽤ ALTER TABLE 给数据表添加唯⼀约束的基本语法如下:ALTER TABLE table_nameADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);使⽤ ALTER TABLE 给数据表添加 CHECK 约束的基本语法如下:ALTER TABLE table_nameADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);使⽤ ALTER TABLE 给数据表添加主键约束的基本语法如下:ALTER TABLE table_nameADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);使⽤ ALTER TABLE 从数据表中删除约束的基本语法如下:ALTER TABLE table_nameDROP CONSTRAINT MyUniqueConstraint;如果你在使⽤ MySQL,代码应当如下:ALTER TABLE table_nameDROP INDEX MyUniqueConstraint;使⽤ ALTER TABLE 从数据表中删除主键约束的基本语法如下:ALTER TABLE table_nameDROP CONSTRAINT MyPrimaryKey;如果你在使⽤ MySQL,代码应当如下:ALTER TABLE table_nameDROP PRIMARY KEY;⽰例:考虑 CUSTOMERS 表,表中记录如下所⽰:+----+----------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+----------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Khilan | 25 | Delhi | 1500.00 || 3 | kaushik | 23 | Kota | 2000.00 || 4 | Chaitali | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 |+----+----------+-----+-----------+----------+下⾯的⽰例展⽰了如何在现有的表中添加新的⼀列:ALTER TABLE CUSTOMERS ADD SEX char(1);现在,CUSTOMERS 已经被更改了,SELECT 语句的输出应当如下所⽰:+----+---------+-----+-----------+----------+------+| ID | NAME | AGE | ADDRESS | SALARY | SEX |+----+---------+-----+-----------+----------+------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 | NULL || 2 | Ramesh | 25 | Delhi | 1500.00 | NULL || 3 | kaushik | 23 | Kota | 2000.00 | NULL || 4 | kaushik | 25 | Mumbai | 6500.00 | NULL || 5 | Hardik | 27 | Bhopal | 8500.00 | NULL || 6 | Komal | 22 | MP | 4500.00 | NULL || 7 | Muffy | 24 | Indore | 10000.00 | NULL |+----+---------+-----+-----------+----------+------+下⾯的⽰例展⽰了如何从 CUSTOMERS 表中删除 SEX 列:ALTER TABLE CUSTOMERS DROP SEX;现在,CUSTOMERS 已经被更改了,SELECT 语句的输出应当如下所⽰:+----+---------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+---------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Ramesh | 25 | Delhi | 1500.00 || 3 | kaushik | 23 | Kota | 2000.00 || 4 | kaushik | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 |+----+---------+-----+-----------+----------+。
用VFP系统命令或SQL命令建索引库表及设置扩展属性的语句示例

一、使用命令方式设置数据库表及其字段的扩展属性举例:1. open data sjk 或者create data sjk 或者用set data to命令创建或设置当前库2. create table jsqk NAME教师基本情况表(gh c(6),xm c(8),csrq d,;gzrq d CHECK gzrq<date() ERROR "工作日期应小于当前系统日期!",;xb c(2) DEFAULT "女",zc c(10) null DEFAULT null, jl m,;CHECK year(gzrq)-year(csrq)>=18ERROR "参加工作的年龄为18岁以上!")3. (1) create table gzqk (gh c(6),xm c(8),xb c(2),zc c(10),jbgz n(8,1),;gwjt n(8,1),grsds n(8,1),yfgz n(8,1),sfgz n(8,1))(2) append from E:\vfptest\gzb(3) i) alter table gzqk SET CHECK grsds=(jbgz+gwjt-800)*0.1NOV ALIDATE&&设置gzqk表的记录有效性规则或alter table gzqk SET CHECK grsds=(jbgz+gwjt)*0.1;ERROR"个人所得税应为基本工资加岗位津贴的10%" NOV ALIDATE&&设置gzqk表的记录有效性规则及有效性信息ii) alter table gzqk alter gh SET CHECK !empty(gh) and len(allt(gh))=5;ERROR"工号不能为空且有效宽度必须为5位。
"&&设置gzqk表中gh字段的有效性规则及有效性信息iv) alter table gzqk alter jbgz SET DEFAULT400&&设置gzqk表中jbgz字段的默认值为4004. (1) alter table gzqk alter zc DROP DEFAULT&&删除gzqk表中zc字段的默认值(2) alter table gzqk alter gh DROP CHECK&&删除gzqk表中gh字段的字段的有效性规则及有效性信息(3) alter table gzqk DROP CHECK&&删除gzqk表的记录有效性规则及有效性信息5. (1) RENAME TABLE gzqk TO教师收入基本情况表&&对gzqk表进行改名操作注:i) 上述改名操作实际是修改数据库表的长表名ii)RENAME TABLE <旧名> TO <新名> 命令只用于数据库表的改名操作。
VF中常用SQL命令使用方法

VF中常用SQL命令使用方法SQL(结构化查询语言)是关系型数据库管理系统中最常用的查询语言。
在VF中,使用SQL命令可以对数据库进行增删改查等操作。
以下是VF中常用的SQL命令使用方法:1.创建表格(CREATETABLE):用于创建数据库中的表格。
语法如下:```sqlCREATE TABLE table_namecolumn1 data_type,column2 data_type,...```例如:```sqlCREATE TABLE customersid INT PRIMARY KEY,name VARCHAR(50),age INT,email VARCHAR(100)```2.插入数据(INSERTINTO):用于向表格中插入新的数据。
语法如下:```sqlINSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...);```例如:```sqlINSERT INTO customers (id, name, age, email)```3.更新数据(UPDATE):用于更新表格中的数据。
语法如下:```sqlUPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;```例如:```sqlUPDATE customersSET age = 26WHERE id = 1;```4.删除数据(DELETEFROM):用于从表格中删除数据。
语法如下:```sqlDELETE FROM table_name WHERE condition;```例如:```sqlDELETE FROM customers WHERE id = 1;```5.查询数据(SELECT):用于从表格中查询数据。
语法如下:```sqlSELECT column1, column2, ...FROM table_nameWHERE condition;```例如:```sqlSELECT * FROM customers WHERE age > 25;```6.排序数据(ORDERBY):用于按照指定列对查询结果进行排序。
VFP的SQL命令和语句大全

VFP的SQL命令和语句大全SQL——标准的结构化查询语言关系模型数据库管理系统(DBMS)一、数据定义1.CREATE TABLE——定义表结构该命令的一般格式为:CREATE TABLE |dbf <表文件名>(字段名1 字段类型[(字段宽度[,小数位数])][,字段名2 字段类型[(字段宽度[,小数位数])]]……)例:自由表CREATE TABLE xscj(xh c(8),xm c(6),xb c(2),cj n(5,1),ksrq d ,csrq d, bj n(10))例:数据库表CREATE TABLE xscj(xh c(8) primary key ,xm c(6),xb c(2),cj n(5,1),ksrq d,zp g )2.ALTER TABLE (修改表结构)命令格式示例(1)添加字段:ALTER TABLE xscj ADD COLUMN kcmc C(14)(2)重命名字段ALTER TABLE xscj RENAME COLUMN kcmc TO kc(3)删除字段ALTER TABLE xscj DROP COLUMN kc .3.DROP TABLE <表名> //删除表文件(.dbf)二、数据操作语句4.INSERT-SQL命令该命令的一般格式为:INSERT INTO <表名>[(字段名1[,字段名2 ])] VALUES (表达式1[,表达式2 …])例:INSERT INTO xscj(xh,xm,cj)VALUES ("81991001", "张良", 85.5)5.UPDATE-SQL 命令。
功能:对符合条件的记录修改字段的值命令格式:UPDATE <表名> SET 字段 1 = 表达式 1 [,字段 2 = 表达式 2 …] [ WHERE 条件表达式][ WHERE 条件表达式]缺省,默认当前一条记录例:UPDATE xscj SET cj = cj*1.05 WHERE cj>805.DELETE-SQL 命令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VFP命令系列教程---ALTER TABLE – SQL 命令以编程方式修改表的结构。
ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1FieldType [( nFieldWidth [, nPrecision])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]][AUTOINC [NEXTVALUE NextValue [STEP StepValue]]] [DEFAULT eExpression1][primary key | UNIQUE [COLLATE cCollateSequence]][REFERENCES TableName2 [TAG TagName1]] [NOCPTRANS] [NOVALIDATE]或者ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL | NOT NULL] [SET DEFAULT eExpression2][SET CHECK lExpression2[ERROR cMessageText2]] [ DROP DEFAULT ] [ DROP CHECK ] [ NOVALIDATE ]或者ALTER TABLE TableName1 [DROP [COLUMN] FieldName3][SET CHECK lExpression3 [ERROR cMessageText3]] [DROP CHECK][ADD primary key eExpression3 [FOR lExpression4] TAG TagName2[, COLLATE cCollateSequence]] [DROP primary key][ADD UNIQUE eExpression4 [[FOR lExpression5] TAG TagName3 [ COLLATE cCollateSequence]]] [DROP UNIQUE TAG TagName4][ADD foreign key [eExpression5] [FOR lExpression6] TAG TagName4[ COLLATE cCollateSequence] REFERENCES TableName2 [TAG TagName5]] [DROP foreign key TAG TagName6 [SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] [NOVALIDATE]参数ALTER TABLE TableName1指定要修改其结构的表名。
ADD | ALTER [COLUMN] FieldName1指定要添加的字段名。
单个的表中最多可以有 255 个字段。
如果一个或更多的字段允许 null 值, 该限制为 254 个字段。
FieldType [(nFieldWidth [, nPrecision])]指定新字段或待修改字段的字段类型、字段宽度和字段精度(小数点后的位数)。
参数 FieldType 是表示字段数据类型的单个字符。
有些字段类型还需要参数 nFiledWidth 或 nPrecision,或者两者皆要。
下表列出了参数FiledType 的值及其对应参数 nFiledWidth 和 nPression 的取舍情况: 字段宽度精度说明字段类型C n –宽度为 n 的字符字段D ––日期T ––日期时间N n d 宽度为 n 的数值型字段,小数点后保留d 位F n d 宽度为 n 的浮点型字段,小数点后保留d 位I ––整数型B – d 双精度型Y ––货币型L ––逻辑型M ––备注型G ––通用型P ––图象对于 D、T、I、Y、L、M、G 和 P 型数据,省略参数 nFieldWidth 和nPrecision。
如果对 N、F 或 B 型数据没有给出参数 nPrecision 的值,其的默认值为零。
NULL | NOT NULL允许或不允许字段为空值。
NULL 允许 null 值, NOT NULL 不允许 null 值。
如果一个或更多的字段允许 null 值, 表中可以包含的字段从 255减少到 254。
CHECK lExpression1指定字段的有效性规则。
lExpression1 为逻辑表达式值,可以是用户定义的函数或存储过程。
注意:每添加一个空记录时,都将进行有效性检查。
ERROR cMessageText1指定字段有效性检查出现错误时显示的错误信息。
只有在“浏览”或“编辑”窗口中修改数据时,此信息才可能显示。
AUTOINC [NEXTVALUE NextValue [STEP StepValue]]启用字段的自动增量。
NextValue指定开始值并可以是范围在2,147,483,647 到 -2,147,483,647 的正的或负的整型值。
默认值是 1。
可以用表设计器中的字段标签中的 Next Value 微调来设置NextValue。
StepValue 指定字段的增量值并可以是范围在 1 到 255 之间的正的,非零的整型值。
默认值是 1。
可以用表设计器中的字段标签中的 Step 微调来设置StepValue。
Autoincrementing 值不能是NULL。
DEFAULT eExpression1指定字段默认值。
eExpression1 的数据类型必须与字段的数据类型相同。
如果用AUTOINC子句来打开了一个字段的 autoincrementing 就不能指定默认值。
如果同时指定 AUTOINC 和 DEFAULT 子句 Visual FoxPro 会产生一个错误信息。
primary key | UNIQUEprimary key创建主索引标识。
索引标识与字段同名。
UNIQUE创建与字段同名的候选索引标识。
有关候选索引的详细内容,请参阅设置主索引或候选索引。
COLLATE cCollateSequence指定一个非默认设置 MACHINE 的比较序列。
cCollateSequence参数必须是一个可用的 Visual FoxPro 比较序列。
关于设置比较序列的详细信息, 参见优化国际化应用程序和set collate 命令。
REFERENCES TableName2 [TAG TagName1]指定与之建立永久关系的父表。
参数 TAG TagName1 指定父表索引标识,关系建立在此父表索引标识基础上。
索引标识最长为 10 个字。
如果省略TAG 子句, 关系用父表的主索引关键字建立。
如果父表没有主索引, Visual FoxPro 产生一条错误。
NOCPTRANS防止对字符串或备注字段进行代码页转换。
如果表转换到另一代码页,指定了 NOCPTRANS 的字段不进行转换。
NOCPTRANS 只能指定字符字段和备注字段。
这会创建表设计器中的 Character (binary) 和 Memo (binary) 数据类型。
NOVALIDATE选用这一选项后,Visual FoxPro 修改表的结构不受表中数据完整性的约束。
默认时,Visual FoxPro 改变表结构将受到表中数据的完整性约束。
使用 NOVALIDATE 参数将使默认情况无效。
ALTER [COLUMN] FieldName2指定要修改的已有的字段名。
你需要在单个的ALTER TABLE命令中包括多个ALTER COLUMN子句来修改字段的一个以上的属性。
关于ALTERCOLUMN子句的结构的详细信息, 参见本主题中的示例。
Set Default eExpression2指定已有字段的新默认值。
eExpression2 的数据类型必须与字段数据类型相同。
如果用AUTOINC子句来打开了一个字段的 autoincrementing 就不能指定默认值。
如果同时指定AUTOINC和SET DEFAULT子句 Visual FoxPro 会产生一个错误信息。
SET CHECK lExpression2指字已有字段新的有效性规则。
lExpression2 值必须为逻辑表达式,也可以为用户自定义函数或储存过程。
ERROR cMessageText2指定有效性检查出现错误时显示的错误信息。
只有在“浏览”窗口或“编辑”窗口改变数据时,才可能显示此信息。
DROP DEFAULT删除已有字段的默认值。
DROP CHECK删除已有字段的有效性规则。
DROP [COLUMN] FieldName3从表中删除一个字段。
删除一个字段的同时也删除了字段的默认值和字段有效性规则。
字段被删除后,索引关键字或引用此字段的触发器表达式将变为无效。
在这种情况下,删除字段并不产生错误,但是在运行时刻,无效的索引关键字或触发器表达式将导致错误。
SET CHECK lExpression3指定表的有效性规则。
lExpression3 必须是逻辑表达式,也可以是用户自定义函数或储存过程。
ERROR cMessageText3指定表的有效性检查出现错误时显示的错误信息。
只有在“浏览”窗口或“编辑”窗口中改变数据值时,才可能显示此信息。
DROP CHECK删除表的有效性规则。
ADD primary key eExpression3 [FOR lExpression4] TAG TagName2往表中添加主索引,eExpression 指定主索引关键字表达式。
可以用lExpression4来指定一个仅符合条件的记录可以显示和访问的筛选表达式。
主索引关键字是为匹配筛选条件的记录而在索引文件中创建的。
你应该避免使用FOR子句来创建主索引; 唯一性主键只强制匹配FOR子句中指定的条件的记录。
作为代替, 使用带FOR子句的INDEX命令来创建筛选索引。
如果lExpression4表达式可以优化, Rushmore 查询优化何以优化ALTER TABLE ... FOR lExpression4命令。
为了更好的性能, 在FOR子句中使用可优化表达式。
详细信息, 参见SET OPTIMIZE和用 Rushmore 查询优化数据访问速度。
TagName2参数指定主索引标识的名字。
索引标识名可以包含多至 10 个字符。
如果省略TAG TagName2, 而且eExpression3是一个单一的字段, 主索引标识具有与eExpression3中指定的字段相同的名字。
DROP primary key删除主索引及其标识。
因为表只能有一个主关键字,所以不必指定关键字的名称。
删除主索引也将删除所有基于此关键字的永久关系。