问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL数据库查询语句,包括增,删,改,查等所有语句详细。

发布网友 发布时间:2022-04-25 15:42

我来回答

2个回答

热心网友 时间:2022-04-07 15:54

一、增:有4种方法
  1.使用insert插入单行数据:
   语法:insert [into] <表名> [列名] values <列值>
   例:insert into Strdents (姓名,性别,出生日期) values ('开心朋朋','男','1980/6/15')
   注意:into可以省略;列名列值用逗号分开;列值用单引号因上;如果省略表名,将依次插入所有列
  2.使用insert select语句将现有表中的数据添加到已有的新表中
   语法:insert into <已有的新表> <列名>
      select <原表列名> from <原表名>
   例:insert into tongxunlu ('姓名','地址','电子邮件')
     select name,address,email
     from Strdents
   注意:into不可省略;查询得到的数据个数、顺序、数据类型等,必须与插入的项保持一致
  3.使用select into语句将现有表中的数据添加到新建表中
   语法:select <新建表列名> into <新建表名> from <源表名>
   例:select name,address,email into tongxunlu from strdents
   注意:新表是在执行查询语句的时候创建的,不能够预先存在
   在新表中插入标识列(关键字‘identity’):
   语法:select identity (数据类型,标识种子,标识增长量) AS 列名
      into 新表 from 原表名
   例:select identity(int,1,1) as 标识列,dengluid,password into tongxunlu from Struents
   注意:关键字‘identity’
  4.使用union关键字合并数据进行插入多行
   语法:insert <表名> <列名> select <列值> tnion select <列值>
   例:insert Students (姓名,性别,出生日期)
     select '开心朋朋','男','1980/6/15' union(union表示下一行)
     select '蓝色小明','男','19**/**/**'
   注意:插入的列值必须和插入的列名个数、顺序、数据类型一致
二、删:有2中方法
  1.使用delete删除数据某些数据
   语法:delete from <表名> [where <删除条件>]
   例:delete from a where name='开心朋朋'(删除表a中列值为开心朋朋的行)
   注意:删除整行不是删除单个字段,所以在delete后面不能出现字段名
  2.使用truncate table 删除整个表的数据
   语法:truncate table <表名>
   例:truncate table tongxunlu
   注意:删除表的所有行,但表的结构、列、约束、索引等不会被删除;不能用语有外建约束引用的表
三、改
  使用update更新修改数据
   语法:update <表名> set <列名=更新值> [where <更新条件>]
   例:update tongxunlu set 年龄=18 where 姓名='蓝色小名'
   注意:set后面可以紧随多个数据列的更新值;where子句是可选的,用来*条件,如果不选则整个表的所有行都被更新
四、查
  1.普通查询
   语法: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 whrer xingbie='男'
    说明:查询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 percent)
    例1:select top 6 name from a
    说明:查询表a,显示列name的前6行,top为关键字
    例2:select top 60 percent name from a
    说明:查询表a,显示列name的60%,percent为关键字
   7).查询排序(关键字:order by , asc , desc)
    例:select name
      from a
      where chengji>=60
      order by desc
    说明:查询表中chengji大于等于60的所有行,并按降序显示name列;默认为ASC升序
  2.模糊查询
   1).使用like进行模糊查询
    注意:like运算副只用语字符串,所以仅与char和varchar数据类型联合使用
    例:select * from a where name like '赵%'
    说明:查询显示表a中,name字段第一个字为赵的记录
   2).使用between在某个范围内进行查询
    例:select * from a where nianling between 18 and 20
    说明:查询显示表a中nianling在18到20之间的记录
   3).使用in在列举值内进行查询
    例:select name from a where address in ('北京','上海','唐山')
    说明:查询表a中address值为北京或者上海或者唐山的记录,显示name字段
  3.分组查询
   1).使用group by进行分组查询
    例:select studentID as 学员编号, AVG(score) as 平均成绩 (注释:这里的score是列名)
      from score (注释:这里的score是表名)
      group by studentID
    说明:在表score中查询,按strdentID字段分组,显示strdentID字段和score字段的平均值;select语句中只允许被分组的列和为每个分组返回的一个值的表达试,例如用一个列名作为参数的聚合函数
   2).使用having子句进行分组筛选
    例:select studentID as 学员编号, AVG(score) as 平均成绩 (注释:这里的score是列名)
      from score (注释:这里的score是表名)
      group by studentID
      having count(score)>1
    说明:接上面例子,显示分组后count(score)>1的行,由于where只能在没有分组时使用,分组后只能使用having来*条件,
  4.多表联接查询
   1).内联接
    ①在where子句中指定联接条件
    例:select a.name,b.chengji
      from a,b
      where a.name=b.name
    说明:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的chengji字段
    ②在from子句中使用join…on
     例:select a.name,b.chengji
       from a inner join b
       on (a.name=b.name)
     说明:同上
   2).外联接
    ①左外联接查询
     例:select s.name,c.courseID,c.score
       from strdents as s
       left outer join score as c
       on s.scode=c.strdentID
     说明:在strdents表和score表中查询满足on条件的行,条件为score表的strdentID与strdents表中的sconde相同
    ②右外联接查询 
     例:select s.name,c.courseID,c.score
       from strdents as s
       right outer join score as c
       on s.scode=c.strdentID
     说明:在strdents表和score表中查询满足on条件的行,条件为strdents表中的sconde与score表的strdentID相同

