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]
|