SQL

 
摘要: 约束(constraint)就是管理如何插入或处理数据库数据的规则。DBMS通过在数据库表上施加约束来实施引用完整性。1.1 主键主键是一种特殊的约束,用来保证一列(或一组列)中的值是唯一的,而且永不改动。列应用于主键的条件:任意两行的主键值都不相同。每行都具有一个主键值(即列中不允许NULL值)。包含主键值的列从不修改或更新。主键值...阅读全文
posted @ 2013-09-28 21:36 晴天猪 阅读(173) | 评论 (0) 编辑
 
摘要: 游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据。使用游标使用游标的步骤:在使用游标前,必须声明(定义)它。这个过程实际上没有检索数据,它只是定义要使用的SELECT语句和游标选项。一旦声明,就必须打开游标以供使用...阅读全文
posted @ 2013-09-28 21:29 晴天猪 阅读(96) | 评论 (0) 编辑
 
摘要: 事务处理是一种机制,用来管理必须成批执行的SQL操作,保证数据库不包含不完整的操作结果。利用事务处理,可以保证一组操作不会中途停止,它们要 么完全执行,要么完全不执行(除非明确指示)。如果没有错误发生,整组语句提交给(写到)数据库表;如果发生错误,则进行回退(撤销),将数据库恢复到某 个已知且安全的状态。1. 事务处理使用事务处理(transaction processing),通过确保成批的SQL操作要么完全执行,要么完全不执行,来维护数据库的完整性...阅读全文
posted @ 2013-09-26 16:46 晴天猪 阅读(72) | 评论 (0) 编辑
 
摘要: 存储过程就是为以后使用而保存的一条或多条SQL 语句。可将其视为批文件,虽然它们的作用不仅限于批处理。1. 存储过程的优点和缺点存储过程的优点:使用存储过程有三个主要的好处,即简单、安全、高性能:通过把处理封装在一个易用的单元中,可以简化复杂的操作由于不要求反复建立一系列处理步骤,因而保证了数据的一致性。可以防止错误。需要执行的步骤越多,出错的可能性就越大。简化对变动的管理。提高安全性。通过存储过程限制对基础数据的访问,减少了数据讹误(无意识的或别的原因所导致的数据讹误)的机会存储过程通常以编译过的形式存储...阅读全文
posted @ 2013-09-26 10:50 晴天猪 阅读(19) | 评论 (0) 编辑
 
摘要: 视图视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。为什么使用视图重用SQL 语句简化复杂的SQL 操作。在编写查询后,可以方便地重用它而不必知道其基本查询细节使用表的一部分而不是整个表保护数据。可以授予用户访问表的特定部分的权限,而不是整个表的访问权限更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据注意...阅读全文
posted @ 2013-09-24 23:01 晴天猪 阅读(19) | 评论 (0) 编辑
 
摘要: 创建表的两种办法:使用DBMS 提供的交互式创建和管理数据库表的工具;直接用SQL 语句创建。表创建基础创建表示例:1 CREATE TABLE Products2 (3 prod_id CHAR(10) NOT NULL,--是否可以为null4 vend_id CHAR(10) NOT NULL,5 prod_name CHAR(254) NOT NULL,6 prod_price DECIMAL(8,2) NOT NULL,7 prod_desc VARCHAR(1000) NULL8 );注意:理解NULL不要把NULL 值与空字符串相混淆...阅读全文
posted @ 2013-09-19 23:21 晴天猪 阅读(75) | 评论 (0) 编辑
 
摘要: 更新数据基本的UPDATE语句,由三部分组成:要更新的表列名和它们的新值确定要更新那些行的过滤条件更新单列示例:1 UPDATE Customers2 SET cust_email = 'kim@thetoystore.com'3 WHERE cust_id = '1000000005';更新多列的示例...阅读全文
posted @ 2013-09-19 13:27 晴天猪 阅读(26) | 评论 (0) 编辑
 
摘要: NSERT 用来将行插入(或添加)到数据库表。插入有几种方式:插入完整的行;插入行的一部分;插入某些查询的结果。存储到表中每一列的数据在VALUES 子句中给出,必须给每一列提供一个值。如果某列没有值,则应该使用NULL 值(假定表允许对该列指定空值)。各列必须以它们在表定义中出现的次序...阅读全文
posted @ 2013-09-19 10:45 晴天猪 阅读(96) | 评论 (0) 编辑
 
摘要: 什么是组合查询SQL 通过执行多个查询(多条SELECT 语句),并将结果作为一个查询结果集返回。这些组合查询通常称为并(union)或复合查询(compound query)。什么时候使用组合查询一般以下两种情况需要使用组合查询:在一个查询中从不同的表返回结构数据;对一个表执行多个查询,按一个查询返回数据。提示:组合查询和多个WHERE 条件多数情况下...阅读全文
posted @ 2013-09-17 22:59 晴天猪 阅读(29) | 评论 (0) 编辑
 
