分享
 
 
 

SQL查询语言基本教程(3)

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

SQL查询语言基本教程(3)

四、CREATE TABLE 语句

CREATE TABLE 语句的语法为:

CREATE TABLE table (field1 type [(size)] [NOT NULL] [index1]

[, field2 type [(size)] [NOT NULL] [index2] [, ...]]

[, CONSTRAINT multifieldindex [, ...]])

table

新建立的表的名称

field1 type [(size)] [NOT NULL] [index1]

field1为字段名称,Type为字段数据类型,size 为字段宽度,下面表详细

描述了Type 的取值以及描述

Type Jet数据类型 描述

BIT Yes/No 逻辑类型

BYTE Numberic-Byte 字节数字

COUNTER Counter 自动编号

CURRENCY Currency 货币数字

DATETIME Date/Time 日期、时间

DOUBLE Numberic-Double 双精度浮点数字

LONG Numberic-Long 长整数

LONGBINARY Ole Object OLE object类型

LONGTEXT Memo 备注类型

SHORT Numberic-Integer 整数

SINGLE Numberic-Single 单精度浮点数字

TEXT Text 文本

NOT NULL

该字段下的值不能为空

index1

定义字段约束

范例七:建立学生数据表

我们还是使用前面提到的db4.mdb文件,建立一个新的工程,加入DAO定义库,然后在Form1的Load事件中加入以下代码:

Private Sub Form_Load()

Dim astr As String

Dim dbAdd As Database

Screen.MousePointer = vbHourglass

Set dbAdd = DBEngine.Workspaces(0).OpenDatabase("c:\db4.mdb")

astr = "CREATE TABLE tbl_students " & _

"(stdID COUNTER PRIMARY KEY, " & _

"stdName TEXT(12) NOT NULL, " & _

"stdAge SHORT, " & _

"stdBir DATETIME, " & _

"stdSex BIT)"

Debug.Print astr

dbAdd.Execute astr

Screen.MousePointer = vbDefault

MsgBox "数据库建立成功."

dbAdd.Close

Set dbAdd = Nothing

End Sub

运行程序,这时会弹出数据库建立成功的消息框,使用Access打开db4.mdb,可以看到表tbl_students已经加入到数据库

中了。在上面的范例中,我们加入一个名称为tbl_students的表并加入5个字段:stdID:学号,自动编号类型,并作为主键;

stdName:学生姓名,长度为12的文本类型,并且不能为空;stdAge:学生年龄,整数类型;stdBir:出生日期,日期类型;

stdSex:性别,逻辑类型。

如果要删除数据库中的表,只要使用语句 DROP TABLE 就可以实现表的删除,使用范例如下:

DROP TABLE tblname

其中tblname为表格的名称。

五:INSERT INTO 语句

INSERT INTO语句实现向表中插入数据,该函数可以将一个已存在的表中的数据插入新表,也可以将自定义的值插入新表。

插入已有的表中的数据的函数语法如下:

INSERT INTO target [(field1[, field2[, ...]])] [IN externaldatabase]

