SQL查詢語言基本教程(3) (轉)
查詢語言基本教程(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 OLE object型別
LONGTEXT Memo 備註型別
SHORT Numberic-Integer 整數
SINGLE Numberic-Single 單精度浮點數字
TEXT Text 文字
NOT NULL
該欄位下的值不能為空
index1
定義欄位
範例七:建立學生資料表
我們還是使用前面提到的4.mdb,建立一個新的工程,加入DAO定義庫,然後在Form1的Load事件中加入以下程式碼:
Private Sub Form_Load()
Dim astr As String
Dim dd 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)"
De.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]
[.]ield1[, 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 中加入了一個名為 的表和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 。而沒有電話紀錄的沒有改變
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-987980/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL語言(結構化查詢語言)SQL
- SQL語言基礎(子查詢)SQL
- SQL語言基礎(高階查詢)SQL
- SQL語言_多表查詢和TOP限制結果集_PAGE3SQL
- SQL(Structured Query Language,結構化查詢語言)SQLStruct
- 關係型資料庫查詢語言 SQL 和圖資料庫查詢語言 nGQL 對比資料庫SQL
- SQL mother查詢語句SQL
- sql查詢語句流程SQL
- SQL查詢語句 (Oracle)SQLOracle
- 20201214]查詢隱式轉換的sql語句.txtSQL
- [20201214]查詢隱式轉換的sql語句.txtSQL
- prometheus之查詢語言Prometheus
- Kibana查詢語言(KQL)
- MySQL — 資料查詢語言MySql
- PostgreSQL 原始碼解讀(18)- 查詢語句#3(SQL Parse)SQL原始碼
- SQL-基礎語法 - 條件查詢 - 模糊查詢SQL
- postgresql dba常用sql查詢語句SQL
- 【SQL】Oracle查詢轉換之 OR用法SQLOracle
- go語言實戰教程之管理員查詢功能、退出功能Go
- 資料庫原理實驗指導(三)使用SQL語言進行簡單查詢【轉載csdn】資料庫SQL
- 資料庫查詢語言(DQL)資料庫
- C# LINQ (語言整合查詢)C#
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- 圖查詢語言 nGQL 簡明教程 vol.01 快速入門
- SQL Server 語句日期格式查詢方法SQLServer
- SQL單表查詢語句總結SQL
- SQL Server-簡單查詢語句SQLServer
- mysql查詢效率慢的SQL語句MySql
- 二叉查詢樹(查詢、插入、刪除)——C語言C語言
- SQL Server 查詢歷史執行的SQL語句SQLServer
- hisql ORM 查詢語句使用教程SQLORM
- 使用sql語句查詢平均值,使用sql語句查詢資料總條數, not in 篩選語句的使用SQL
- “超越” SQL 的資料查詢語言“新秀”Top8:GraphQL、PRQL、WebAssembly上榜SQLWeb
- oql4j物件查詢語言物件
- 靈活的API查詢語言——GraphQLAPI
- MySql中的資料查詢語言(DQL)三:連線查詢MySql
- SQL查詢的:子查詢和多表查詢SQL
- SQL-基礎語法-選擇查詢SQL
- SQL-基礎語法-查詢-別名SQL