sql修改语句

sql修改语句,第1张

SQL中使用UPDATE语句修改表中的数据。

sql修改语句的写法:【UPDATE表名称SET列名称=新值WHERE列名称=某值】。

UPDATE语句不仅指定要更改的行,还指定要用作这些行中特定列的新值的表达式。

可以使用UPDATE语句更改表中的单个行、一组行或所有行。与其它数据修改语句(INSERT、MERGE和DELETE)不同,UPDATE语句还可以同时对多个表中的行进行修改。

在所有情况下,UPDATE语句的执行均为原子 *** 作;要么正确无误地修改所有行,要么不修改任何行。例如,如果当前修改的一个值的数据类型不正确,或者在新值导致违反CHECK约束时,UPDATE将失败,并且整个 *** 作都会回退。

UPDATE语句使用注意事项

1、使用Update语句,如果省略“Where条件”,将更新数据表内的全部记录。

2、赋值时,注意字段的类型。若为文本型或备注型,则字段值两边要加引号,若为日期/时间型,则字段值两边要加上#号(加引号也可以);若为布尔类型,则该字段的值为True或False;若为自动编号类型,则不要给该字段赋值。

一、增:有2种方法

1.使用insert插入单行数据:

语法:insert [into] <表名>[列名] values <列值>

例:insert into Strdents (姓名,性别,出生日期) values ('王伟华','男','1983/6/15')

注意:如果省略表名,将依次插入所有列

2.使用insert,select语句将现有表中的 数据添加到已有的新表中

语法:insert into <已有的新表><列名>select <原表列名>from <原表名>

例:insert into addressList ('姓名','地址','电子邮件')select name,address,email

from  Strdents

注意:查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致

二、删:有2中方法

1.使用delete删除数据某些数据

语法:delete from <表名>[where <删除条件>]

例:delete from a where name='王伟华'(删除表a中列值为王伟华的行) 

注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名

2.使用truncate table 删除整个表的数据

语法:truncate table <表名>

例:truncate table addressList

注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能

用于有外建约束引用的表

三、改使用update更新修改数据

语法:update <表名>set <列名=更新值>[where <更新条件>]

例:update addressList set 年龄=18 where 姓名='王伟华'

注意:set后面可以紧随多个数据列的更新值(非数字要引号);where子句是可选的(非数字要引号),用来限制条件,如果不选则整个表的所有行都被更新

四、查

语法:select <列名>from <表名>[where <查询条件表达试>] [order by <排序的列

名>[asc或desc]]

1).查询所有数据行和列

例:select * from a

说明:查询a表中所有行和

2).查询部分行列--条件查询

例:select i,j,k   from  a   where f=5

说明:查询表a中f=5的所有行,并显示i,j,k3列

3).在查询中使用AS更改列名

例:select name as 姓名 from a where  gender='男'

说明:查询a表中性别为男的所有行,显示name列,并将name列改名为(姓名)显示

4).查询空行

例:select name from a where email is null

说明:查询表a中email为空的所有行,并显示name列;SQL语句中用is null或者is not null

来判断是否为空行

5).在查询中使用常量

例:select name '北京' as 地址 from a

说明:查询表a,显示name列,并添加地址列,其列值都为'北京'

6).查询返回限制行数(关键字:top )

例1:select top 6 name from a

说明:查询表a,显示列name的前6行,top为关键字(oracle 中没有top关键字

用rownum替代)

select   *   from   a where   rownum<6

7).查询排序(关键字:order by , asc , desc)

例:select name

from a

where grade>=60

order by desc

说明:查询表中成绩大于等于60的所有行,并按降序显示name列;默认为ASC升序


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存