仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 862|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页编程之Oracle数据操纵和把持言语详解 (一)

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:32:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
DBaaS和其他云服务之间的区别是:DBaaS专注于提供类似关系数据库管理系统RDBMS(比如SQLServer、MySQL和Oracle)的数据库功能。事实上,RDBMS已被证明是一种适合于在各种情况下管理结构化数据的有效工具。oracle|把持|数据|详解
SQL言语共分为四年夜类:数据查询言语DQL,数据利用言语DML,数据界说言语DDL,数据把持言语DCL。个中用于界说数据的布局,好比创立、修正大概删除数据库;DCL用于界说数据库用户的权限;在这篇文章中我将具体报告这两种言语在Oracle中的利用办法。

DML言语  DML是SQL的一个子集,次要用于修正数据,下表列出了ORACLE撑持的DML语句。语句用处INSERT向表中增加行UPDATE更新存储在表中的数据DELETE删除行SELECTFORUPDATE禁蛊渌没Х梦DML语句正在处置的行。LOCKTABLE克制其他用户在表中利用DML语句

  拔出数据  INSERT语句经常用于向表中拔出行,行中能够有特别数据字段,大概能够用子查询从已存在的数据中创建新行。  列目次是可选的,缺省的列的目次是一切的列名,包含comlumn_id,comlumn_id能够在数据字典视图ALL_TAB_COLUMNS,USER_TAB_COLUMNS,大概DBA_TAB_COLUMNS中找到。  拔出行的数据的数目和数据范例必需和列的数目和数据范例相婚配。不切合列界说的数据范例将对拔出值实施隐式数据转换。NULL字符串将一个NULL值拔出得当的列中。关头字NULL经常用于暗示将某列界说为NULL值。  上面的两个例子是等价的。

INSERTINTOcustomers(cust_id,state,post_code)VALUE(Ariel,NULL,94501);  或INSERTINTOcustomers(cust_id,state,post_code)VALUE(Ariel,,94501);  更新数据  UPDATE命令用于修正表中的数据。UPDATEorder_rollupSET(qty,price)=(SELECTSUM(qty),SUM(price)FROMorder_linesWHEREcustomer_id=KOHLWHEREcust_id=KOHLANDorder_period=TO_DATE(01-Oct-2000)  删除数据  DELETE语句用来从表中删除一行或多行数据,该命令包括两个语句:   1、关头字DELETEFROM后跟筹办从中删除数据的表名。   2、WHERE后跟删除前提DELETEFROMpo_linesWHEREship_to_stateIN(TX,NY,IL)ANDorder_date  清空表  假如你想删除表中一切数据,清空表,能够思索利用DDL言语的TRUNCATE语句。TRUNCATE就像没有WHERE子句的DELETE命令一样。TRUNCATE将删除表中一切行。TRUNCATE不是DML语句是DDL语句,他和DELETE右分歧的特性。TRUNCATETABLE(schema)tableDROP(REUSE)STORAGE  STORAGE子串是可选的,缺省是DROPSTORAGE。当利用DROPSTORAGE时将延长表和表索引,将表压缩到最小局限,偏重新设置NEXT参数。REUSESTORAGE不会延长表大概调剂NEXT参数。  TRUNCATE和DELETE有以下几点区分  1、TRUNCATE在各类表上不管是年夜的仍是小的都十分快。假如有ROLLBACK命令DELETE将被打消,而TRUNCATE则不会被打消。  2、TRUNCATE是一个DDL言语,向其他一切的DDL言语一样,他将被隐式提交,不克不及对TRUNCATE利用ROLLBACK命令。  3、TRUNCATE将从头设置高程度线和一切的索引。在对全部表和索引举行完整扫瞄时,经由TRUNCATE操纵后的表比DELETE操纵后的表要快很多。  4、TRUNCATE不克不及触发任何DELETE触发器。  5、不克不及授与任何人清空别人的表的权限。  6、当表被清空后表和表的索引讲从头设置成初始巨细,而delete则不克不及。  7、不克不及清空父表。  SELECTFORUPDATE  selectforupdate语句用于锁定行,制止其他用户在该行上修正数据。当该行被锁定后其他用户能够用SELECT语句查询该行的数据,但不克不及修正或锁定该行。  锁定表  LOCK语句经常用于锁定全部表。当表被锁定后,年夜多半DML言语不克不及在该表上利用。LOCK语法以下:LOCKschematableINlock_mode  个中lock_mode有两个选项:   share共享体例   exclusive独一体例  例:LOCKTABLEintentoryINEXCLUSIVEMODE  逝世锁  当两个事件都被锁定,而且相互都在守候另外一个被解锁,这类情形称为逝世锁。  当呈现逝世锁时,ORACLE将检测逝世锁前提,并前往一个非常。
DBaaS并不意味着解决方案提供者要让自己失业。与其他系统一样,在实施DBaaS解决方案时,客户可能需要部署、迁移、支持、异地备份、系统集成和灾难恢复等方面的帮助。
若天明 该用户已被删除
沙发
发表于 2015-1-19 16:23:51 | 只看该作者
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
再见西城 该用户已被删除
板凳
发表于 2015-1-28 07:44:10 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
兰色精灵 该用户已被删除
地板
发表于 2015-2-5 18:19:14 | 只看该作者
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
精灵巫婆 该用户已被删除
5#
发表于 2015-2-13 05:49:46 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
金色的骷髅 该用户已被删除
6#
发表于 2015-3-3 16:25:19 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
小妖女 该用户已被删除
7#
发表于 2015-3-11 12:13:48 | 只看该作者
这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
谁可相欹 该用户已被删除
8#
发表于 2015-3-18 10:41:33 | 只看该作者
入门没那么困难,精通没那么容易
不帅 该用户已被删除
9#
发表于 2015-3-25 17:48:35 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-11 06:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表