zoukankan      html  css  js  c++  java
  • Sql的增删改操作

    Sql的数据更新包括数据插入、删除和修改3个操作.
    往表中插入数据的语句是insert语句,方式有两种,一种是元组值的插入,一种是查询结果的插入
    元组值的插入语法如下:
    INSERT INTO table [(column [, column...])]
    VALUES (value [, value...]);
    一次插入操作只插入一行
    -- 添加数据

    -- 向表中每一列都添加数据
    insert into emp e values(9999,'旺财','CLERK',7782,'20-6月-82',2000,1000,10);
    -- 向表中添加部分列的值
    insert into emp (empno,ename,deptno) values (8888,'大黄',10)


    -- 创建一个表
    create table emp02 as select * from emp e where 1 = 2

    --将查询结果插入到另外一个表
    insert into emp01 select * from emp e where e.deptno = 10

    -- 删除数据
    delete from emp01 e


    -- 修改数据
    update emp01 e set e.ename = 'wangcai' where e.ename = '旺财'


    更加具体的增删改
    1.插入 insert

    (1)
    insert into emp (empno,ename,job,mgr,hiredate,sal,comm,deptno)
    values(1111,'gao','clerk',7902,sysdate,10000,3000,40)
    此处插入的元组中列的个数、顺序与emp的结构完全一致,因此表名之后的列名可以省略不写
    insert into emp
    values(2222,'gaohs','clerk',7902,sysdate,10000,3000,40)
    可以只插入部分列
    insert into emp(empno,ename)
    values (3333,'xiaozhang')
    但要求省略的列必须满足下面的条件:
    该列定义为允许Null值。
    在表定义中给出默认值,这表示如果不给出值,将使用默认值。
    如果不符合上面两个条件,将会报错。不能成功插入。

    (2)
    可以用insert语句把一个select语句的查询结果插入到一个基本表中,语法如下:
    Insert into tablename(column,..)
    select * from tablename2
    创建一个临时表
    create table temp
    as
    select * from emp
    where 1 = 2
    执行插入
    insert into ss select * from emp;

    例子:

    create table test02 as
    select * from emp where 1=2

    create table test01 as
    select * from emp where 1=1

    insert into test02
    select * from emp where emp.deptno=10


    2.删除 Delete

    SQL的删除操作是指从基本表中删除元组,语法如下:
    DELETE [FROM] table
    [WHERE condition];
    其语义是从基本表中删除满足条件表达式的元组
    Delete from table 表示从表中删除一切元组
    如果想从表中删除所有的行,不要使用delete,可使用truncate table 语句,完成相同的工作,但是速度更快(没有事物)。

    3.改 Update

    Update语句用于修改基本表中元组的某些列,其语法如下:
    UPDATE table
    SET column = value [, column = value] …
    [WHERE condition];
    其语义是:修改基本表中满足条件表达式的那些元组的列值,需修改的列值在set子句中指出。

  • 相关阅读:
    Bounded Context
    Unity3D研究院之IOS本地消息通知LocalNotification的使用(六十七)
    SVN服务器搭建和使用
    进度条
    XQuery获取节点的属性名与值
    AnimatorStateInfo
    Unity3D 中脚本执行的先后顺序
    Unity里面的自动寻路(二)
    Unity里面的自动寻路(一)
    java遍历文件夹两种方式
  • 原文地址:https://www.cnblogs.com/su-chu-zhi-151/p/11177640.html
Copyright © 2011-2022 走看看