• Orace 增删改查


    数据库增删改查对数据库表的四种操作:

    • 增:insert, 增加数据
    • 删:delete,删除数据
    • 改: update,更新数据
    • 查:select,查找数据

    一、insert

    基本语法:insert into 表名 [(column[,column]) values (value[,value])

    说明:1.插入的数据应该与字段数据类型相同

       2.数据的大小应该在规定的范围内。例如不能将一个长度为80的字符加入到长度为40的列中。

       3.在value中列出的列的位置必须与被加入列的位置相同

       4.字符和日期类型必须包含在单引号中

       5.插入空值。不指定或 insert into table value(null)

    6.给表的每列都添加值,则可以不带列名。如 insert into table values (列值)

    insert into test2 values('xiaoqiang',36);

    二、Update 表

    基本语法:update 表名 set 列名=表达式[,表达式]where 条件

    说明:1.update 语法可以用新值更新原有表中的旧值,set 字句指示要修改哪些列和要给予哪些值

       2.update 用来修改列值

       

       3.将每个人的奖学金提高50%

       update test set scolarship =scolarship*1.5;

       

      4.将没有奖学金的人的奖学金改为750,注意null字段的判断

       update test set scolarship=750 where scolarship is null;

       

    三、delete

    基本语法: delete 表名 where 条件

    说明:

      1.如果不使用where 字句,将删除表中所有的数据

      2.delete 语句不能删除某一列的值

      3.使用delete 仅删除表记录,不删除表本身。如果要删除表,使用drop table 语句

      4.同update和insert 一样,从一个表中删除记录将引起其他表的参照完整性问题,在修改数据库数据时,头脑中始终不能忘记这个潜在的问题

      删除表的几种方法比较:

      1.delete from 表名;

        删除所有记录,表结构还在,写日志,可以恢复,删除速度慢。

      

    2.drop table 表名

     删除表的结构和数据

    3.truncate table 表名

      删除表中所有记录,表结构还在,不写日志,无法找回删除的表记录。速度快。

      和delete 相比,truncate 无法添加where字句。

    四、select

    基本语法:select [distinct]*{colum1,column2....}from 表名 [where {条件}];

    说明:

      select: 指定要查哪些列的数据

      column:指定列名

      * :代表所有列

      from: 指定查询哪张表

      distinct 可选,指显示结果时是否删除重复数据

      1. 查询所有列和指定列

      select * from 表名

      select 列名1,列名2 from 表名

      注: 尽可能返回较少的列

      2 如何取消重复行

      select distinct deptno job from emp;

         //返回的数据完全一样才是重复行

      select sal,job from emp where name='Smith'; //引号中的内容区分大小写,SQL语句其他部分不区分大小写。

      3. Oracle 查询中使用算数表达式

      显示每个员工工资

      select ename,sal*13 from emp;

      select ename,sal*13+comm*2 from emp;  如果comlumn 为空,则sal*13+comm*2 为空,空的算数运算为空,如何解决这个问题?

      oracle 提供相关的函数:

      select ename, sal*13+nvl(comm,0)*2 from emp;

          nvl(comm,0):如果comm为空,返回0;否则返回comm.可用于处理null的问题。

      注:可以使用别名Oracle 使用别名时要用双引号,也可以不使用双引号。

          select ename,sal*13+nvl(comm,0) [as] "年薪" from emp;

      字符串连接(报表时可以使用)||

      select ename || 'is' ||job from emp;    在查询时如果希望把多列拼接起来,作为一列返回,可以使用||

      select '工号为'||FNumber||'的员工姓名为'||FName from T_employee where FName is not null

      除了"||" Oracle 还支持使用Concat()函数进行字符串拼接。如:select CONCAT('工号:',FNumber) from T_Employee

      如果CONCAT中连接的不是字符串,Oracle会尝试将其转换为字符串。如执行下面的SQL语句:select concat('员工:',FAge) from T_employee; // FAge 被转为字符串型

      多个字符串拼接的话,可以使用多个函数CONCAT()嵌套使用。如:select CONCAT(CONCAT(CONCAT(’工号:‘,FNumber)),FName) from T_employee;

      

      

       

      

  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    Codeforces Round #571 (Div. 2)-D. Vus the Cossack and Numbers
  • 原文地址:https://www.cnblogs.com/dongtian/p/5630176.html
Copyright © 2020-2023  润新知