Ⅰ sql插入新數據的語法是什麼
我從網上搜的,希望能幫到你
13.3 操作功能
SQL語言的操作功能包括對表中數據的增加、刪除和更新操作。
13.3.1 插入
在一個表的尾部追加數據時,要用到插入功能,SQL的插入命令包括以下3種格式:
格式:
INSERT INTO 〈表名〉 [(〈欄位名1〉 [,〈欄位名2〉,…])]
VALUES(〈表達式1〉)[, 〈表達式2〉,…])
和
INSERT INTO 〈表名〉 FROM ARRAY 〈數組名〉
INSERT INTO 〈表名〉 FROM MEMVAR
功能:3種格式都是在指定的表的表尾添加一條新記錄。
13.3.1 插入
說明:
(1)第1種格式其值為VALUES後面的表達式的值。當需要插入表中所有欄位的數據時,表名後面的欄位名可以預設,但插入數據的格式必須與表的結構完成吻合;若只需要插入表中某些欄位的數據,就需要列出插入數據的欄位,當然相應表達式的數據位置會與之對應。
(2)第2種格式新記錄的值是指定的數組中各元素的數據。數組中各元素與表中各欄位順序對應。如果數組中元素的數據類型與其對應的欄位類型不一致,則新記錄對應的欄位為空值;如果表中欄位個數大於數組元素的個數,則多的欄位為空值。
(3)第3種格式新記錄的值是指定的內存變數的值。添加的新記錄的值是與指定表各欄位名同名的內存變數的值,如果同名的內存變數不存在,則相應的欄位為空。
Visual FoxPro支持兩種SQL插入命令的格式,第一種格式是標准格式,第二種格式是Visual FoxPro的特殊格式。
13.3.1 插入
【13.42】在訂購單表中,插入元組("E7","S4","OR01",09/25/03)。
INSERT INTO 訂購單(職工號,供應商號,訂購單號,訂購日期,總金額)
VALUES("E7","S4","OR01",{^2003-09-25},1200)
其中「{^2003-09-25}」是日期型欄位訂購日期的值。
圖13.48
13.3.1 插入
假設供應商尚未確定,那麼只能先插入職工號和訂購單號兩個屬性的值,這時可用如下命令:
INSERT INTO 訂購單(職工號,訂購單號) VALUES("E7","OR01")
這時另外三個屬性的值為空。
13.3.1 插入
下面用一組命令來說明INSERT INTO…FROM ARRAY 的使用方式:
USE訂購單 &&打開訂購單
SCATTER to A1 &&將當前記錄讀到數組A1
COPY STRUCTURE TO A2 &&拷貝訂購單表的結構到A2
INSERT INTO A2 FROM ARRAY A1 &&從數組A1插入一條記錄到A2
SELECT A2 &&切換到A2的工作區
BROWSE &&用BROWSE命令驗證插入的結果
USE &&關閉A2.dbf文件
DELETE FILE A2.dbf &&刪除A2.dbf文件
13.3.1 插入
在一個表的尾部追加數據時,要用到插入功能,SQL的插入命令包括以下3種格式:
格式:
INSERT INTO 〈表名〉 [(〈欄位名1〉 [,〈欄位名2〉,…])]
VALUES(〈表達式1〉)[, 〈表達式2〉,…])
和
INSERT INTO 〈表名〉 FROM ARRAY 〈數組名〉
INSERT INTO 〈表名〉 FROM MEMVAR
功能:3種格式都是在指定的表的表尾添加一條新記錄。
13.3.1 插入
說明:
(1)第1種格式其值為VALUES後面的表達式的值。當需要插入表中所有欄位的數據時,表名後面的欄位名可以預設,但插入數據的格式必須與表的結構完成吻合;若只需要插入表中某些欄位的數據,就需要列出插入數據的欄位,當然相應表達式的數據位置會與之對應。
(2)第2種格式新記錄的值是指定的數組中各元素的數據。數組中各元素與表中各欄位順序對應。如果數組中元素的數據類型與其對應的欄位類型不一致,則新記錄對應的欄位為空值;如果表中欄位個數大於數組元素的個數,則多的欄位為空值。
(3)第3種格式新記錄的值是指定的內存變數的值。添加的新記錄的值是與指定表各欄位名同名的內存變數的值,如果同名的內存變數不存在,則相應的欄位為空。
Visual FoxPro支持兩種SQL插入命令的格式,第一種格式是標准格式,第二種格式是Visual FoxPro的特殊格式。
13.3.1 插入
【13.42】在訂購單表中,插入元組("E7","S4","OR01",09/25/03)。命令執行結果如圖13.48所示。
INSERT INTO 訂購單(職工號,供應商號,訂購單號,訂購日期,總金額)
VALUES("E7","S4","OR01",{^2003-09-25},1200)
其中「{^2003-09-25}」是日期型欄位訂購日期的值。
圖13.48
13.3.1 插入
假設供應商尚未確定,那麼只能先插入職工號和訂購單號兩個屬性的值,這時可用如下命令:
INSERT INTO 訂購單(職工號,訂購單號) VALUES("E7","OR01")
這時另外三個屬性的值為空。
13.3.1 插入
下面用一組命令來說明INSERT INTO…FROM ARRAY 的使用方式:
USE訂購單 &&打開訂購單
SCATTER to A1 &&將當前記錄讀到數組A1
COPY STRUCTURE TO A2 &&拷貝訂購單表的結構到A2
INSERT INTO A2 FROM ARRAY A1 &&從數組A1插入一條記錄到A2
SELECT A2 &&切換到A2的工作區
BROWSE &&用BROWSE命令驗證插入的結果
USE &&關閉A2.dbf文件
DELETE FILE A2.dbf &&刪除A2.dbf文件
13.3.1 插入
用下面一組命令來說明INSERT INTO…FROM MEMVAR的使用方式:
USE訂購單 &&打開訂購單
SCATTER M1 &&將當前記錄讀到內存變數M1中
COPY STRUCTURE TO A2 &&拷貝訂購單表的結構到A2
INSETR INTO A2 FROM M1 &&從內存變數插入一條記錄到A2
SELECT A2 &&切換到A2的工作區
BROWSE &&用BROWSE命令驗證插入的結果
USE &&關閉A2.dbf文件
DELETE FILE A2.dbf &&刪除A2.dbf文件
13.3.1 插入
說明:當一個表定義了主索引或候選索引後,由於相應的欄位具有關鍵字的特性,即不能為空,所以只能用此命令插入記?肌oxPro以前的插入命令(INSERT或APPEND)是先插入一條空記錄,然後再輸入各欄位的值,由於關鍵字欄位不允許為空,所以使用以前的方法就不能成功地插入記錄。
13.3.2 更新
更新是指對存儲在表中的記錄進行修改。
格式:
UPDATE [ 〈資料庫〉! ] 〈表名〉
SET 〈列名1〉=〈表達式1〉 [, 〈列名2〉=〈表達式2〉 …]
[WHERE 〈條件表達式1〉 [AND | OR 〈條件表達式2〉 …]]
13.3.2 更新
說明:
(1)[〈資料庫〉! ]〈表名〉:指定要更新數據的記錄所在的表名及該表所在的資料庫名。
(2)SET 〈列名〉=〈表達式〉:指定被更新的欄位及該欄位的新值。如果省略WHERE子句,則該欄位每一條都用同樣的值更新。
(3)WHERE 〈條件表達式〉:指明將要更新數據的記錄。即更新表中符合條件表達式的記錄,並且一次可以更新多個欄位;如果不使用WHERE子句,則更新全部記錄。
13.3.2 更新
【13.43】在職工表中,給WH1倉庫的職工提高10%的工資。命令執行結果如圖13.49所示。
UPDATE 職工 SET 工資=工資*1.10 WHERE 倉庫號="WH1"
例如: 將所有學生的年齡增加1歲:
UPDATE 學生 SET 年齡=年齡+1
13.3.3 刪除
用SQL語言可以刪除數據表中的記錄。
格式:
DELETE FROM [〈資料庫!〉]〈表名〉
[WHERE 〈條件表達式1〉 [AND | OR 〈條件表達式2〉 …]]
說明:
(1)[〈資料庫!〉]〈表名〉:指定加刪除標記的表名及該表所在的資料庫名,用「!」分割表名和資料庫名,資料庫名為可選項。
(2)WHERE選項:指明只對滿足條件的記錄加刪除標記。如果不使用WHERE子句,則刪除該表中的全部記錄。
(3)上述刪除只是加刪除標記,並沒有從物理上刪除,只有執行了PACK命令,有刪除標記的記錄才能真正從表中刪除。刪除標記可以用REACLL命令取消。
13.3.3 刪除
【13.44】刪除倉庫表中倉庫號值是WH2的記錄。
DELETE FROM 倉庫 WHERE倉庫號="WH2"
說明:SQL DELETE命令同樣是邏輯刪除記錄,如果要物理刪除記錄需要繼續使用PACK命令。
13.3.4 表的刪除
隨著資料庫應用的變化,往往有些表連同它的數據不再需要了,這時可以刪除這些表,以節省存儲空間。
格式:DROP TABLE 〈表名〉
說明:DROP TABLE直接從磁碟上刪除表名所對應的DBF文件。如果表名是資料庫中的表,並且相應的資料庫是當前資料庫,則從資料庫中刪除表;否則雖然從磁碟上刪除了DBF文件,但是記錄在資料庫DBC文件中的信息卻沒有刪除,此後會出現錯誤提示。所以要刪除資料庫中的表時,最好應使資料庫是當前打開的資料庫,在資料庫中進行操作。
Ⅱ sql2000的insert,select,update和delete命令使用
(1)數據記錄篩選:
sql="select*from數據表where欄位名=欄位值orderby欄位名[desc]"
sql="select*from數據表where欄位名like'%欄位值%'orderby欄位名[desc]"
sql="selecttop10*from數據表where欄位名orderby欄位名[desc]"
sql="select*from數據表where欄位名in('值1','值2','值3')"
sql="select*from數據表where欄位名between值1and值2"
(2)更新數據記錄:
sql="update數據表set欄位名=欄位值where條件表達式"
sql="update數據表set欄位1=值1,欄位2=值2……欄位n=值nwhere條件表達式"
(3)刪除數據記錄:
sql="deletefrom數據表where條件表達式"
sql="deletefrom數據表"(將數據表所有記錄刪除)
(4)添加數據記錄:
sql="insertinto數據表(欄位1,欄位2,欄位3…)values(值1,值2,值3…)"
sql="insertinto目標數據表select*from源數據表"(把源數據表的記錄添加到目標數據表)
(5)數據記錄統計函數:
AVG(欄位名)得出一個表格欄平均值
COUNT(*|欄位名)對數據行數的統計或對某一欄有值的數據行數統計
MAX(欄位名)取得一個表格欄最大的值
MIN(欄位名)取得一個表格欄最小的值
SUM(欄位名)把數據欄的值相加
引用以上函數的方法:
sql="selectsum(欄位名)as別名from數據表where條件表達式"
setrs=conn.excute(sql)
用rs("別名")獲取統的計值,其它函數運用同上。
(5)數據表的建立和刪除:
CREATETABLE數據表名稱(欄位1類型1(長度),欄位2類型2(長度)……)
Ⅲ sql語言的INSERT怎麼用
INSERT INTO "表格名" ("欄位1", "欄位2", ...)
VALUES ("值1", "值2", ...)
Store_Information 表格
Column Name Data Type
store_name char(50)
Sales float
Date datetime
而我們要加以下的這一筆資料進去這個表格:在 January 10, 1999,Los Angeles 店有 $900 的營業額。我們就打入以下的 SQL 語句:
INSERT INTO Store_Information (store_name, Sales, Date)
VALUES ('Los Angeles', 900, 'Jan-10-1999')
第二種 INSERT INTO 能夠讓我們一次輸入多筆的資料。跟上面剛的例子不同的是,現在我們要用 SELECT 指令來指明要輸入表格的資料。如果您想說,這是不是說資料是從另一個表格來的,那您就想對了。一次輸入多筆的資料的語法是:
INSERT INTO "表格1" ("欄位1", "欄位2", ...)
SELECT "欄位3", "欄位4", ...
FROM "表格2"
以上的語法是最基本的。這整句 SQL 也可以含有 WHERE、 GROUP BY、 及 HAVING 等子句,以及表格連接及別名等等。
舉例來說,若我們想要將 1998 年的營業額資料放入 Store_Information 表格,而我們知道資料的來源是可以由 Sales_Information 表格取得的話,那我們就可以打入以下的 SQL:
INSERT INTO Store_Information (store_name, Sales, Date)
SELECT store_name, Sales, Date
FROM Sales_Information
WHERE Year(Date) = 1998
在這里,我用了 SQL Server 中的函數來由日期中找出年。不同的資料庫會有不同的語法。 舉個例來說,在 Oracle 上,您將會使用 WHERE to_char(date,'yyyy')=1998。
Ⅳ 關於SQL insert語句 謝謝!
SQL
Server
和
Access
中數值型必須不能加引號,另外,你的語句中雙引號和單引號寫反了
還有,最後一個右括弧是全形字元,這個在任何系統里都不對的
"insert
into
t_glgz(ID,ND,YD,CLLX,CPH,DW)values('"+id+"
,'"+nd+"',..."+dw)"
補充:
你跟蹤一下那個dw變數的值,如果是科學記數法表示的就格式化一下
那要看你用什麼語言了,簡單的說就是把數字以常規表示法轉換成字元串,一般應該有現成的函數,比如
VB
中的
Format
函數、.NET
中的
IFormatProvider
介面等,你可以查查你使用的語言的文檔就能找到答案
Ⅳ SQL INSERT語句
SQL
Insert
語句
只能insert一個表,絕對不能同時insert兩個表的。
可以用事務來保證同時Insert成功,否則rollback。
Ⅵ vf中sql-insert的命令功能是什麼
你好!
insert命令在VF中可以向記錄中間添加記錄,在SQL中是向記錄末尾添加記錄,命令格式:
insert
into
表名(欄位1,欄位2,....)
values(值1,值2....)
如果對你有幫助,望採納。
Ⅶ sql insert語句怎麼寫
選擇:select * from 表名 where 條件
插入:insert into 表名(欄位名1,欄位名2) values(值1,值2)
刪除:delete from 表名 where 條件
更新:update 表名 set 要更新的欄位名=值 where 條件
查找:select * from 表名 where 欄位名 like 』%值% 』----------模糊查詢,如查蘇州,他會查出美蘇州,蘇州好等類似欄位 /////////////////////////////////////這些是基本的增,刪,查,改的SQL語句,
Ⅷ 資料庫中insert和replace都可以向表中增加記錄,這兩個命令各自特點有哪些
資料庫的SQL語句中有insert和replace兩個命令,insert命令是增加資料庫的表中的記錄的命令,而replace命令是針對資料庫表中的單條記錄進行替代數據信息記錄,不是增加記錄的命令。
Ⅸ sql 中insert 語句使用
有兩種方案
1:多條數據 就是說很多條siteMail 但是這個不合適 userName數量太多
2:addressee裡面的數據用,逗號隔開 操作的時候在切割為單個 然後再逐一發送email
這樣的話會有個什麼問題 這樣的數據網路傳輸有很多次 有多少個userName就有多少次 你要麼這樣做
1選擇好用戶--2點擊發送--3把siteMail這條數據存入資料庫--4同時把addressee切割之後的所有用戶插入用戶新郵件表(在資料庫裡面操作這條) 就是說把需要的數據穿到資料庫 在資料庫裡面完成接下來要完成的操作 這樣就減少了網路數據傳輸時間
Ⅹ sql 資料庫 插入命令
可以通過insert命令實現
sql:insert into tablename1(filename1,filename2) values(『張三』,1)
解釋:
上面語句的意思就是插入到tablname1表中filename1的值為「張三」,filename2的值為「1」。
備註:插入列的順序的值必須和插入列的類型保持一致,也就是說filename1為字元串類型,filename2為數值類型。