SQL 同时更新一张表里的一个字段所有数据怎么 *** 作?

SQL 同时更新一张表里的一个字段所有数据怎么 *** 作?,第1张

按如下语句就行了:

update [表名] set [字段名] = [值]

如果是根据一个表更新此表,套用如下方式:

update [表名] set [字段名] = (select [字段名] from [其他表] where [两表间的关联条件])。

一、简单介绍

1.SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

2.SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。

二、应用信息

结构化查询语言SQL(STRUCTURED QUERY LANGUAGE)是最重要的关系数据库 *** 作语言,并且它的影响已经超出数据库领域,得到其他领域的重视和采用,如人工智能领域的数据检索,第四代软件开发工具中嵌入SQL的语言等。

三、支持标准

SQL 是1986年10 月由美国国家标准局(ANSI)通过的数据库语言美国标准,接着,国际标准化组织(ISO)颁布了SQL正式国际标准。1989年4月,ISO提出了具有完整性特征的SQL89标准,1992年11月又公布了SQL92标准,在此标准中,把数据库分为三个级别:基本集、标准集和完全集。

四、其他版本

1.各种不同的数据库对SQL语言的支持与标准存在着细微的不同,这是因为,有的产品的开发先于标准的公布,另外,各产品开发商为了达到特殊的性能或新的特性,需要对标准进行扩展。已有100多种遍布在从微机到大型机上的数据库产品SQL,其中包括DB2、SQL/DS、ORACLE、INGRES、SYBASE、SQLSERVER、DBASEⅣ、PARADOX、MICROSOFTACCESS等。

2.SQL语言基本上独立于数据库本身、使用的机器、网络、 *** 作系统,基于SQL的DBMS产品可以运行在从个人机、工作站到基于局域网、小型机和大型机的各种计算机系统上,具有良好的可移植性。可以看出标准化的工作是很有意义的。早在1987年就有些有识之士预测SQL的标准化是“一场革命”,是“关系数据库管理系统的转折点”。数据库和各种产品都使用SQL作为共同的数据存取语言和标准的接口,使不同数据库系统之间的互 *** 作有了共同的基础,进而实现异构机、各种 *** 作环境的共享与移植

3.1974年,在IBM公司圣约瑟研究实验室研制的大型关系数据库管理系统SYSTEM R 中,使用SEQUEL语言(由BOYCE 和CHAMBERLIN 提出),后来在SEQUEL 的基础上发展了SQL 语言。 SQL语言是一种交互式查询语言,允许用户直接查询存储数据,但它不是完整的程序语言,如它没有DO或FOR 类似的循环语句,但它可以嵌入到另一种语言中,也可以借用VB、C、JAVA等语言,通过调用级接口(CALL LEVEL INTERFACE)直接发送到数据库管理系统。SQL基本上是域关系演算,但可以实现关系代数 *** 作。

五、语言特点

1.一体化

SQL集数据定义DDL、数据 *** 纵DML和数据控制DCL于一体,可以完成数据库中的全部工作。

2.使用方式灵活

它具有两种使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主语言中使用。

3.非过程化

只提 *** 作要求,不必描述 *** 作步骤,也不需要导航。使用时只需要告诉计算机“做什么”,而不需要告诉它“怎么做”。

4.语言简洁,语法简单,好学好用

在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。

update a set a.telephone=b.telephone

from table2 a

inner join table1 b on a.joid_id=b.user_id

或者

update table2

set telephone=a.telephone

from table1 a

WHERE table2.joid_id=a.user_id

两种方式都可以

老弟我要挖苦你一下:

SQL 2005 以后 可以使用

多句表格值函数,

这个支持控制语句,插入更新等块 *** 作,可以弥补视图的不足。很多人都认为可以用函数取缔

视图。

在sqlserver 社区,经常有人吵架,是要存储过程,函数,还是视图?

其次我不支持你在数据库上屏蔽差异,这个多少是奇淫技巧,如果是南天数据库,你不是要玩吐血。

就用最基本的sql92标准实现功能,屏蔽数据库差异是最好的选择。

但是你只是获得一个自增编号,写函数都浪费。

举个例子:

Declare @tb table (PName nvarchar(30) ,Code_No nvarchar(30))

insert into @tb values('P01','A')

insert into @tb values('P02','B')

insert into @tb values('P03','C')

insert into @tb values('P04','D')

insert into @tb values('P05','E')

insert into @tb values('P06','F')

SELECT

ROW_NUMBER() OVER (ORDER BY PName) as Rank,Code_No,PName

FROM @tb

--------------

返回结果:

1 AP01

2 BP02

3 CP03

4 DP04

5 EP05

6 FP06

----

这可行否?

如果是 2000 使用子查询也可轻松实现自增编号啊。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10046717.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存