zoukankan      html  css  js  c++  java
  • Oracle数据库 DML语句的介绍与使用(转载)

    DML(Data Manipulation Language)数据操纵语言,SQL的分类之一,此外还有DDL(Data Definition Language)数据定义语言和DCL(Data Control Language)数据控制语言。DML包括:INSERT、UPDATE、DELETE。注意,select语句属于DQL(Data Query Language)。

    1. DML(Data Manipulation Language – 数据操作语言) 可以在下列条件下执行:   
    2. •   向表中插入数据   
    3. •   修改现存数据   
    4. •   删除现存数据   
    5. 1、插入语句   
    6. 使用 INSERT 语句向表中插入数据。   
    7. INSERT INTO table [(column [, column...])]    
    8. VALUES      (value [, value...]);   
    9. 使用这种语法一次只能向表中插入一条数据   
    10. //向users表中插入一条完整的记录   
    11. SQL> insert into users(username,password,name,address,zip) values('rrmy','1234','红军','北京',100089);   
    12. 备注:如果是字符串加’’ 如果是数字可与加’’也可以不加===>一般不加   
    13. SQL> commit;   
    14. 注意:Oracle数据库在DOS命令中执行插入,修改等操作时,必须手动完成提交。否则不会(正真)插入成功。   
    15. 在插入完整的记录是users()中的表对应的字段可以省略不写.但一定要与数据库中表的结构对应才行。   
    16. //向users表中插入一条非完整的记录   
    17.   
    18. SQL> insert into users(username,password) values('mj','123');   
    19. //注意:在插入部分子段的时候,必须满足的表的约束条件,否则会出现如下异常信息。   
    20. insert into users(username,password) values('mj','123')    
    21. RA-01400: 无法将 NULL 插入 ("RED"."USERS"."NAME")   
    22. SQL> insert into users(username,password,name) values('mj','123','马杰');   
    23. 1 row inserted   
    24. SQL> commit; //必须手动提交   
    25. Commit complete   
    26. 以上简单总结如下:   
    27.    为每一列添加一个新值。   
    28.    按列的默认顺序列出各个列的值。    
    29.    在 INSERT 子句中随意列出列名和他们的值。    
    30.    字符和日期型数据应包含在单引号中。   
    31.   
    32. 补充知识点:   
    33. 隐式方式: 在列名表中省略该列的值   
    34. SQL> insert into users(username,password,name) values('mj','123','马杰');   
    35. 显示方式: 在VALUES 子句中指定空值。   
    36. SQL> insert into users  values('test','123','test',null,null);   
    37.   
    38. 常见面试题:   
    39. //备份一张表   
    40. SQL> create table usess as select * from users;   
    41. //清空表中的记录   
    42. SQL> delete from usess;   
    43. //使用插入语句把users表中记录插入到usess中   
    44. SQL> insert into usess(username,password,name,address,zip) select username,password,name,address,zip from users;   
    45. SQL> commit   
    46. 注意:   
    47.    不必书写 VALUES 子句。    
    48.    子查询中的值列表应于 INSERT 子句中的列名对应   
    49.   
    50.   
    51. 2、更新数据   
    52. 采用update语法进行更新数据:   
    53. 语法如下:   
    54.   UPDATE        table    
    55.   SET       column = value [, column = value, ...]   
    56.   [WHERE        condition];   
    57. 备注:一次可以更新多条记录   
    58. //更新数据:更新users表 重新设置了passwrod 条件是唯一(主键是唯一)的条件。   
    59. SQL> update users set password='redarmy' where username='redarmy';   
    60. SQL> commit   
    61. 注意:当更新多个字段时,可以采用逗号进行区分.举例如下:   
    62. SQL> update users set password='redarmy' , name='陈红军'  where username='rrmy';   
    63. SQL> commit   
    64. 备注:如果省略WHERE子句,则表中的所有数据都将被更新   
    65. SQL> update users set password='redarmy' , name='陈红军';   
    66. 6 rows updated   
    67. SQL> commit;    
    68. Commit complete   
    69. SQL> select * from users;   
    70. USERNAME      PASSWORD      NAME             ADDRESS             ZIP   
    71. -------------------- -------------------- -------------------- -------------------- -------   
    72. huxz               redarmy          陈红军            北苑家园          100012  
    73. liucy               redarmy          陈红军            清华园             100084  
    74. redarmy          redarmy          陈红军            北京                100089  
    75. rrmy               redarmy          陈红军            北京                100089  
    76. mj                  redarmy          陈红军                                    
    77. test                redarmy          陈红军                                    
    78. 6 rows selected   
    79.   
    80. 补充:在update语句中使用子查询   
    81. //更新huxz的邮编与用户liucy的邮编一致   
    82. SQL> update users set zip=(select zip from users where username='liucy') where username='huxz';   
    83. //备注:在更新数据的时候 where条件中也可以使用子查询。   
    84. 3、删除数据   
    85.     在表中如果某些数据不在需要就可以使用delete语句进行删除,并释放该数据所占用的存储空间删除语法如下:   
    86. DELETE [FROM]     table    
    87. [WHERE    condition];   
    88. 备注:delete语句只是从表中删除数据,不会删除表结构.删除表结构采用drop语句。   
    89. 注意:删除表中的数据时,一定要考虑表的约束(否则会出现一些异常信息)   
    90. //清空表  delete from 表名 ||delete 表名     
    91. //删除数据 where条件与更新一致,必须保证唯一性(主键是唯一)条件   
    92. SQL> delete from users where username='test';   
  • 相关阅读:
    C#的委托事件总结
    iOS的录屏功能
    Unity通过NTP获取网络时间
    Unity的弱联网Json数据传输
    Unity场景和代码合并以及UnityYAMLMerge的使用
    Unity学习--捕鱼达人笔记
    Yomob广告在cocos2dx安卓平台的Demo
    谷歌广告Admob在cocos2dx上通过回调实现底部Banner
    JZ2440 裸机驱动 第13章 LCD控制器(2)
    JZ2440 裸机驱动 第13章 LCD控制器(1)
  • 原文地址:https://www.cnblogs.com/zhuxiaolin/p/4912743.html
Copyright © 2011-2022 走看看