摘要: 1. 使用表别名SQL 除了可以对列名和计算字段使用别名,还允许给表名起别名。这样 做有两个主要理由:缩短SQL 语句;允许在一条SELECT 语句中多次使用相同的表。使用表别名示例:1 SELECT cust_name, cust_contact2 FROM Customers AS C, Orders AS O,注意:Oracle 中没有AS这个关键字...阅读全文
posted @ 2013-09-15 17:20 晴天猪 阅读(126) | 评论 (0) 编辑
 
摘要: 可伸缩(scale)能够适应不断增加的工作量而不失败。设计良好的数据库或应用程序 称为可伸缩性好(scale well)。联结(JOIN)联结(JOIN)是一种机制,用来在一条SELECT 语句中关联表,因此称为联结1. 创建联结创建联结非常简单,指定要联结的所有表以及关联它们的方式即可:1 SELECT vend_name, prod_name, prod_price2 FROM Vendors, Products3 WHERE Vendors.vend_id = Products.vend_id;警告:完全限定列名在引用的列可能出现歧义时,必须使用...阅读全文
posted @ 2013-09-02 19:39 晴天猪 阅读(250) | 评论 (0) 编辑
 
摘要: 子查询(subquery),即嵌套在其他查询中的查询。1. 利用子查询进行过滤SELECT 语句中,子查询总是从内向外处理。示例:1 SELECT cust_name, cust_contact2 FROM Customers3 WHERE cust_id IN (SELECT cust_id4 FROM Order5 WHERE order_num IN (SELECT order_num6 FROM OrderItems7 ...阅读全文
posted @ 2013-08-30 16:41 晴天猪 阅读(127) | 评论 (0) 编辑
 
摘要: 使用GROUP BY子句创建分组示例:SELECT vend_id, COUNT(*) AS num_prodsFROM ProductsGROUP BY vend_id;注意GROUP BY 子句可以包含任意数目的列,因而可以对分组进行嵌套,更细致地进行数据分组。如果分组列中包含具有NULL 值的行,则NULL 将作为一个分组返回。如果列中有多行NULL 值,它们将分为一组。GROUP BY 子句必须出现在WHERE 子句之后,ORDER BY 子句之前。2. 使用HAVING过滤分组除了能用GROUP BY 分组数据外,SQL 还允许过滤分组阅读全文
posted @ 2013-08-25 16:54 晴天猪 阅读(135) | 评论 (1) 编辑
 
摘要: 聚合函数(aggregate function)对某些行运算的函数,计算并返回一个值有时候我们需要对表中的数据进行汇总,而不需要数据本身,为了方便这些类型的检索,SQL给出了5个聚合函数,SQL聚合函数在各主要的SQL实现中得到了相当一致的支持。如下:1.1 AVG()函数AVG()通过对表中行数计数并计算其列值之和,求得该列的平均...阅读全文
posted @ 2013-08-23 23:05 晴天猪 阅读(116) | 评论 (1) 编辑
 
摘要: 与SQL 语句不一样,SQL 函数不是可移植的。为特定SQL 实现编写的代码在其他实现中可能不正常。因为各个DBMS厂商对函数的实现有很大的区别。常用函数 大多数SQL 实现支持以下类型的函数:用于处理文本字符串(如删除或填充值,转换值为大写或小写)的文本函数...阅读全文
posted @ 2013-08-22 19:53 晴天猪 阅读(130) | 评论 (0) 编辑
 
摘要: 字段(field)基本上与列(column)的意思相同,经常互换使用,不过数据库列一 般称为列,而术语字段通常与计算字段一起使用。拼接(concatenate)将值联结到一起(将一个值附加到另一个值)构成单个值。说明:是+还是||?Access 和SQL Server 使用+号。DB2、Oracle、PostgreSQL、SQLite 和 Open Office Base 使用||。详细请参阅具体的...阅读全文
posted @ 2013-08-21 09:28 晴天猪 阅读(114) | 评论 (0) 编辑
 
摘要: LIKE操作符通配符(wildcard):用来匹配值的一部分的特殊字符。百分号(%)通配符最常使用的通配符是百分号(%)。在搜索串中,%表示任何字符出现任意次数:SELECT prod_id, prod_nameFROM ProductsWHERE prod_name LIKE 'Fish%';下划线(_)通配符只匹配单个字符,而不是多个字符,下面的示例有两个_通配符:SELECT prod_id, prod_nameFROM ProductsWHERE prod_name LIKE '__ inch teddy bear';方括号([])通配符方括号...阅读全文
posted @ 2013-08-21 09:19 晴天猪 阅读(90) | 评论 (0) 编辑
 

高级SQL特性的更多相关文章

  1. 22 高级SQL特性

    1.约束 为正确地进行关系数据库设计,需要一种方法来保证只在表中插入合法的数据.例如,如果Orders表存储订单信息,OrderItems表存储订单详细内容,应该保证Orderitems中引用的任何订 ...

  2. SQL 必知必会·笔记<20>高级SQL特性

    1. 约束 约束(constraint)就是管理如何插入或处理数据库数据的规则.DBMS通过在数据库表上施加约束来实施引用完整性. 1.1 主键 主键是一种特殊的约束,用来保证一列(或一组列)中的值是 ...

  3. 高级OOP特性(6)

    PHP不支持的高级OPP特性 PHP不支持通过函数重载实现多态 PHP不支持多重继承 PHP不支持根据所修改数据类型为操作符赋予新的含义 对象克隆 克隆实例 在对象前面添加clone关键字来克隆对象, ...

  4. [转]高级SQL注入:混淆和绕过

    ############# [0×00] – 简介[0×01] – 过滤规避(Mysql)[0x01a] – 绕过函数和关键词的过滤[0x01b] – 绕过正则表达式过滤[0×02] – 常见绕过技术 ...

  5. Redis数据库高级实用特性:持久化机制

    Redis数据库高级实用特性:持久化机制 大型web系统数据缓存设计 Redis高级特性:虚拟内存的使用技巧 Redis高级实用特性:安全性与主从复制 Memcached.Redis OR Tair

  6. Redis学习第八课:Redis高级实用特性(二)

    Redis高级实用特性 4.持久化机制 Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式:(1).snapshott ...

  7. Redis学习第八课:Redis高级实用特性(一)

    Redis高级实用特性 注:我学习的环境是vmware7.1 + ubantu10.10+ redis 3.0.2 1.安全性 设置客户端连接后进行任何其他指定前需要的密码.因为redis速度相当快, ...

  8. 29.MySQL高级SQL语句

    MySQL高级SQL语句 目录 MySQL高级SQL语句 创建两个表 SELECT DISTINCT WHERE AND OR IN BETWEEN 通配符 LIKE ORDER BY 函数 数学函数 ...

  9. 读书笔记--SQL必知必会22--高级SQL特性

    22.1 约束 约束(constraint),管理如何插入或处理数据库数据的规则. DBMS通过在数据库表上施加约束来实施引用完整性. 大多数约束是在表定义中定义的. 22.1.1 主键 主键,用来保 ...

随机推荐

  1. Hibernate各保存方法之间的差 (save,persist,update,saveOrUpdte,merge,flush,lock)等一下

    hibernate保存  hibernate要保存的目的是提供一个方法,多.它们之间有许多不同之处,点击此处详细说明.使得差: 一.预赛: 在所有.阐释.供hibernate,,transient.p ...

  2. 处理器(CPU)调度问题

     因为处理器是最重要的计算机资源,提高利用率并提高系统性能的处理器(吞吐量.响应时间).于处理机调度性能的好坏,因而,处理机调度便成为操作系统设计的中心问题之中的一个. 一.处理机调度的层次 1. ...

  3. C#操作Xml:通过XmlDocument读写Xml文档

    什么是Xml? Xml是扩展标记语言的简写,是一种开发的文本格式.关于它的更多情况可以通过w3组织了解http://www.w3.org/TR/1998/REC-xml-19980210.如果你不知道 ...

  4. elasticsearch的rest搜索--- 查询

    目录: 一.针对这次装B 的解释 二.下载,安装插件elasticsearch-1.7.0   三.索引的mapping 四. 查询 五.对于相关度的大牛的文档 四. 查询 1. 查询的官网的文档   ...

  5. 无废话WCF入门教程三[WCF的宿主]

    一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...

  6. Cocos2d-x3.0 TestCPP文件夹的注意事项

    1.不多说了,重力加速度. 2.ActionMangerTest:此Test它是由导演来展示,以获得集体诉讼经理ActionManager类别,操作控制节点. ①CrashTest:破坏demo,毁. ...

  7. SQL常规查询详解

    一.交叉连接(cross join) 交叉连接(cross join):有两种,显式的和隐式的,不带on子句,返回的是两表的乘积,也叫笛卡尔积. 例如:下面的语句1和语句2的结果是相同的. 语句1:隐 ...

  8. white-space的值

    white-space的值:normal 默认.空白会被浏览器忽略.pre 空白会被浏览器保留.其行为方式类似 HTML 中的 标签.nowrap 文本不会换行,文本会在在同一行上继续,直到遇到 标签 ...

  9. 全局scope与Isolate scope通信

    AngularJS 全局scope与Isolate scope通信 在项目开发时,全局scope 和 directive本地scope使用范围不够清晰,全局scope与directive本地scope ...

  10. Linux:最终用途cat命令查看不可见的字符

    常,的程序或软件,并没有语法错误,你检查其内容没有发现相关问题.这是时间,因为你用普通的文本编辑软件来查看,有很多的字符显示不出来的,但在最终用途cat命令可以很easy地检測出是否存在这些字符. ~ ...