sql基本增删改查

1增insertinto<表名>(列名)values(列值)例:insertintoStrdents(姓名,性别,出生日期)values(‘开心朋朋’,’男’,’1980/6/15′)2删2.1【删除<满足条件的>行】deletefrom<表名>[where<删除条件>]例:delet…

大家好,又见面了,我是你们的朋友全栈君。

1增

insert  into <表名> (列名) values (列值)

例:insert into Strdents (姓名,性别,出生日期) values (‘开心朋朋’,’男’,’1980/6/15′)

 

2删

 

2.1【删除<满足条件的>行】

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

例:delete from a where name=’开心朋朋’(删除表a中列值为开心朋朋的行)

 

 

2.2【删除整个表】

truncate table <表名>

truncate table tongxunlu

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

 

drop table <表名>

删除表数据和结构

 

delete from 表名 where 列名  delete from student where sid = 2;   [删除某行】

 

3改

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

例:update tongxunlu set 年龄=18 where 姓名=’蓝色小名’

 

4查

 

4.1“精确(条件)查询

select <列名> from <表名> [where <查询条件表达试>] [order by <排序的列名>[asc或desc]]

 

4.1.1【查询所有数据行和列】

例:select * from a

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

 

 

4.1.2【查询部分行列–条件查询】

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

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

 

4.1.3【在查询中使用AS更改列名】

例:select name as 姓名 from a where xingbie=’男’

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

 

4.1.4【查询空行】

例:select name from a where email is null

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

 

4.1.5【在查询中使用常量】

例:select name, ‘唐山’ as 地址 from Student

说明:查询表a,显示name列,并添加地址列,其列值都为’唐山’

 

4.1.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为关键字

 

4.1.7【查询排序(关键字:order by , asc , desc)】

例:select name

from a

where chengji>=60

order by desc

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

 

 

4.2“模糊查询

4.2.1【使用like进行模糊查询】

注意:like运算副只用于字符串,所以仅与char和varchar数据类型联合使用

例:select * from a where name like ‘赵%’

说明:查询显示表a中,name字段第一个字为赵的记录

 

4.2.2【使用between在某个范围内进行查询】

例:select * from a where nianling between 18 and 20

说明:查询显示表a中nianling在18到20之间的记录

 

4.2.3【使用in在列举值内进行查询】

例:select name from a where address in (‘北京’,’上海’,’唐山’)

说明:查询表a中address值为北京或者上海或者唐山的记录,显示name字段

 

 

4.3“.分组查询

4.3.1【使用group by进行分组查询】

例:select studentID as 学员编号,AVG(score) as 平均成绩 (注释:这里的score是列名)

from score (注释:这里的score是表名)

group by studentID

说明:在表score中查询,按strdentID字段分组,显示strdentID字段和score字段的平均值;select语句中只允许被分组的列和为每个分组返回的一个值的表达式,例如用一个列名作为参数的聚合函数

 

4.3.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.4“.多表联接查询

 

4.4.1内联接

 

4.4.1.1【在where子句中指定联接条件】

例:select a.name,b.chengji

from a,b

where a.name=b.name

说明:查询表a和表b中name字段相等的记录,并显示表a中的name字段和表b中的chengji字段

 

4.4.1.2【在from子句中使用join…on】

例:select a.name,b.chengji

from a inner join b

on (a.name=b.name)

说明:同上

 

 

4.4.2外联接

 

4.4.2.1【左外联接查询】

例: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相同

 

4.4.2.2【右外联接查询】

例: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相同

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124876.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA将string转化为int(int怎么转string)

    1如何将字串String转换成整数int?A.有两个方法:1).inti=Integer.parseInt([String]);或i=Integer.parseInt([String],[intradix]);2).inti=Integer.valueOf(my_str).intValue();注:字串转成Double,Float,Lo

    2022年4月12日
    34
  • C++线程池QueueUserWorkItem

    C++线程池QueueUserWorkItem在计算机程序中,线程是一种很重要的资源,使用的恰当可以极大的提高程序的效率,也就是多线程的使用,但是多线程会让应用程序变得异常复杂,会占用大量的系统资源。就像QQ表情一样,每一个QQ表情的闪动都需要构建一个线程,如果用户使用了大量的表情(GIF),将会有多少个线程在运行,系统的性能将大大减少,甚至导致死机。在这种情况下,多线程变得不太合适了,那么什么机制适用于这种情况下呢,这就是线程池。通

    2022年10月24日
    0
  • day2 javaee的入门知识「建议收藏」

    day2 javaee的入门知识「建议收藏」1、面向对象与面向过程的区别?面向过程的语言拥有封装、继承、多态的特性,使得整个代码灵活性高,比如Java,C++。容易维护,容易扩展。面向过程的语言直接跟内存打交道,性能要更好,比如java是需要跟虚拟机做交互,先编译解释成机器码。再跟操作系统打交道。大多数面向过程的语言基本都是直接编译成机器码在操作系统上进行执行。所以性能更好。但是java经过多年的发展,性能提升了很大,各位读者要记住javayyds!2、成员变量和局部变量的区别与c++不同的是java中没有全局变量的概念。成员变量:也称

    2022年7月8日
    18
  • 史上最全运放运算放大器知识讲解[通俗易懂]

    史上最全运放运算放大器知识讲解[通俗易懂]史上最全运放运算放大器知识讲解原文:http://www.sohu.com/a/154282071_755644调节和放大模拟信号,它是用途十分广泛的器件,接入适当的反馈网络,可用作精密的交流和直流放大器、有源滤波器滤波器的供应商、振荡器振荡器的供应商及电压比较器比较器的供应商。其应用领域已经延伸到汽车电子、通信、消费等各个领域,并将在未来技术方面扮演重要角色。运算放大器的分类…

    2022年4月30日
    107
  • 用批处理文件阻止win10强制更新

    用批处理文件阻止win10强制更新win10这个商业巨头微软的最新之作,以流氓行径著称,尤其是它的自动更新最受诟病。用户无权选择是否下载和安装更新。你选择不更新,他就在后台下载,下次开机自动安装。何况,这些更新有的没必要,有的装上反而起副作用。我之前就被装上的更新弄坏网卡驱动,重装一次系统;今年3月大范围爆发的更新bug,导致众多用户USB驱动坏掉,又重装一次系统。再后来,我知道了更新的危害,就每天手动删除那些更新安装包,结果有一…

    2022年6月4日
    27
  • 数据库四大特性_Mysql数据库四种特性

    数据库四大特性_Mysql数据库四种特性1、原子性(Atomicity):原子性是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败。比如在同一个事务中的SQL语句,要么全部执行成功,要么全部执行失败。2、一致性(Co

    2022年8月4日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号