![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 72
ForestRound
这个作者很懒,什么都没留下…
展开
-
SQL 之 触发器
触发器 triiger触发器是种特殊的存储过程,它的执行不是由程序调用,不需要要手动操作,而是由事件触发。就好像按钮的点击事件,网页的Load事件一样,触发器的事件是由对表进行增删改操作触发的,当对一个数据库进行增删改时就会激活触发器。从SQL2005开始,根据SQL语句的不同将触发器分成了两类,一类是DML触发器,一类是DLL触发器,DML触发器又分为两类。触发器的分原创 2016-10-10 06:49:14 · 636 阅读 · 0 评论 -
SQL 之 视图(二)
一、创建视图1. 通过sql语句CREATE VIEW 视图名 ASSELECT语句(1)可以创建包含一个列或者多个列,一个表或者多个表的视图。(2)在创建视图时,并非所有的select子查询都可用,如:compute和compute by,order by[除非与top一起连用]。但在查询时可以使用。(3)在视图创建时,必须为没有标题列指定标题。(4)WITH原创 2016-10-06 15:46:02 · 645 阅读 · 0 评论 -
SQL 之 视图(一)
视图无非就是存储在数据库中并具有名字的SQL语句,或者说是以预定义的SQL查询的形式存在的数据表成分。视图本身不包含数据。 视图,又称虚表,区别于基表。视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。允许用户执行以下操作:(1)以用户或者某些类型的用户感觉自然或者直观的方式来组织数据;(2)限制对数据原创 2016-10-06 14:52:16 · 597 阅读 · 0 评论 -
SQL 之 子查询
关键字:EXISTS子查询:插入到SELECT语句中的另一条SELECT语句。子查询可以插入到SELECT语句的任何子句中,方式取决于子查询是columnlist、tablelist还是condition三种方式:(1)当子查询是tablelist的一部分时,它指定了一个数据源(2)当子查询是columnlist的一部分时,它创建了一个单个的计算的列;(3)当子查询是con原创 2016-10-06 16:55:54 · 615 阅读 · 0 评论 -
SQL 之 集合逻辑
关键字:UNION , UNION ALL , INTERSEC , EXCEPT / MINUS1. UNION :与JOIN不同,UNION合并的表不需要有关联的列。UNION允许我们在一条SELECT语句中检索不相关的或者部分相关的数据。SelectStatement1UNIONSelectStatement2ORDER BY columnlist原创 2016-10-06 18:22:11 · 488 阅读 · 0 评论 -
SQL 之 存储过程、参数和函数
存储过程和参数区别于之前的用单独一条语句检索数据,现在把多条语句保存到一个叫存储过程的单独对象中。 使用存储过程的原因:1. 把多条SQL语句保存到单独的过程中2. 把参数和SQL语句结合使用(也可以不含参数) 创建存储过程CREATE PROCEDURE ProcedureName,AS[OptionalParameterDeclarations]BE原创 2016-10-06 19:04:59 · 3412 阅读 · 0 评论 -
SQL 之 修改数据
关键字:INSERT INTO , VALUES , DELETE , TRUNCATE TABLE , UPDATE修改数据:(1)插入新的行(2)删除表中的行(3)更新表中指定的行与列已有的数据一、修改策略修改数据的机制十分直接,意味着非常危险。实际中有各种可以帮助防止灾难性错误的策略。(1)删除行时,可以使用软删除技术,这并不是真正从物理上删除行,可以用表原创 2016-10-06 19:57:09 · 3562 阅读 · 0 评论 -
SQL 之 范式
设计数据库的一些规范化的标准:通常满足第三范式已经足够规范了。第一范式:消除重复数据。要求不允许多值属性。如果一个数据单元格中存在多个值,通过给定值来检索会带来问题。这一范式的核心就是:不允许有重复的列。比如在TestFormat列存在“Multiple choice, essay”这样的值是不允许的,应该使用TestFormat1和TestFormat2的两个不同的列,而不是使用Te原创 2016-10-06 20:42:14 · 546 阅读 · 0 评论 -
SQL 之 事务
多用户数据库数据库管理系统允许多人操作。所以如何处理潜在的同步问题等,一定程度上取决于数据库如何处理锁。锁锁是数据库用来控制数据资源被并行使用的一种机制。当数据库的一些内容被锁定时,任何企图修改(也可能是读取)这个数据的用户必须等到锁被释放。两种锁策略:(1)数据库的写操作必须向服务器申请并获得写锁才能修改数据。读操作必须申请和获得读锁才能查询数据。多用户可以同时读取数原创 2016-10-06 21:13:01 · 462 阅读 · 0 评论 -
SQL 之 自连接
自连接:一种虚拟方式。允许多次引用同一各表,该表就像独立的表一样,实际上创建了表的一个虚拟视图,允许多次使用这个虚拟视图。常用在自身是自引用的表,这类的表的一列指向了同一个表中的另一列。示例:Personnel表中的每一行都有一个列指向同一个表的另一列,这一列表示该员工的经理是谁(没有经理则用NULL)。就像指向同一个表的行的外键。EmPloyeeID原创 2016-10-06 14:02:33 · 10026 阅读 · 5 评论 -
SQL 之 外连接
关键字:LEFT OUTER JOIN , RIGHT OUTER JOIN , FULL JOINCustomers表CustomerID FirstName LastName------------------------------------------------------- 1原创 2016-10-06 11:57:03 · 628 阅读 · 0 评论 -
SQL 之 内连接
Customers表CustomerID FirstName LastName------------------------------------------------------- 1 William Smith 2 Natal原创 2016-10-06 11:15:58 · 586 阅读 · 0 评论 -
SQL 之 别名
SQL Server 直接从表中取直接量或者计算量没有列名:SELECT 5, FirstName + ' ' + LastName FROM Students结果是两列都没有列名解决这个问题,使用别名。列的别名SELECT [原有列名 / 直接量(如5,‘David’等)/ 计算量(如Price * Quantity)] AS '列的别名' FROM Ta原创 2016-10-05 12:13:22 · 1468 阅读 · 1 评论 -
SQL 之 函数(一)
SQLSQL函数:字符函数、日期/时间函数、数值函数、转换函数复合函数:把多种函数组成一个表达式的方法 标量函数、聚合函数标量函数:只针对单行中的数据执行该函数。eg. LTRIM函数用于删除一个特定值中的起始空格聚合函数:对一个较大的数据集合(或数据组)进行操作,eg. SUM函数可以用来计算一个特定的列中所有值的总和。 1. 字符函数LEFT, RIGHT,原创 2016-10-05 20:49:53 · 1331 阅读 · 0 评论 -
SQL 之 排列数据
1. ORDER BY子句SELECT columnlistFROM tablelistORDER BY columnlist 强调:ORDER BY子句总在FROM子句后面, FROM子句总在关键字SELECT后面。columnlist可以是任意多的列,包括单个的列,或者复杂的表达式。SELECT后面和ORDER BY后面的列可以完全不同。 示例:表原创 2016-10-05 21:56:55 · 997 阅读 · 0 评论 -
SQL 之 基于列的逻辑
关键字: CASE, WHEN, THEN, ELSE, END重点:CASE表达式SQL的CASE表达式,在SELECT语句中针对单个的表达式应用IF-THEN-ELSE类型的逻辑。1. IF-THEN-ELSE逻辑IF some condition is trueTHEN do thisELSE do that CASE表达式能够出现在SELECT语句很原创 2016-10-05 23:32:29 · 457 阅读 · 0 评论 -
SQL 之 布尔逻辑
关键字:AND, OR, NOT, BETWEEN, IN, IS, NULL 1. ANDSELECTCustomerName,QuantityPurchasedFROM OrdersWHERE QuantityPurchased > 3AND QuantityPurchased 只返回那些QuantityPurchased大于3且小于7的行(每个条件都必原创 2016-10-06 00:43:51 · 1398 阅读 · 0 评论 -
SQL 之 基于行的逻辑
关键字: WHERE、 TOP/LIMIT/ROWNUM 1. 应用查询条件SELECT columnlistFROM tablelistWHERE conditionORDER BY columnlist PS:WHERE子句必须总在FROM和ORDER BY之间。事实上,任何子句都必须按这个顺序,ORDER BY是最后的。 示例一SELECT原创 2016-10-06 00:16:02 · 403 阅读 · 0 评论 -
SQL 之 模糊匹配
模糊匹配关键字:LIKE , SOUNDEX , DIFFERENCE 1. 模式匹配在WHERE子句中使用LIKE操作符来查找针对列值的某个部分的匹配。LIKE + 通配符 来指定。SELECTMovieTitle AS ‘Movie’FROM MoviesWHERE MovieTitle LIKE‘%LOVE%’查找电影名包含LOVE的电影(LOVE原创 2016-10-06 07:47:24 · 10529 阅读 · 0 评论 -
SQL 之 汇总数据
关键字:DISTINCT , SUM , AVG , MIN , MAX , COUNT , GROUP BY , HAVING 也叫聚合函数 1. 关键字DISTINCT 消除重复保证返回的新表每一行都是不相同的。查询Artist表里面有哪些歌手:SELECTDISTINCTArtistFROM SongTitlesORDER BY Artist原创 2016-10-06 09:40:35 · 768 阅读 · 0 评论 -
SQL 之 外键、索引
一、外键:从一个表的一个列到另一个不同的表中的一个列的直接引用。设置一个外键时,要求指定两个列,配置了外键列的表为子表,另一个表中被引用的列则位于父表中。不允许先删除父表,子表必须依赖父表。设置外键,可以为父表中涉及到更新和操作的行设置一些具体的行为。比如外键CustomerID(1)No Action:默认行为,如果把列CustomerID的更新设置为No Action,意味着任原创 2016-10-06 20:28:53 · 1290 阅读 · 0 评论