预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

UPDATE语句的用法详解UPDATE语句的用法详解UPDATE语句用于修改数据库表中的数据,让表中的数据得到一定程度的更新。下面是小编整理的UPDATE语句的用法详解,欢迎大家阅览。UPDATE语句的用法详解1现实应用中数据库中的数据改动是免不了的。通常,几乎所有的用户数据库中的大部分数据都要进行某种程度的修改。在SQLServer数据库中要想修改数据库记录,就需要用UPDATE语句,UPDATE语句就是为了改变数据库中的现存数据而存在的。这条语句虽然有一些复杂的选项,但确实是最容易学习的语句之一。这是因为在大多数情况下,这条语句的高级部分很少使用。在用户看来,UPDATE语句只是用来改变指定行中的数据。但实际的内部情况是,SQLServer从表中删除旧的数据行并插入新行。SQLServerUPDATE语句的语法如下:updateset=where下面是语法选项简介:表的名称。该表包含了要修改值的列要修改数据的列的名称要输入到列中的新值这是UPDATE语句中最重要的部分。通过指定一个好的搜索条件,你能够限定表内被修改的行数。如果你不指定搜索条件,SQLServer会用新值修改表内的所有行示例:现在我们来看看如何实际修改表中的某些行。我们在表中有一列使用了唯一值,可以区分表中的每一行。因此,我们可以轻松地写下UPDATE语句,只改变对应某作者的那行数据。如下:复制代码代码如下:userssetphone=78789831wherenumber=231;比如现在我们要把超市表内的每件商品价格都提高11%,是否有必要为每一行都写一条独立的'UPDATE语句呢?就现在的情况而言,也许不会有很多的UPDATE语句要写,但如果是更大的表,这就成问题了。所以回答是否定的。你所要做的只是写一条不指定要更新的行的UPDATE语句,如下所示:复制代码代码如下:shopsetpriceprice=price*.11;UPDATE语句的用法详解2单表的MySQLUPDATE语句:UPDATE[LOW_PRIORITY][IGNORE]tbl_nameSETcol_name1=expr1[,col_name2=expr2...][WHEREwhere_definition][ORDERBY...][LIMITrow_count]多表的UPDATE语句:UPDATE[LOW_PRIORITY][IGNORE]table_referencesSETcol_name1=expr1[,col_name2=expr2...][WHEREwhere_definition]UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。如果指定了ORDERBY子句,则按照被指定的顺序对行进行更新。LIMIT子句用于给定一个限值,限制可以被更新的行的数目。MySQLUPDATE语句支持以下修饰符:如果您使用LOW_PRIORITY关键词,则UPDATE的执行被延迟了,直到没有其它的客户端从表中读取为止。如果您使用IGNORE关键词,则即使在更新过程中出现错误,更新语句也不会中断。如果出现了重复关键字冲突,则这些行不会被更新。如果列被更新后,新值会导致数据转化错误,则这些行被更新为最接近的合法的值。如果您在一个表达式中通过tbl_name访问一列,则UPDATE使用列中的当前值。例如,以下语句把年龄列设置为比当前值多一:MySQL>UPDATEpersondataSETageage=age+1;MySQLUPDATE赋值被从左到右评估。例如,以下语句对年龄列加倍,然后再进行增加:MySQL>UPDATEpersondataSETageage=age*2,ageage=age+1;如果您把一列设置为其当前含有的值,则MySQL会注意到这一点,但不会更新。如果您把被已定义为NOTNULL的列更新为NULL,则该列被设置到与列类型对应的默认值,并且累加警告数。对于数字类型,默认值为0;对于字符串类型,默认值为空字符串();对于日期和时间类型,默认值为“zero”值。UPDATE会返回实际被改变的行的数目。MySQL_info()CAPI函数可以返回被匹配和被更新的行的数目,以及在UPDATE过程中产生的警告的数量。您可以使用LIMITrow_count来限定UPDATE的范围。LIMIT子句是一个与行匹配的限定。只要发现可以满足WHERE子句的row_count行,则该语句中止,不论这些行是否被改变。如果一个UPDATE语句包括一个ORDERBY子句,则按照由子句指定的顺序更新行。您也可以执行包括多个表的UPDATE操作。table_references子句列出了在