摘要:
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现在,我们希望显示每天日期所对应的名称和价格(日期的显示格式是 & 阅读全文
摘要:
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, 阅读全文
摘要:
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现在,我们希望把名称和价格舍入为最接近的整数。我们 阅读全文
摘要:
在 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 阅读全文
摘要:
MID() 函数MID 函数用于从文本字段中提取字符。SQL MID() 语法SELECT MID(column_name,start[,length]) FROM table_name参数描述column_name必需。要提取字符的字段。start必需。规定开始位置(起始值是 1)。length可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。SQL MID() 实例我们拥有下面这个 "Persons" 表:IdLastNameFirstNameAddressCity1AdamsJohnOxford StreetLondon2BushGeorgeFifth 阅读全文
摘要:
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 阅读全文
摘要:
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" 阅读全文
摘要:
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 阅读全文
摘要:
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 阅读全文
摘要:
SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数请看下面的 "Products" 表:P_IdProductNameUnitPriceUnitsInStockUnitsOnOrder1computer69925152printer365363telephone28015957假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。我们使用如下 SELECT 语句:SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)FROM Products 阅读全文
摘要:
NULL 值是遗漏的未知数据。默认地,表的列可以存放 NULL 值。本章讲解 IS NULL 和 IS NOT NULL 操作符。SQL NULL 值如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。NULL 值的处理方式与其他值不同。NULL 用作未知的或不适用的值的占位符。注释:无法比较 NULL 和 0;它们是不等价的。SQL 的 NULL 值处理请看下面的 "Persons" 表:IdLastNameFirstNameAddressCity1AdamsJohnLondon2BushGeor 阅读全文
摘要:
SQL 日期当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。只要数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间,情况就有点复杂了。在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。MySQL Date 函数下面的表格列出了 MySQL 中最重要的内建日期函数:函数描述NOW()返回当前的日期和时间CURDATE()返回当前的日期CURTIME()返回当前的时间DATE()提取日期或日期/时间表达式的日期部分EXTRACT()返回日期/时间按的单独部分DATE_ADD()给日期添加指定的时间间隔DATE_SUB()从日期减 阅读全文
摘要:
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注释:视图总 阅读全文
摘要:
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 阅读全文
摘要:
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 阅读全文
摘要:
通过使用 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 阅读全文
摘要:
CREATE INDEX 语句用于在表中创建索引。在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。索引您可以在表中创建索引,以便更加快速高效地查询数据。用户无法看到索引,它们只能被用来加速搜索/查询。注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。SQL CREATE INDEX 语法在表上创建一个简单的索引。允许使用重复的值:CREATE INDEX index_nameON table_name (column_name)注释:"column_name&quo 阅读全文
摘要:
SQL 约束约束用于限制加入表的数据的类型。可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。我们将主要探讨以下几种约束:NOT NULLUNIQUEPRIMARY KEYFOREIGN KEYCHECKDEFAULTSQL NOT NULL 约束NOT NULL 约束强制列不接受 NULL 值。NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。下面的 SQL 语句强制 "Id_P" 列和 "LastName" 列不接受 NUL 阅读全文
摘要:
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 阅读全文
摘要:
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 阅读全文