数据库——操作数据库语句(select单表查询)

数据库——操作数据库语句(select单表查询)前两天又装了oracle,开始再次学习数据库,希望这次可以系统的学习,主要是语句的学习。数据库操作语句SQL一、select   查询语句二、DDL 数据 定义 语句(create、drop、alter)三、DML数据操作语句(insert delect update)四、TCL 事务控制  语句(commit提交、rollback撤销、savep

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

前两天又装了oracle,开始再次学习数据库,希望这次可以系统的学习,主要是语句的学习。

数据库操作语句SQL

一、select    查询语句

二、DDL  数据  定义  语句(create、drop、alter)

三、DML 数据 操作 语句(insert  delect  update)

四、TCL  事务 控制   语句(commit 提交、rollback 撤销 、savepoint 保存)

一、SELECT
    1、select 字段名1,字段名2,字段名3 from 表名;  
    2、*代表所有的字段名,不推荐。(效率差一点)
    3、字段或者表达式
            +  –  *  /
         select salary,14*salary  from s_emp;
       一个月涨500之后,再显示:
         select salary+500,14*(salary+500)from s_emp;
    4、不让显示——起别名  空格。
         select salary+500   sal,14*(salary+500) Y_sal from s_emp;
    5、字符串怎么解决:单引号

    6、把两个字符拼接起来:||
         select  first_name || last_name  name  from  s_emp;

         用下划线隔开:

             select  first_name || ‘_’ || last_name  name  from  s_emp;

    7、特殊拼接:拼接一个单引号(转义的思想)

         select  first_name || ‘‘’’ || last_name  name  from  s_emp;

          拼接两个单引号??
          select  first_name || ‘‘’’ ||‘‘’’ || last_name  name  from  s_emp;

          select  first_name || ‘‘‘‘’’ || last_name  name  from  s_emp;

         两种方法都是对的。

   7、空值(null)的处理:(空值和任何值做运算 都是空值)
      select  salary sal ,
         salary*12(1+commission_pct)/100
              from  s_emp;
      nvl(part1,part2)  null值处理函数
          当part1为空值,就返回part2
          若part1不为空,就返回part1
      NULL要早点处理
      select  salary sal ,
         nvl(salary*12(1+commission_pct)/100,
              100) from  s_emp;

   8、把s_emp表中的manager_id查询出来,如果manage_id是空  就显示成-1;
      select  nv1(manager_id,-1)  from s_emp;

   9.数据的排重:distinct
     select salary from s_emp;
     select distinct salary from s_emp;

   二、where 语句
      1、作用:限制表中的行数剧,返回。
      2、两个
         from  表名 where 1=1;
         from  表名 where 1=2;
       —   代表单行注释

         把s_emp表中salary大于1400员工信息显示出来
                select * from s_emp where salary>1400;
         把s_emp表中salary大于1400员工信息显示出来
                select * from s_emp where salary=1400;
         把s_emp表中name叫CAI员工信息显示出来
                select * from s_emp where name=’CAI’;
         
      3、常见的条件运算符: =  > <  

      4、sql提供的运算符:
          4.1  表达式表达一个闭区间;[a,b]   between  a and b;
               把s_emp表中工资在1000到1500之间的员工信息
        显示出来
                select * from s_emp where salary between 1000 and 1500;
          4.2   表达式表示一个范围的取值:in
                where  id  in(2,5,7);
          4.3   模糊查询  like
                where  name  like ‘李%’;
                where  name  like ‘%小%’;
          4.4   特殊的转义处理: _和%
                where  name  like ‘S\_%’ escape ‘\’;
                找出所有__开头的表名
                where  name  like ‘S\_\_%’ escape ‘\’;

 三、空值的判断:  is  NULL
          1、找出提成是10的员工:
               select  id  from s_emp  where commission_pct = 10;
          2、找出提成不是10的员工:
               select  id  from s_emp  where commission_pct != 10;
          3、找出提成是NULL的员工:
          select  id  from s_emp  where commission_pct is  NULL;

总结;模糊查询 、空值的判断、。。。

      
     7.7 逻辑条件:
         and   where salary >=1400  and  salary <=2500;  
         or     
         not    
 
 八、数据的排序: order by  排序标准  排序方式(desc);
     按照一定的排序标准把数据按照升序或者降序的次序进行排序
             升序:默认  asc
             降序:desc
     
     排序中的NULL是如何处理的 :作为最大值。

查询的第四部分
 

    

一、单行函数
        特点:针对SQL语句的每一行,都返回一个结果。
   多行函数(组函数):
        特点:针对SQL语句的一组数据,都返回一个结果。
     eg:upper(part1)   字母变大写(单行函数)
         select  first_name,upper(first_name)
                 from  s_emp  where  id = 1;   一行
         select  first_name,upper(first_name)
                 from  s_emp  where  id < 1;   无结果
         select  first_name,upper(first_name)
                 from  s_emp  where  id > 1;   24个结果
 
         count(part1)   统计函数(组函数)
         select  first_name,count(first_name)
                 from  s_emp  where  id = 1;   出现错误
         select  count(first_name)
                 from  s_emp  where  id = 1;   正确  1
         select  count(first_name)
                 from  s_emp  where  id < 1;   0
         select  count(first_name)
                 from  s_emp  where  id > 1;   24

     1.3 测试表:dual
         单行单列的表
             select * from dual;
             select upper(‘hello’)  from dual;
     1.4  处理字符串的单行函数
        大写  upper(part1)   select upper(‘hello’)  from dual;
        小写  lower(part1)   select upper(‘HELLO’)  from dual;
        首字母大写   initcap(part1)    select initcap(‘hello  world’)  from dual;
        长度  length(part1)  select length(‘hello’)  from dual;          
        连接  concat(part1,part2)   select concat(‘hello  world’)  from dual;
              || 作为连接更加方便   select  first_name||last_name  name  from  s_emp;
        截取函数  substr(part1,part2,part1)
                part1:字符串
                part2:数字,从哪位开始截取,编号从1开始截取(C中是从0开始)
                part2:截取长度
    
        替换   replace(part1,part2,part1)
                part1:要处理的字符串
                part2:要被替换的内容
                part2:被替换成的内容
        to_char(part1,part2)
                part1:要处理的数字
                part2: 格式
                   ‘格式’:
                     fm:格式的开头
                      0:小数点前代表前置导零
                      9:0到9数字
                      ,:分隔符 千位
                      .:小数点
                     ¥:rmb
                      $:美元
            eg:select  to_char(12345,’fm$099,999.99′) from dual;
               select  to_char(12345.23,’fm$099,999.00′) from dual;
        按照如下格式显示工资:
           ‘fm$099,999.00’
               select  id,first_name,to_char(salary,‘fm$099,999.00’)  from  s_emp;

         1.8  处理数字函数:
              round(part1,part2)  四舍五入
                    part1:要处理数字
                    part2:默认0代表取整
                          1代表保留小数点后一位
                          -1代表对小数点前一位进行   四舍五入
                  select   round(2.54) from dual;
                  select   round(2.54,1) from dual;
                  select   round(2.54,-1) from dual;

             trunc  截取函数(用到的更多)
              trunc(part1,part2)  截取(数字,字符串等等)
                    part1:要处理数字
                    part2:默认0代表取整
                          1代表保留小数点后一位
                          -1代表对小数点前一位进行   截取
                  select   trunc(2.54) from dual;
                  select   trunc(2.54,1) from dual;
                  select   trunc(2.54,-1) from dual;
 
         1.9函数嵌套:把一个函数的返回值作为另一个的嵌套。
                      select  concat (concat(‘a’,’b’),concat(‘c’,’d’));
                      显示first_name 的后三个字符  length  substr
                  select  first_name,substr(first_name,length(first_name)-2,3)
                          from  s_emp;

附:

数据库连接

数据库——操作数据库语句(select单表查询)

创建表

数据库——操作数据库语句(select单表查询)

查询语句

数据库——操作数据库语句(select单表查询)

desc   显示表:

数据库——操作数据库语句(select单表查询)

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

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

(0)
上一篇 2022年6月1日 下午11:46
下一篇 2022年6月1日 下午11:46


相关推荐

  • 【mysql系列】细谈explain执行计划之“谜”

    【mysql系列】细谈explain执行计划之“谜”目录理论Part概念实践Partidselect_typetabletypepossible_keyskeykey_lenrefrowsfilteredExtra总结聊到mysql数据库的优化,大家基本都会谈论explain关键字,确认sql是否使用数据库表中建立的索引,然后讨论sql语句或者索引优化方案等等~,那本篇文章主要谈论一下explain的理解。主要分为理论和实践相结合。理论Part概念我们先了解一下explain语法和相关理论知识。语法:EXPLAINSELECTselect_o

    2025年6月16日
    4
  • 解决8080端口被占用问题「建议收藏」

    解决8080端口被占用问题「建议收藏」问题叙述在IDEA中运行项目时会出现8080端口被占用的情况,可能是运行tomcat的时候,也可能是在用vue进行前后端分离项目,运行后端代码时出现端口被占用。这里以运行tomcat显示占用举例,如下图所示;解决方法1、按快捷键windows+R,在运行框里输入cmd,如图所示,2、在dos命令中输入netstat-aon|findstr“8080”,查看端口。3、找到8080端口,查看正在运行程序的pid,如图所示。4、回到桌面,任务栏,右键,任务管理器,如图所示会显示正在运行的

    2025年6月24日
    5
  • 用html编写或在dw中完成,Dreamweaver教程-在 Dreamweaver 中编写 HTML 代码[通俗易懂]

    用html编写或在dw中完成,Dreamweaver教程-在 Dreamweaver 中编写 HTML 代码[通俗易懂]Dreamweaver教程-在Dreamweaver中编写HTML代码,代码,教程,标签,光标,文本Dreamweaver教程-在Dreamweaver中编写HTML代码易采站长站,站长之家为您整理了Dreamweaver教程-在Dreamweaver中编写HTML代码的相关内容。1.启动DreamweaverCS52.点击左上角的“文件”>“新建”。3.在“新…

    2022年5月2日
    46
  • 异美旅游

    异美旅游

    2022年4月27日
    62
  • GPT-SoVITS训练过程中模型加载失败问题分析

    GPT-SoVITS训练过程中模型加载失败问题分析

    2026年3月15日
    2
  • bzero和memset函数

    bzero和memset函数bzero 函数函数原型 voidbzero void s intn 头文件 include lt string h gt 功能 将字符串 s 的前 n 个字节置为 0 一般来说 n 通常取 sizeof s 将整块空间清零 返回值 无返回值例子 将一个数组清零 charstr 10 bzero str sizeof str 也可以将一个结构体清零 structnode

    2026年3月19日
    2

发表回复

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

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