Create table(access环境下)自动编号类型的写法

本文介绍在Access数据库中创建带有自动编号字段的数据表方法。包括使用Counter和AutoIncrement关键字创建主键,提供不同示例说明如何定义表结构及字段属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


转自:http://hi.baidu.com/bjkstx/blog/item/b612072a03349d20d52af103.html

Create table(access环境下)自动编号类型的写法

2010-07-27 14:23
方法一:

create table tablename(id counter constraint primarykey primary key)
需要注意的地方是:第二个primary中间有空格,另外,关键字不区分大小写.

方法二:

create table mytb (id autoincrement(25,1) primary key,age int)

create table testtb (id autoincrement,age int,email char, primary key (id))
其中在access中,autoincrement为自动编号类型字段,(25,1)分别为初始值及步长值,如果不写的话,默认是1,1,primary key指定了主键,以上示例,两种指定方法都可以.


实例:

create table jf_17(id autoincrement(1,1) primary key,
username text,
email text,
homepage text,
title text,
content Memo,
addtime datetime,
ip text,
lastname text,
lasttime datetime,
re_count int,
icon text,
click int);

创建一张空表:
Sql="Create TABLE [表名]"
创建一张有字段的表:
Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))
字段类型:
2 : "SmallInt", // 整型
3 : "Int", // 长整型
4 : "Real", // 单精度型
5 : "Float", // 双精度型
6 : "Money", // 货币
7 : "DateTime", // 日期时间
11 : "Bit", // 是否
13 : "TimeStamp",
17 : "TinyInt", // 字节
72 : "UniqueIdentifier", // 同步复制 ID
128 : "Binary",
129 : "Char",
130 : "NChar",
131 : "Decimal", // 小数
133 : "DateTime",
135 : "SmallDateTime",
200 : "VarChar",
201 : "Text",
202 : "VarChar", // 文本
203 : "Text", // 备注
204 : "Binary", // 二进制
205 : "Image" // OLE 对象
以下字段为无编码字段(NChar、NVarchar、NText型)
8,128,130,202,203,204,205
以下字段为按当前系统内码编码的字段(Asp中可用CodePage=936纠正为gb2312内码)
129,200,201
在现有的表中增加字段:
Sql="alter table [表名] add column [字段名] varchar(200)"
修改字段类型:
Sql="alter table [表名] Alter COLUMN 字段名] varchar(50)"
删除表:
Sql="Drop table [表名]"
删除字段:
sql="alter table [表名] drop [字段名]"
修改字段:Alter TABLE [表名] Alter COLUMN [字段名] 类型(大小) NULL
新建约束:Alter TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2007-1-1')
删除约束:Alter TABLE [表名] Drop CONSTRAINT 约束名
新建默认值:Alter TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT 'Gziu.CoM' FOR [字段名]
删除默认值:Alter TABLE [表名] Drop CONSTRAINT 默认值名

=======================================
conn.open connstr
sql="alter table [tablename] add hehe char(20)"
conn.execute(sql)
response.write("添加成功")
ACCESS新建数据库和表还不简单,有了表字段初始化就更简单
=======================================
<%
session("tablen")="news"
'news是已存在的表名
session("fieldsn")="c"
'要添加的字段名
connectionstring="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/qq.mdb")
set conn=server.createobject("adodb.connection")
conn.OPEN connectionstring
jhsql = " Alter Table "&session("tablen")&" add column "&session("fieldsn")&" real "
conn.execute(jhsql)
%>
================================
生成数据表,添加字段,其中id字段为自动增加,测试通过~~
Sub GenAutoIncrementFld()
set cn=server.CreateObject("ADODB.Connection")
set clx=server.CreateObject("ADOX.Column")
set cat=server.CreateObject("ADOX.Catalog")
set tblnam=server.CreateObject("ADOX.Table")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\网站制作\asp操作mdb\db\test.mdb"
Set cat.ActiveConnection = cn
tblnam.Name = "Test"
clx.ParentCatalog = cat
clx.Type = 3
clx.Name = "Id"
clx.Properties("AutoIncrement") = true
tblnam.Columns.Append clx
tblnam.Columns.Append "DataField",130,20
cat.Tables.Append tblnam
Set clx = Nothing
Set cat = Nothing
cn.Close
Set cn = Nothing
End Sub
call GenAutoIncrementFld
===================================
字段类型对应数值
''---- DataTypeEnum Values ----
Const adEmpty = 0
Const adTinyInt = 16
Const adSmallInt = 2
Const adInteger = 3
Const adBigInt = 20
Const adUnsignedTinyInt = 17
Const adUnsignedSmallInt = 18
Const adUnsignedInt = 19
Const adUnsignedBigInt = 21
Const adSingle = 4
Const adDouble = 5
Const adCurrency = 6
Const adDecimal = 14
Const adNumeric = 131
Const adBoolean = 11
Const adError = 10
Const adUserDefined = 132
Const adVariant = 12
Const adIDispatch = 9
Const adIUnknown = 13
Const adGUID = 72
Const adDate = 7
Const adDBDate = 133
Const adDBTime = 134
Const adDBTimeStamp = 135
Const adBSTR = 8
Const adChar = 129
Const adVarChar = 200
Const adLongVarChar = 201
Const adWChar = 130
Const adVarWChar = 202
Const adLongVarWChar = 203
Const adBinary = 128
Const adVarBinary = 204
Const adLongVarBinary = 205
Const adChapter = 136
Const adFileTime = 64
Const adPropVariant = 138
Const adVarNumeric = 139
Const adArray = &H2000
### Access SQL语句概述 Access支持标准的SQL查询语言,允许用户执行数据定义、数据操作以及事务控制等功能。通过SQL可以方便地管理数据库中的表格结构和其中的数据。 #### 创建表 创建新表可以通过`CREATE TABLE`命令完成。此命令用于指定要创建的新表名称及其列属性。例如: ```sql Create Table Student ( 学号 VARCHAR(4), 姓名 VARCHAR(10) NOT NULL, 年龄 SMALLINT DEFAULT 22, 班级 VARCHAR(20) ); ``` 上述代码片段展示了如何建立一个名为Student的学生信息表[^3]。 #### 修改现有表结构 如果需要更改已存在的表结构,则可利用`ALTER TABLE`指令来实现这一目的。比如增加或删除某一特定字段,或是调整已有字段的数据类型等。具体来说,修改字段类型的语法如下所示: ```sql Alter TABLE 表名 Alter COLUMN 字段名 类型(大小) NULL; ``` 这段脚本能够改变目标表内某列的数据特性[^2]。 #### 插入记录到表里 向表中添加新的行记录可通过`INSERT INTO`语句达成。下面的例子说明了怎样往之前提到过的Student表里面加入一条关于学生的信息: ```sql Insert Into Student (学号, 姓名) Values ('1', '小刘'); ``` 这里仅提供了两个参数——即学号与姓名;而其他未提及项则会采用默认设定值或者为空。 #### 左连接(Left Join) 当涉及到多张表之间的关联查询时,“左连接”是一种常用的操作方式之一。“左连接”的特点是保留左边表所有的记录,即使右边表没有匹配项也会显示出来,在这种情况下右侧对应位置上将填充NULL作为占位符。其基本形式如下: ```sql SELECT * FROM LeftTable AS T1 LEFT JOIN RightTable AS T2 ON T1.CommonField = T2.CommonField; ``` 对于Microsoft Access而言,具体的写法可能略有不同,但核心概念保持一致[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值