始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

Oracle数据库 DML语句的介绍与使用

发布时间:  2012/8/21 16:56:42

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


本文出自:亿恩科技【www.enkj.com】

服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]

  • 您可能在找
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1.B2-20060070
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 专注服务器托管17年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 亿恩科技 版权所有  地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师   京公网安备41019702002023号
      0
     
     
     
     

    0371-60135900
    7*24小时客服服务热线