热心网友 时间:2022-04-07 17:12

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)DELETE FROM 表名称 WHERE 列名称 = 值UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求作文人物素材,推荐六个人,可以写的方面多的,不要烂大街的。谢谢 运动会上的加油稿,不要百度上烂大街的东西。 运动会的加油稿,不要百度上烂大街的那种,一百字。 报考PETS考试(全国公共英语等级考试) 在哪里可以报名,什么时间考试? 郑州报名pets考试 怎么报名 四不像动物的学名叫什么 有哪些的拼音 为什么买西瓜的,总喜欢撑红伞 英雄联盟推荐几个好用的英雄吧 谢? 英雄联盟最好上手的英雄 SQL 和MySQL的增删改查操作是不是一样的? mysql语句 模糊匹配删除或替换怎么写 mysql数据库操作的创建 删除 修改分别是什么单词 php封装一个class类,实现mysql数据库的增删改查怎么操做? jsp操作mysql数据库实现增删改查,数据库只有两个字段,title和content... 求Mysql通用的一些存储过程,如添加,删除,修改,查询 如何用jmeter实现mysql数据库增删改查 MySQL中的添改删查语句和正常MSSQL有什么不同? eclipse连接mysql,实现增删改查功能 php 使用pdo对mysql数据库增删改查实例 mysql 增删改查 哪个最占用资源 如何利用MySQL创建,查看,修改和删除视图 关于mysql的问题,对于增删改查,有affected_rows还有哪些类似返回函数... jsp连接mysql数据库后增删改查怎么写 如何利用MySQL命令创建,查看,重建和删除索引 mysql和SQL中增删改查语句是否一样呢 如何利用MySQL Workbench自动生成增删改查语句 淘宝店铺怎么加入淘宝客 加入淘宝客的标准和流程介绍 php之mysql的查询、添加、删除、修改功能 淘宝店铺淘宝客是怎么来的 做一个用户自定义控件可以实现对数据库表的增、删、改、查功能,求思路... 如果得到了软考高项的证书,对于我而言有什么好处 我通过了国家软考的“高级信息系统项目管理师”的考试,这个证书对于... 软考到底有什么用?有人知道吗? 考信息系统项目管理师有什么用? 耳朵长囊肿咋办 软考证书有什么用? 耳朵上有囊肿 怎么办啊? 耳朵上有囊肿怎么治疗 耳朵长皮脂腺囊肿怎么办 ? 耳朵囊肿要怎么治疗? 耳廓囊肿怎么治疗 怎么治疗耳朵上的囊肿啊? 你好,我的耳朵后边也起了一个皮脂腺囊肿,和你的类似,不痛不痒的!怎么样消除的快点呢?谢谢了 耳朵里长囊肿怎么治疗 耳朵后面囊肿怎么治疗 耳朵边长了个囊肿怎么办?硬 &lt;素问&gt;和&lt;灵枢&gt;有什么区别? 耳朵(外耳道)上面囊肿需要怎么治疗 &lt;素问&gt;和&lt;灵枢&gt;有什么区别? 这题在新浪爱问提问老被删为何?