SELECT [source.]sfield1[, sfield2[, ...]

FROM tableexpression

target

添加数据的表的名称

field1, field2

需要添加数据的字段名称

externaldatabase

附加的数据库名称

source

拷贝数据的表的名称

sfield1 sfield2

拷贝数据的字段的名称

插入新数据的语法如下:

INSERT INTO target [(field1[, field2[, ...]])]

VALUES (value1[, value2[, ...])

value1, value2

插入的值,value1将插入field1,value2将插入field2。

范例八:向表中插入新数据和其它表中的数据

我们在前面的范例中,已经向 c:\db4.mdb 中加入了一个名为 db2的表和tbl_students的表,其中db2中包含三个学生

的信息,tbl_students没有包含纪录,现在我们要将db2表中的学生纪录中的学生姓名值附加到tbl_students表的stdName字段

中。下面是具体的添加范例:

建立一个新的工程,加入DAO定义库,然后在Form1的Form_Load事件中加入以下代码:

Private Sub Form_Load()

Dim astr As String

Dim dbAdd As Database

Screen.MousePointer = vbHourglass

Set dbAdd = DBEngine.Workspaces(0).OpenDatabase("c:\db4.mdb")

astr = "INSERT INTO [tbl_students] ([stdName])" & _

"SELECT DISTINCT db2.学生 FROM db2 "

Debug.Print astr

dbAdd.Execute astr

Screen.MousePointer = vbDefault

MsgBox "数据添加成功."

dbAdd.Close

Set dbAdd = Nothing

End Sub

运行程序,会弹出数据添加成功的消息框。打开db4.mdb ,可以看到db2表中的学生姓名已经添加到tbl_students中了。

将astr改变为下面的命令字符串就可以增加一条新纪录:

astr = "INSERT INTO [tbl_students] ([stdName],[stdAge],[stdBir],[stdSex])" & _

"VALUES ('李想', 15, #1985-10-10#, 1)"

六、DELETE 语句

DELETE 语句从表中删除纪录(数据行)该语句的语法如下:

DELETE FROM table

WHERE criteria

table

要删除纪录的表的名称

criteria

删除条件

DELETE语句将表table中符合条件criteria的级路删除。例如下面的语句将删除表 tbl中count字段大于10的纪录:

dbfText.Execute("DELETE FROM [tbl] WHERE [tbl.count]>10")

七、ALTER TABLE 语句

ALTER TABLE 语句执行改变数据库结构的工作,它可以向表中添加或者删除一列。函数的语法如下:

ALTER TABLE table {ADD {COLUMN field type[(size)] [NOT NULL] [CONSTRAINT index] |

CONSTRAINT multifieldindex} |

DROP {COLUMN field I CONSTRAINT indexname} }

ALTER TABLE 语句中包含两个子语句:ADD COLUMN或者DROP COLUMN,其中ADD COLUMN执行向表中添加列的工作,

DROP COLUMN执行删除表中列的工作。另外CONSTRAINT子语句执行建立数据索引的工作。语法中的其它要素解释如下:

table

要改变结构的表的名称

field

要添加/删除的列的名称

type(size)

添加列的数据类型以及数据长度

index

索引的名称

multifieldindex

多字段索引名称

范例九:向tbl_students中添加一列

建立一个新的工程,加入DAO定义库,然后在Form1的Form_Load事件中加入以下代码:

Private Sub Form_Load()

Dim astr As String

Dim dbAdd As Database

Screen.MousePointer = vbHourglass

Set dbAdd = DBEngine.Workspaces(0).OpenDatabase("c:\db4.mdb")

astr = "ALTER TABLE tbl_students ADD COLUMN stdPhone TEXT(15)"

Debug.Print astr

dbAdd.Execute astr

Screen.MousePointer = vbDefault

MsgBox "列添加成功."

dbAdd.Close

Set dbAdd = Nothing

End Sub

运行程序,会弹出列添加成功的消息框。打开db4.mdb 中的tbl_students表,可以看到其中多了一个stdPhone列,该列

为文本类型,长度为15字节。

八、UPDATE 语句

UPDATE 语句执行对数据库中的数据做大量的更新工作,该语句的语法如下:

UPDATE table

SET newvalue

WHERE criteria

table

要改变其数据内容的数据库名称

newvalue

将旧纪录值改变为新值的表达式,。

criteria

一个表达式,SQL将通过该表达式监测哪些纪录值将被改变

范例十:改变tbl_student表中的电话号码

假设由于电话升位而要批量改变学生数据库中的电话号码的话,利用UPDATE语句可以十分方便的实现。

首先用Access打开db4.mdb 在tbl_students 表中的 stdPhone 字段中写入电话号码。然后在VB中建立一个新的工程,

加入DAO定义库,在Form1的Form_Load事件中加入以下代码:

Private Sub Form_Load()

Dim astr As String

Dim dbAdd As Database

Screen.MousePointer = vbHourglass

Set dbAdd = DBEngine.Workspaces(0).OpenDatabase("c:\db4.mdb")

astr = "UPDATE tbl_students SET [stdPhone]='6' + [stdPhone]" & _

" WHERE [stdPhone]<>''"

Debug.Print astr

dbAdd.Execute astr

Screen.MousePointer = vbDefault

MsgBox "纪录更改成功."

dbAdd.Close

Set dbAdd = Nothing

End Sub

运行程序,会弹出纪录更改成功的消息框。打开db4.mdb 中的tbl_students表,可以看到在stdPhone字段中原来的纪录

前都添加了6 。而没有电话纪录的没有改变

www.applevb.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有