sql数据库增删改查建表删表语句_第1页
sql数据库增删改查建表删表语句_第2页
sql数据库增删改查建表删表语句_第3页
sql数据库增删改查建表删表语句_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电脑相关问题,程序设计方面的,即能够写程序实现添(增)力口、删除、修改和查询”四大功能。具体操作如下:一、增:有 4 种方法1 .使用 insert 插入单行数据:语法:insertinto表名列名values列值例:insertintoStrdents(姓名性别,出生日期)values(开心朋朋,男,1980/6/15)注意:into 可以省略;列名列值用逗号分开;列值用单引号因上;如果省略表名,将依次插入所有列2 .使用 insertselect 语句将现有表中的数据添加到已有的新表中语法:insertinto已有的新表列名select原表列名from原表名例:insertintotong

2、xunlu(姓名,地址,电子邮件)selectname,address,emailfromStrdents注意:into 不可省略;查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致3 .使用 selectinto 语句将现有表中的数据添加到新建表中语法:select新建表列名into新建表名from源表名例:selectname,address,emailintotongxunlufromstrdents注意:新表是在执行查询语句的时候创建的,不能够预先存在在新表中插入标识列(关键字,identity?):语法:selectidentity(数据类型,标识种子,标识增长量)AS 列

3、名into 新表 from 原表名例:selectidentity(int,1,1)as 标识歹 U,dengluid,passwordintotongxunlufromStruents 注意:关键字,identity?4 .使用 union 关键字合并数据进行插入多行语法:insert表名歹名select歹值tnionselect歹值例:insertStudents(姓名,性别,出生日期)select开心朋朋,男,1980/6/15union(union 表示下一行)select蓝色小明,男,19*/*/*注意:插入的列值必须和插入的列名个数、顺序、数据类型一致二、删:有 2 中方法1 .使

4、用 delete 删除数据某些数据语法:deletefrom表名where删除条件例:deletefromawherename=开心朋朋(删除表 a 中列值为开心朋朋的行)注意:删除整行不是删除单个字段,所以在 delete 后面不能出现字段名2 .使用 truncatetable 删除整个表的数据语法:truncatetable表名例:truncatetabletongxunlu注意:删除表的所有行,但表的结构、歹 h 约束、索引等不会被删除;不能用语有外建约束引用的表三、改使用 update 更新修改数据语法:update表名set列名=更新值where更新条件例:updatetongxu

5、nluset 年龄=18where 姓名=蓝色小名注意:set 后面可以紧随多个数据列的更新值;where 子句是可选的,用来限制条件,如果不选则整个表的所有行都被更新四、查1 .普通查询语法:select列名from表名where查询条件表达试orderby排序的列名asc或 desc1) .查询所有数据行和列例:select*froma说明:查询 a 表中所有行和列2) .查询部分行列-条件查询例:selecti,j,kfromawheref=5说明:查询表 a 中 f=5 的所有行,并显示 i,j,k3 列3) .在查询中使用 AS 更改列名例:selectnameas 姓名 froma

6、whrerxingbie=男说明:查询 a 表中性别为男的所有行,显示 name 列,并将 name 列改名为(姓名)显示4) .查询空行例:selectnamefromawhereemailisnull说明: 查询表 a 中 email 为空的所有行, 并显示 name 歹 U;SQL 语句中用 isnull 或者 isnotnull来判断是否为空行5) .在查询中使用常量例:selectname唐山as 地址 froma说明:查询表 a,显示 name 列,并添加地址列,其列值都为唐山6) .查询返回限制行数(关键字:toppercent)例 1:selecttop6namefroma说明

7、:查询表 a,显示列 name 的前 6 行,top 为关键字例 2:selecttop60percentnamefroma说明:查询表 a,显示列 name 的 60%,percent 为关键字7) .查询排序(关键字:orderby,asc,desc)例:selectnamefromawherechengji=60orderbydesc说明:查询表中 chengji 大于等于 60 的所有行,并按降序显示 name 列;默认为ASC 升序2 .模糊查询1) .使用 like 进行模糊查询注意:like 运算副只用语字符串,所以仅与 char 和 varchar 数据类型联合使用例:sele

8、ct*fromawherenamelike赵%说明:查询显示表 a 中,name 字段第一个字为赵的记录2) .使用 between 在某个范围内进行查询例:select*fromawherenianlingbetween18and20说明:查询显示表 a 中 nianling 在 18 到 20 之间的记录3) .使用 in 在列举值内进行查询例:selectnamefromawhereaddressin(d 匕京,上海,唐山)说明:查询表 a 中 address 值为北京或者上海或者唐山的记录,显示 name 字段3 .分组查询1) .使用 groupby 进行分组查询例:selectst

9、udentIDas 学员编号,AVG(score)as 平均成绩(注释:这里的score 是列名)fromscore(注释:这里的 score 是表名)groupbystudentID说明:在表 score 中查询,按 strdentID 字段分组,显示 strdentID 字段和 score 字段的平均值;select 语句中只允许被分组的列和为每个分组返回的一个值的表达试,例如用一个列名作为参数的聚合函数2) .使用 having 子句进行分组筛选例:selectstudentIDas 学员编号,AVG(score)as 平均成绩(注释:这里的score 是列名)fromscore(注释:

10、这里的 score 是表名)groupbystudentIDhavingcount(score)1说明:接上面例子,显示分组后 count(score)1 的行,由于 where 只能在没有分组时使用,分组后只能使用 having 来限制条件,4 .多表联接查询1) .内联接在 where 子句中指定联接条件例:,b.chengjifroma,=说明:查询表 a 和表 b 中 name 字段相等的记录,并显示表 a 中的 name 字段和表 b中的 chengji 字段from 子句中使用 join-on例:,

11、b.chengjifromainnerjoinbon(=)说明:同上2) .外联接 T左外联接查询例:,c.courseID,c.scorefromstrdentsassleftouterjoinscoreascons.scode=c.strdentID说明:在 strdents 表和 score 表中查询满足 on 条件的行,条件为 score 表的 strdentID 与 strdents 表中的 sconde 相同右外联接查询例:,c.courseID,c.scorefromstrdentsassrightouterjoinscoreascons.scode=c.strdentID说明:在 strdents 表和 score 表中查询满足 on 条件的行,条件为 strdents 表中的 sconde 与 score 表的strdent

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论