(让你提前知道软件开发33):数据操纵语言(DML)
文章2部分 数据库SQL语言
数据操纵语言(DML)
数据操纵语言(Data Manipulation Language,DML)包含insert、delete和update语句,用于增、删、改数据。
本文用下面的表tb_employeeinfo作为样例加以说明:
create table tb_employeeinfo
(
employeeno varchar(20) not null, -- 员工工号
employeename varchar(20) not null, -- 员工姓名
employeeage int null -- 员工年龄
);
在实际的软件开发项目中,DML的使用规则例如以下:
1. insert语句必须列出字段名
很多开发者为了省事。在须要向一个表中全部字段都插入数据的时候,就直接列出表名就可以,例如以下所看到的:
反例:
insert into tb_employeeinfo vaues(‘10000’,’Jim’, 30)
这样,假设tb_employeeinfo表结构发生了改动,曾经的SQL语句就不能写入数据了。正确的做法是无论向表中多少个字段插入数据。都须要列出字段名。例如以下所看到的:
正例:
insert into tb_employeeinfo(employeeno, employeename, employeeage) vaues(‘10000’,’Jim’, 30)
相同。不要使用“select * from”语句。必须列出字段名,即使是返回全部字段的值。
2. delete。update语句必须带where条件
这样做是为了防止将整个表的数据改动和清空,导致系统瘫痪。对于全表处理,则使用“where 1=1”。
正例:
delete from tb_employeeinfo where employeeage=30
update tb_employeeinfo set employeeage=32 where 1=1
3. SQL语句块或存储过程中须要对DML语句的运行结果进行检查
这是数据库的错误/异常处理机制,须要对SQL语句运行成功或失败进行检查,以便依据运行结果决定兴许的操作。
(1) SQLServer/Sybase数据库的处理
在SQLServer/Sybase数据库中。能够通过系统变量“@@error”来检查,并依据结果进行处理,假设已经開始了事务(数据库的改动是以事务为单位进行的。
一个事务就是一个操作序列。这些操作要么全做,要么全不做,它是一个不可切割的工作单位),则须要进行回滚。
正例:
:
begin
insert into …
update …
insert into…
exception
when others then
begin
…… -- 错误处理
rollback;
end;
end;
正例2:
begin
insert into …
update …
insert into… -- 没有异常处理部分
end;
此外,在SQL语句块和存储过程中使用事务。必须保证事务的開始与结束匹配,即必须保证在SQL语句块的不论什么分支和异常情况下“begin tran”都有正确的“commit”或“rollback”与之相应。
在实际的软件项目中,数据操纵语言(DML)使用的很的广泛,正确地使用该语言是对一个软件开发者的基本要求。
(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5。微信号:245924426。欢迎关注!
)
版权声明:本文博主原创文章,博客,未经同意不得转载。
(让你提前知道软件开发33):数据操纵语言(DML)的更多相关文章
- MySQL之数据操纵语言(DML)
数据操纵语言(DML) 数据操纵语(Data Manipulation Language),简称DML. DML主要有四个常用功能. 增 删 改 查 insert delete update sele ...
- 让你提前知道软件开发(22):shell脚本文件操作
文章1部分 再了解C语言 shell脚本中的文件操作 [文章摘要] 编写shell脚本时,经常会涉及到对文件的操作,比方从文件里读取一行数据.向文件追加一行数据等. 完毕文件读写操作的方法有非常多,了 ...
- 让你提前知道软件开发(24):C语言和主要特征的发展史
文章1部分 再了解C语言 C语言的发展历史和主要特点 作为一门众所周知的计算机编程语言,C语言是谁发明的呢?它是怎样演进的?它有何特点?究竟有多少人在使用它? 1. C语言之父 C语言是1972年由美 ...
- 让你提前知道软件开发(24):C语言和主要特征的历史
文章1部分 再次了解C语言 C语言的发展历史和主要特点 作为一门众所周知的计算机编程语言,C语言是谁发明的呢?它是怎样演进的?它有何特点?究竟有多少人在使用它? 1. C语言之父 C语言是1972年由 ...
- 30442数据操纵语言DML
5.5 SQL的数据操纵功能 5.5.1 数据插入 使用CREATE语句创建的数据表还只是一个“空壳”,表中没有任何数据.利用SQL语言提供的INSERT语句可以完成向数据表插入数据的任务. INSE ...
- oracle数据操纵语言(DML)data manipulation language
数据库操纵语言(DML)用于查询和操纵模式对象中的数据,它不隐式地提交当前事务. SELECTINSERTUPDATEDELETECALLEXPLAIN PLANLOCK TABLEMERGE使用算术 ...
- oracle数据操纵语言(DML)data manipulation language(续集)
SQL查询语句(SELECT)进阶分组函数(Group Functions):对多行进行操作,并为每一组给出一个结果. AVG([DISTINCT|ALL] expression) 平均值COUNT ...
- 【MySQL笔记】数据操纵语言DML
1.数据插入 INSERT INTO table_name (列1, 列2,...) VALUES(值1, 值2,....),(第二条),(第三条)... 注: 1)如果表中的每一列均有数据插 ...
- DML(数据操纵语言)
1.概念(C) 数据操纵语言 DML (Data Manipulation Langua)是SQL语言的一个分类,用于对表的内容或者说数据进行增.删.改.查等操作. 通过以下几个关键字实现: SELE ...
随机推荐
- C语言free函数的原理——————————【Badboy】
今天在网上看到了这样一个问题,"假设malloc 了一块字符串的内存.然后,它改变了这个字符串的大小,问会不会有一部分内存没有被释放掉."这个问题,曾经的确没有细致想过. 当然.我 ...
- 设置cell背景色和选中色
// 设置cell的背景色 UIView *bg = [[[UIView alloc] init] autorelease]; bg.backgroundColor = [UIColor colorW ...
- 怎样cp文件夹时忽略指定的文件夹和文件
在备份ltedecoder程序时,须要把此文件夹拷由到bak文件夹下.但decoder文件夹下有个大文件,不须要备份,还有日志问题,也不须要备份,怎样实现呢?? 方法: cd /source-dir ...
- Win7长时间使用占用内存高问题记
工作电脑Win7 64位,8G内存,没设置虚拟内存,连续运行几天,中间只是睡眠,今天在试用时总提示内存不足,看任务管理器已经把占用内存比较多的几个进程都结束掉了,但内存占用依旧是80%以上,eclip ...
- Nginx+ 多个Memcached+ 多个Tomcat集群配置来实现 sticky Session
假如有 大于2 台的Tomcat servers,如何实现sticky session特点的高可靠web 服务? 方案设计: 前端使用nginx(最好是淘宝的 tengine)作为we 流量分发器,向 ...
- js中json数据简单处理(JSON.parse()和js中嵌套html)
js中json数据简单处理(JSON.parse()和js中嵌套html) 一.总结 1.html中嵌套js:<script>js代码</script> 2.js中嵌套html ...
- php 静态方法和非静态方法的调用说明
1. php类中,静态方法调用当前类的非静态方法必须用self关键字,不能用$this 2. php类中,公有方法调用私有方法使用$this关键字,只能实例化调用 3. php类中,公有方法调用私有方 ...
- [HTML] Creating visual skip links in HTML and CSS
Skip links are an extremely helpful navigation pattern for keyboard and screen reader users, since t ...
- 怎样解决CRITICAL glance [-] AttributeError: 'NoneType' object has no attribute 'drivername'
今天在配置OpenStack的Glance时.前边进行的都非常顺利.当作到这一步时sudo glance-manage db_sync时出现了例如以下错误 依据错误提示,想到可能是配置问题.于是就查找 ...
- web网站如何获取用户的地理位置
web网站如何获取用户的地理位置 一.总结 一句话总结:通过gps知道用户的经度和纬度,然后通过经度和纬度在在地图(google或者百度)上面显示位置. 1.html5如何通过gps知道用户的经度和纬 ...