摘要: FORMAT() 函数FORMAT 函数用于对字段的显示进行格式化。SQL FORMAT() 语法SELECT FORMAT(column_name,format) FROM table_name参数描述column_name必需。要格式化的字段。format必需。规定格式。SQL FORMAT() 实例我们拥有下面这个 "Products" 表:Prod_IdProductNameUnitUnitPrice1gold1000 g32.352silver1000 g11.563copper1000 g6.85现在,我们希望显示每天日期所对应的名称和价格(日期的显示格式是 & 阅读全文
posted @ 2013-05-24 14:24 Troy's blog 阅读(243) 评论(0) 推荐(0)
摘要: NOW() 函数NOW 函数返回当前的日期和时间。提示:如果您在使用 Sql Server 数据库,请使用 getdate() 函数来获得当前的日期时间。SQL NOW() 语法SELECT NOW() FROM table_nameSQL NOW() 实例我们拥有下面这个 "Products" 表:Prod_IdProductNameUnitUnitPrice1gold1000 g32.352silver1000 g11.563copper1000 g6.85现在,我们希望显示当天的日期所对应的名称和价格。我们使用如下 SQL 语句:SELECT ProductName, 阅读全文
posted @ 2013-05-24 14:23 Troy's blog 阅读(400) 评论(0) 推荐(0)
摘要: ROUND() 函数ROUND 函数用于把数值字段舍入为指定的小数位数。SQL ROUND() 语法SELECT ROUND(column_name,decimals) FROM table_name参数描述column_name必需。要舍入的字段。decimals必需。规定要返回的小数位数。SQL ROUND() 实例我们拥有下面这个 "Products" 表:Prod_IdProductNameUnitUnitPrice1gold1000 g32.352silver1000 g11.563copper1000 g6.85现在,我们希望把名称和价格舍入为最接近的整数。我们 阅读全文
posted @ 2013-05-24 14:22 Troy's blog 阅读(529) 评论(0) 推荐(0)
摘要: 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。SQL HAVING 语法SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_nameHAVING aggregate_function(column_name) operator valueSQL HAVING 实例我们拥有下面这个 "Orders" 表:O_IdOrderDateOrderPriceCustom 阅读全文
posted @ 2013-05-24 14:20 Troy's blog 阅读(155) 评论(0) 推荐(0)
摘要: MID() 函数MID 函数用于从文本字段中提取字符。SQL MID() 语法SELECT MID(column_name,start[,length]) FROM table_name参数描述column_name必需。要提取字符的字段。start必需。规定开始位置(起始值是 1)。length可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。SQL MID() 实例我们拥有下面这个 "Persons" 表:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth 阅读全文
posted @ 2013-05-24 14:20 Troy's blog 阅读(360) 评论(0) 推荐(0)
摘要: GROUP BY 语句GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。SQL GROUP BY 语法SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_nameSQL GROUP BY 实例我们拥有下面这个 "Orders" 表:O_IdOrderDateOrderPriceCustomer12008/12/291000Bush22008/11/231600Carter320 阅读全文
posted @ 2013-05-24 14:19 Troy's blog 阅读(160) 评论(0) 推荐(0)
摘要: SUM() 函数SUM 函数返回数值列的总数(总额)。SQL SUM() 语法SELECT SUM(column_name) FROM table_nameSQL SUM() 实例我们拥有下面这个 "Orders" 表:O_IdOrderDateOrderPriceCustomer12008/12/291000Bush22008/11/231600Carter32008/10/05700Bush42008/09/28300Bush52008/08/062000Adams62008/07/21100Carter现在,我们希望查找 "OrderPrice" 阅读全文
posted @ 2013-05-24 14:17 Troy's blog 阅读(249) 评论(0) 推荐(0)
摘要: LAST() 函数LAST() 函数返回指定的字段中最后一个记录的值。提示:可使用 ORDER BY 语句对记录进行排序。SQL LAST() 语法SELECT LAST(column_name) FROM table_nameSQL LAST() 实例我们拥有下面这个 "Orders" 表:O_IdOrderDateOrderPriceCustomer12008/12/291000Bush22008/11/231600Carter32008/10/05700Bush42008/09/28300Bush52008/08/062000Adams62008/07/21100Ca 阅读全文
posted @ 2013-05-24 14:16 Troy's blog 阅读(292) 评论(0) 推荐(0)
摘要: FIRST() 函数FIRST() 函数返回指定的字段中第一个记录的值。提示:可使用 ORDER BY 语句对记录进行排序。SQL FIRST() 语法SELECT FIRST(column_name) FROM table_nameSQL FIRST() 实例我们拥有下面这个 "Orders" 表:O_IdOrderDateOrderPriceCustomer12008/12/291000Bush22008/11/231600Carter32008/10/05700Bush42008/09/28300Bush52008/08/062000Adams62008/07/211 阅读全文
posted @ 2013-05-24 14:15 Troy's blog 阅读(297) 评论(0) 推荐(0)
摘要: SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数请看下面的 "Products" 表:P_IdProductNameUnitPriceUnitsInStockUnitsOnOrder1computer69925152printer365363telephone28015957假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。我们使用如下 SELECT 语句:SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)FROM Products 阅读全文
posted @ 2013-05-24 11:59 Troy's blog 阅读(337) 评论(0) 推荐(0)
摘要: NULL 值是遗漏的未知数据。默认地,表的列可以存放 NULL 值。本章讲解 IS NULL 和 IS NOT NULL 操作符。SQL NULL 值如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。NULL 值的处理方式与其他值不同。NULL 用作未知的或不适用的值的占位符。注释:无法比较 NULL 和 0;它们是不等价的。SQL 的 NULL 值处理请看下面的 "Persons" 表:IdLastNameFirstNameAddressCity1AdamsJohnLondon2BushGeor 阅读全文
posted @ 2013-05-24 11:57 Troy's blog 阅读(177) 评论(0) 推荐(0)
摘要: SQL 日期当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。只要数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间,情况就有点复杂了。在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。MySQL Date 函数下面的表格列出了 MySQL 中最重要的内建日期函数:函数描述NOW()返回当前的日期和时间CURDATE()返回当前的日期CURTIME()返回当前的时间DATE()提取日期或日期/时间表达式的日期部分EXTRACT()返回日期/时间按的单独部分DATE_ADD()给日期添加指定的时间间隔DATE_SUB()从日期减 阅读全文
posted @ 2013-05-24 11:56 Troy's blog 阅读(126) 评论(0) 推荐(0)
摘要: SQL CREATE VIEW 语句什么是视图?在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。注释:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。SQL CREATE VIEW 语法CREATE VIEW view_name ASSELECT column_name(s)FROM table_nameWHERE condition注释:视图总 阅读全文
posted @ 2013-05-24 11:53 Troy's blog 阅读(393) 评论(0) 推荐(0)
摘要: AUTO INCREMENT 字段我们通常希望在每次插入新记录时,自动地创建主键字段的值。我们可以在表中创建一个 auto-increment 字段。用于 MySQL 的语法下列 SQL 语句把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键:CREATE TABLE Persons(P_Id int NOT NULL AUTO_INCREMENT,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varc 阅读全文
posted @ 2013-05-24 11:52 Troy's blog 阅读(211) 评论(0) 推荐(0)
摘要: ALTER TABLE 语句ALTER TABLE 语句用于在已有的表中添加、修改或删除列。SQL ALTER TABLE 语法如需在表中添加列,请使用下列语法:ALTER TABLE table_nameADD column_name datatype要删除表中的列,请使用下列语法:ALTER TABLE table_name DROP COLUMN column_name注释:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。要改变表中列的数据类型,请使用下列语法:ALTER TABLE table_nameALTER COLUMN co 阅读全文
posted @ 2013-05-24 11:46 Troy's blog 阅读(218) 评论(0) 推荐(0)
摘要: 通过使用 DROP 语句,可以轻松地删除索引、表和数据库。SQL DROP INDEX 语句我们可以使用 DROP INDEX 命令删除表格中的索引。用于 Microsoft SQLJet (以及 Microsoft Access) 的语法:DROP INDEX index_name ON table_name用于 MS SQL Server 的语法:DROP INDEX table_name.index_name用于 IBM DB2 和 Oracle 语法:DROP INDEX index_name用于 MySQL 的语法:ALTER TABLE table_name DROP INDEX 阅读全文
posted @ 2013-05-24 11:45 Troy's blog 阅读(265) 评论(0) 推荐(0)
摘要: CREATE INDEX 语句用于在表中创建索引。在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。索引您可以在表中创建索引,以便更加快速高效地查询数据。用户无法看到索引,它们只能被用来加速搜索/查询。注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。SQL CREATE INDEX 语法在表上创建一个简单的索引。允许使用重复的值:CREATE INDEX index_nameON table_name (column_name)注释:"column_name&quo 阅读全文
posted @ 2013-05-24 11:44 Troy's blog 阅读(179) 评论(0) 推荐(0)
摘要: SQL 约束约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。我们将主要探讨以下几种约束:NOT NULLUNIQUEPRIMARY KEYFOREIGN KEYCHECKDEFAULTSQL NOT NULL 约束NOT NULL 约束强制列不接受 NULL 值。NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。下面的 SQL 语句强制 "Id_P" 列和 "LastName" 列不接受 NUL 阅读全文
posted @ 2013-05-24 11:31 Troy's blog 阅读(487) 评论(0) 推荐(1)
摘要: SQL SELECT INTO 语句可用于创建表的备份复件。SELECT INTO 语句SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。SQL SELECT INTO 语法您可以把所有的列插入新表:SELECT *INTO new_table_name [IN externaldatabase] FROM old_tablename或者只把希望的列插入新表:SELECT column_name(s)INTO new_table_name [IN externaldatabase] FROM ol 阅读全文
posted @ 2013-05-24 10:54 Troy's blog 阅读(163) 评论(0) 推荐(0)
摘要: SQL UNION 操作符UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。SQL UNION 语法SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。SQL UNION ALL 语法SELECT column_name(s) FRO 阅读全文
posted @ 2013-05-24 10:49 Troy's blog 阅读(96) 评论(0) 推荐(0)
摘要: SQL FULL JOIN 关键字只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。FULL JOIN 关键字语法SELECT column_name(s)FROM table_name1FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name注释:在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。原始的表 (用在例子中的):"Persons" 表:Id_PLastNameFirstNameAddressCity1AdamsJohnOxford St 阅读全文
posted @ 2013-05-24 10:36 Troy's blog 阅读(151) 评论(0) 推荐(0)
摘要: SQL RIGHT JOIN 关键字RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。RIGHT JOIN 关键字语法SELECT column_name(s)FROM table_name1RIGHT JOIN table_name2 ON table_name1.column_name=table_name2.column_name右连接(RIGHT JOIN)实例现在,我们希望列出所有的定单,以及定购它们的人 - 如果有的话。您可以使用下面的 SELECT 语句:SELECT Persons.Last 阅读全文
posted @ 2013-05-24 10:35 Troy's blog 阅读(128) 评论(0) 推荐(0)
摘要: SQL LEFT JOIN 关键字LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。LEFT JOIN 关键字语法SELECT column_name(s)FROM table_name1LEFT JOIN table_name2 ON table_name1.column_name=table_name2.column_name原始的表 (用在例子中的):"Persons" 表:Id_PLastNameFirstNameAddressCity1AdamsJohnOxford Stree 阅读全文
posted @ 2013-05-24 10:34 Troy's blog 阅读(116) 评论(0) 推荐(0)
摘要: SQL INNER JOIN 关键字在表中存在至少一个匹配时,INNER JOIN 关键字返回行。INNER JOIN 关键字语法SELECT column_name(s)FROM table_name1INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name原始的表 (用在例子中的):"Persons" 表:Id_PLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth AvenueNew Y 阅读全文
posted @ 2013-05-24 10:26 Troy's blog 阅读(141) 评论(0) 推荐(0)
摘要: SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。Join 和 Key有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。请看 "Persons" 表:Id_PLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFi 阅读全文
posted @ 2013-05-24 10:18 Troy's blog 阅读(98) 评论(0) 推荐(0)
摘要: 通过使用 SQL,可以为列名称和表名称指定别名(Alias)。SQL Alias表的 SQL Alias 语法SELECT column_name(s)FROM table_nameAS alias_name列的 SQL Alias 语法SELECT column_name AS alias_nameFROM table_nameAlias 实例: 使用表名称别名假设我们有两个表分别是:"Persons" 和 "Product_Orders"。我们分别为它们指定别名 "p" 和 "po"。现在,我们希望列出 &qu 阅读全文
posted @ 2013-05-24 10:09 Troy's blog 阅读(143) 评论(0) 推荐(0)
摘要: 原文连接地址:http://www.amhl.net/wenzhang/DianNao-BianChengKaiFa/20101201/115247.html在使用SQL语句查询数据库记录时,如果要查询相同的内容,有着不同的多种方法。 仍然,尽管使用多种方法可以得到相同的结果,但是,如果您使用不同的方法,在执行效益上是截然不同的。因此,我们得仔细考虑,如果要查询相同结果,该使用哪种语句,执行效益比较好。 这就是SQL语句的优化。 以下优化语句,针对MS Sql数据库。 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2、应... 阅读全文
posted @ 2013-05-24 09:45 Troy's blog 阅读(883) 评论(0) 推荐(0)
摘要: BETWEEN 操作符在 WHERE 子句中使用,作用是选取介于两个值之间的数据范围。BETWEEN 操作符操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。SQL BETWEEN 语法SELECT column_name(s)FROM table_nameWHERE column_nameBETWEEN value1 AND value2BETWEEN 操作符实例实例 1如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL:SELECT * FR 阅读全文
posted @ 2013-05-24 09:41 Troy's blog 阅读(152) 评论(0) 推荐(0)
摘要: IN 操作符IN 操作符允许我们在 WHERE 子句中规定多个值。SQL IN 语法SELECT column_name(s)FROM table_nameWHERE column_name IN (value1,value2,...)IN 操作符实例现在,我们希望从Persons表中选取姓氏为 Adams 和 Carter 的人:我们可以使用下面的 SELECT 语句:SELECT * FROM PersonsWHERE LastName IN ('Adams','Carter') 阅读全文
posted @ 2013-05-24 09:24 Troy's blog 阅读(122) 评论(0) 推荐(0)
摘要: 在搜索数据库中的数据时,您可以使用 SQL 通配符。SQL 通配符在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符:通配符描述%替代一个或多个字符_仅替代一个字符[charlist]字符列中的任何单一字符[^charlist]或者[!charlist]使用 _ 通配符例子 1现在,我们希望从上面的 "Persons" 表中选取名字的第一个字符之后是 "eorge" 的人:我们可以使用下面的 SELECT 语句:SELECT * FROM PersonsWHERE 阅读全文
posted @ 2013-05-24 09:18 Troy's blog 阅读(103) 评论(0) 推荐(0)
摘要: LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。LIKE 操作符LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。SQL LIKE 操作符语法SELECT column_name(s) FROM table_name WHERE column_name LIKE 'N%'/'%N'/'%N%'从某表中查询某字段(或者全部数据)中指定字段中包含字符N开头/字符N结尾/包含字符N的数据SELECT column_name(s) FROM table_name WHERE column_name NOT LIKE 'N 阅读全文
posted @ 2013-05-24 09:13 Troy's blog 阅读(141) 评论(0) 推荐(0)