Oracle数据库 DML语句的介绍与使用(转载)

摘要:
DML可以在以下条件下执行:向表中插入数据、修改现有数据、删除现有数据1、插入语句以及使用insert语句将数据插入表中。插入表[]值;使用此语法,一次只能向表中插入一段数据//将完整记录插入用户表。SQL˃插入用户值;注:如果是字符串加“”,如果是数字,可以加“”;否则不能加===>一般不加SQL>提交;注意:在DOS命令中插入和修改Oracle数据库时,必须手动提交。

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';   

免责声明:文章转载自《Oracle数据库 DML语句的介绍与使用(转载)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇arcgis 加载高德地图 es6的方式编程珠玑第二章下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle数据导入导出imp/exp命令 10g以上expdp/impdp命令

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时...

oracle10.2.0.2+SDE for oracle 10安装

这回真是折腾了!没想到oracle 有这么庞大,而且版本太多了,比SQL复杂,强大。Oracle安装倒不难,在安装sde时碰到不少麻烦。首先是从同事那拷了9i,我以为9i就是一个版本,其实里面还分小版本,9.0,9.2。。我装了9.0,然后 sde是 sdefororacle 9i 的9.2版本,装了三台机还是不行。然后换成oracle10i,没想到这...

Oracle 和SQL Server 中的SQL语句使用区别

最近开始接触Oracle,想要了解下同SQL Server使用时的区别。搜寻网上信息找到具体区别分类如下: 一、数据类型比较  类型名称 Oracle  SQLServer  比较  字符数据类型  CHAR  CHAR  都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb  变长字符数据类型  VAR...

[转]Android 操作SQLite基本用法

在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面。本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的。一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入...

oracle中的exists 和not exists 用法详解

oracle中的exists 和not exists 用法详解 有两个简单例子,以说明 “exists”和“in”的效率问题 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ;     T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。...

oracle11g dataguard部署指南

一、Oracle11DB+DG配置 1. 单机环境介绍(PRIMARY DATABASE)主库primary public ip 192.168.0.252instanceoracledb_name oraclestorage mode /orasjrz/crds3db/oradata /orasjrz/crds3db/oraarch 2. 单机环境介绍(...