SQL的update语句怎么写

SQL的update语句怎么写,第1张

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值,update语句的写法:

1、UPDATE table_name

2、SET column1=value1,column2=value2,

3、WHERE column(1)=value(1),column(2)=value(2)and column(n)=value(n);

4、UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing',WHERE LastName = 'Wilson'

扩展资料

SQL的update语句写法的特点

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

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

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

4、语言简洁,语法简单,好学好用:在ANSI标准中,只包含了94个英文单词,核心功能只用6个动词,语法接近英语口语。

参考资料来源:百度百科—update (数据库SQL语法用语)

掌握SQL四条最基本的数据 *** 作语句:Insert,Select,Update和Delete。

练掌握SQL是数据库用户的宝贵财 富。在本文中,我们将引导你掌握四条最基本的数据 *** 作语句—SQL的核心功能—来依次介绍比较 *** 作符、选择断言以及三值逻辑。当你完成这些学习后,显然你已经开始算是精通SQL了。

在我们开始之前,先使用CREATE TABLE语句来创建一个表(如图1所示)。DDL语句对数据库对象如表、列和视进行定义。它们并不对表中的行进行处理,这是因为DDL语句并不处理数据库中实际的数据。这些工作由另一类SQL语句—数据 *** 作语言(DML)语句进行处理。

SQL中有四种基本的DML *** 作:INSERT,SELECT,UPDATE和DELETE。由于这是大多数SQL用户经常用到的,我们有必要在此对它们进行一一说明。在图1中我们给出了一个名为EMPLOYEES的表。其中的每一行对应一个特定的雇员记录。请熟悉这张表,我们在后面的例子中将要用到它。

INSERT语句

用户可以用INSERT语句将一行记录插入到指定的一个表中。例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:

INSERT INTO EMPLOYEES VALUES

('Smith','John','1980-06-10',

'Los Angles',16,45000);

通过这样的INSERT语句,系统将试着将这些值填入到相应的列中。这些列按照我们创建表时定义的顺序排列。在本例中,第一个值“Smith”将填到第一个列LAST_NAME中;第二个值“John”将填到第二列FIRST_NAME中……以此类推。

我们说过系统会“试着”将值填入,除了执行规则之外它还要进行类型检查。如果类型不符(如将一个字符串填入到类型为数字的列中),系统将拒绝这一次 *** 作并返回一个错误信息。

如果SQL拒绝了你所填入的一列值,语句中其他各列的值也不会填入。这是因为SQL提供对事务的支持。一次事务将数据库从一种一致性转移到另一种一致性。如果事务的某一部分失败,则整个事务都会失败,系统将会被恢复(或称之为回退)到此事务之前的状态。

回到原来的INSERT的例子,请注意所有的整形十进制数都不需要用单引号引起来,而字符串和日期类型的值都要用单引号来区别。为了增加可读性而在数字间插入逗号将会引起错误。记住,在SQL中逗号是元素的分隔符。

同样要注意输入文字值时要使用单引号。双引号用来封装限界标识符。

对于日期类型,我们必须使用SQL标准日期格式(yyyy-mm-dd),但是在系统中可以进行定义,以接受其他的格式。当然,2000年临近,请你最好还是使用四位来表示年份。

既然你已经理解了INSERT语句是怎样工作的了,让我们转到EMPLOYEES表中的其他部分:

INSERT INTO EMPLOYEES VALUES

('Bunyan','Paul','1970-07-04',

'Boston',12,70000);

INSERT INTO EMPLOYEES VALUES

('John','Adams','1992-01-21',

'Boston',20,100000);

INSERT INTO EMPLOYEES VALUES

('Smith','Pocahontas','1976-04-06',

'Los Angles',12,100000);

INSERT INTO EMPLOYEES VALUES

('Smith','Bessie','1940-05-02',

'Boston',5,200000);

INSERT INTO EMPLOYEES VALUES

('Jones','Davy','1970-10-10',

'Boston',8,45000);

INSERT INTO EMPLOYEES VALUES

('Jones','Indiana','1992-02-01',

'Chicago',NULL,NULL);

在最后一项中,我们不知道Jones先生的工薪级别和年薪,所以我们输入NULL(不要引号)。NULL是SQL中的一种特殊情况,我们以后将进行详细的讨论。现在我们只需认为NULL表示一种未知的值。

有时,像我们刚才所讨论的情况,我们可能希望对某一些而不是全部的列进行赋值。除了对要省略的列输入NULL外,还可以采用另外一种INSERT语句,如下:

INSERT INTO EMPLOYEES(

FIRST_NAME, LAST_NAME,

HIRE_DATE, BRANCH_OFFICE)

VALUE(

'Indiana','Jones',

'1992-02-01','Indianapolis');

这样,我们先在表名之后列出一系列列名。未列出的列中将自动填入缺省值,如果没有设置缺省值则填入NULL。请注意我们改变了列的顺序,而值的顺序要对应新的列的顺序。如果该语句中省略了FIRST_NAME和LAST_NAME项(这两项规定不能为空),SQL *** 作将失败。

让我们来看一看上述INSERT语句的语法图:

INSERT INTO table

[(column { ,column})]

VALUES

