三、修改MapBasic表结构
MapBasic表结构指出了表的字段类型、宽度、小数位以及相关字段的索引等信息。MapInfo用户可以通过选择[Table]>[Maintenance]>[Table Structure]菜单命令来修改表的结构,也可以利用MapBasic程序使用Alter Table语句和Create Index等语句来修改表的结构。
1.修改表结构
Alter Table命令为用户提供了修改打开的表结构的手段,可增加字段、改变字段宽度或数据类型,删除字段、更改字段名和改变字段的次序。修改表结构的Alter Table语句的语法形式如下:
Alter Table table(
[Add columnname columntype[,…]]
[Modify columnname columntype[,…]]
[Drop columnname[,…]]
[Rename oldcolumnname newcolumnname[,…]][Order columnname,columnname[,…]]
)
[Interactive]
其中:table为打开的表名,columnname为表中的字段名,columntype为字段类型,oldcolumnname为要修改的原字段名,newcolumnname为修改的新字段名。
Alter Table语句中包含一系列子句,分别实现不同的功能,其中,利用Add子句可在表中增加字段,利用Modify子句可对已有字段重新定义,利用Add字句建立两个新项,Drop子句可从表中删除指定字段,Rename子句对已有字段重新命名,Order子句可定义字段的次序。
下面的例程先打开表sample,在表中增加Newprice字段,将Sampleaddress字段的宽度改为30,从表中删除Inquirer字段,对Code字段重新命名为Samplecode。
Open Table"sample"
Alter Table sample
(Add Newprice Decimal(8,2)
Modify Sampleaddress char(30)
Drop Inquirer
Rename Code Samplecode)
2.建立字段索引
建立索引可以提高查询检索效率。建立索引可使用Create Index语句,删除一个表的索引可使用Drop Index语句。Create Index语句的语法形式如下:
Create Index On table(column)其中:table为当前打开表名,Column为当前打开表的字段。以下例句为对表sample.tab的Samplecode字段建索引。
Open Table"sample"Interactive
Create Index on sample(Samplecode)
利用Creat Index语句对字段建立索引时,首先要把操作表打开。索引不能改变浏览窗口中数据记录的顺序,如果要控制浏览窗口中行的顺序,可以使用Select语句中的Order By子句,然后浏览。
Drop Index语句的语法形式为: Drop Index On table(column)其中,table为当前打开表名,Column为当前打开表的索引字段。语句功能为从当前表中删除指定的索引。
3.获取表结构信息
利用MapBasic提供的TableInfo()、ColumnInfo()和NumTable()函数可以获取当前表的结构信息。
TableInfo()返回表名、表的行数、表的列数、是否已地图化、表中图形对象的最大最小坐标等信息,具体返回信息的类型依据函数中的attribute参数而定;ColumnInfo()返回当前打开表有关列的信息,如列名、列的数据类型、宽度、小数位、是否建立索引和是否可编辑等信息; NumTable()返回当前打开表的数量。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。