Ⅰ 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为数值类型。