(columnvalue [{,columnvalue}]);

和前一篇文章中一样,我们用方括号来表示可选项,大括号表示可以重复任意次数的项(不能在实际的SQL语句中使用这些特殊字符)。VALUE子句和可选的列名列表中必须使用圆括号。

SELECT 子句

指定由查询返回的列。

语法

SELECT [ ALL | DISTINCT ]

[ TOP n [ PERCENT ] [ WITH TIES ] ]

< select_list >

< select_list > ::=

{

| { table_name | view_name | table_alias }

| { column_name | expression | IDENTITYCOL | ROWGUIDCOL }

[ [ AS ] column_alias ]

| column_alias = expression

} [ ,n ]

参数

ALL

指定在结果集中可以显示重复行。ALL 是默认设置。

DISTINCT

指定在结果集中只能显示唯一行。为了 DISTINCT 关键字的用途,空值被认为相等。

TOP n [PERCENT]

指定只从查询结果集中输出前 n 行。n 是介于 0 和 4294967295 之间的整数。如果还指定了 PERCENT,则只从结果集中输出前百分之 n 行。当指定时带 PERCENT 时,n 必须是介于 0 和 100 之间的整数。

如果查询包含 ORDER BY 子句,将输出由 ORDER BY 子句排序的前 n 行(或前百分之 n 行)。如果查询没有 ORDER BY 子句,行的顺序将任意。

WITH TIES

指定从基本结果集中返回附加的行,这些行包含与出现在 TOP n (PERCENT) 行最后的 ORDER BY 列中的值相同的值。如果指定了 ORDER BY 子句,则只能指定 TOP WITH TIES。

< select_list >

为结果集选择的列。选择列表是以逗号分隔的一系列表达式。

指定在 FROM 子句内返回所有表和视图内的所有列。列按 FROM 子句所指定的由表或视图返回,并按它们在表或视图中的顺序返回。

table_name | view_name | table_alias

将 的作用域限制为指定的表或视图。

column_name

是要返回的列名。限定 column_name 以避免二义性引用,当 FROM 子句中的两个表内有包含重复名的列时会出现这种情况。例如,Northwind 数据库中的 Customers 和 Orders 表内都有名为 ColumnID 的列。如果在查询中联接这两个表,可以在选择列表中将客户 ID 指定为 CustomersCustomerID。

expression

是列名、常量、函数以及由运算符连接的列名、常量和函数的任意组合,或者是子查询。

IDENTITYCOL

返回标识列。有关更多信息,请参见 IDENTITY(属性)、ALTER TABLE 和 CREATE TABLE。

如果 FROM 子句中的多个表内有包含 IDENTITY 属性的列,则必须用特定的表名(如 T1IDENTITYCOL)限定 IDENTITYCOL。

ROWGUIDCOL

返回行全局唯一标识列。

如果在 FROM 子句中有多个表具有 ROWGUIDCOL 属性,则必须用特定的表名(如 T1ROWGUIDCOL)限定 ROWGUIDCOL。

column_alias

是查询结果集内替换列名的可选名。例如,可以为名为 quantity 的列指定别名,如"Quantity"或"Quantity to Date"或"Qty"。

别名还可用于为表达式结果指定名称,例如:

USE Northwind

SELECT AVG(UnitPrice) AS 'Average Price'

FROM [Order Details]

column_alias 可用于 ORDER BY 子句。然而,不能用于 WHERE、GROUP BY 或 HAVING 子句。如果查询表达式是 DECLARE CURSOR 语句的一部分,则 column_alias 不能用在 FOR UPDATE 子句中。

INTO 子句

创建新表并将结果行从查询插入新表中。

用户若要执行带 INTO 子句的 SELECT 语句,必须在目的数据库内具有 CREATE TABLE 权限。SELECTINTO 不能与 COMPUTE 子句一起使用。有关更多信息,请参见事务和显式事务。

通过在 WHERE 子句中包含 FALSE 条件,可以使用 SELECTINTO 创建没有数据的相同表定义(不同表名)。

语法

[ INTO new_table ]

参数

new_table

根据选择列表中的列和 WHERE 子句选择的行,指定要创建的新表名。new_table 的格式通过对选择列表中的表达式进行取值来确定。new_table 中的列按选择列表指定的顺序创建。new_table 中的每列有与选择列表中的相应表达式相同的名称、数据类型和值。

当选择列表中包含计算列时,新表中的相应列不是计算列。新列中的值是在执行 SELECTINTO 时计算出的。

在此次发布的 SQL Server 版本中,select into/bulkcopy 数据库选项对是否可以使用 SELECT INTO 创建永久表没有影响。对包括 SELECT INTO 在内的某些大容量 *** 作的记录量,取决于对数据库有效的恢复模式。有关更多信息,请参见使用恢复模型。

在以前发布的版本中,如果设置了 select into/bulk copy,则可用 SELECT INTO 创建永久表。

以上就是关于SQL的update语句怎么写全部的内容,包括:SQL的update语句怎么写、这些题目在SQL数据库中的语法怎么的非常急、SQL的语法 详细 介绍 等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9361836.html

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

发表评论

登录后才能评论

评论列表(0条)

保存