-->ColdFusion 初级教程-->结构化查询语言(SQL)概述

ColdFusion

后页 前页
目录
北极星书库
结构化查询语言(SQL)概述


SQL是操纵数据库的标准语言。其语法非常简单,但功能非常强大,可以进行复杂的数据操作。在ColdFusion中,将SQL语句包装在CFQUERY标签中来执行数据操作。


一个SQL语句是一个由从句组成的命令,从句指定了要执行的操作,数据源以及任何完成操作所需的结构。每个从句必须起始于一个关键字。下面是包装在CFQUERY标签中的SQL语句的一个简单例子:


<CFQUERY NAME="zip_02140"


DATASOURCE="Customer">


SELECT first_name, last_name, phone


FROM Customer


WHERE zip_code = 02140


ORDER BY last_name


</CFQUERY>


这个语句用关键字SELECT搜索数据库。第一行指定了要选择的数据库字段。第二行用一个从句指定了要对其进行操作的数据源,本例中即表的名字。第三个从句设定了返回记录的限定条件,只返回满足条件的记录。第四个从句按指定的字段对返回结果进行排序。


注意:有些DBMS使用非标准的SQL语法(称为方言)。ColdFusion不对CFQUERY中的SQL语句进行检查,因此你可以使用任何你的数据源所支持的SQL语法。关于具体的非标准SQL语法请参考你的DBMS文档。


最常用的SQL命令包括:


·SELECT――取出特定的记录


·INSERT――添加一条新记录


·UPDATE――改变特定记录的值


·DELETE――删除特定的记录


最常用的从句包括:
·FROM――指定要对其进行操作的数据源


·WHERE――对操作设定一个或多个条件


·ORDERBY――对查询结果进行排序


·GROUP BY――对查询结果进行分组


SQL扩展


ODBCSQL进行了一些扩展,这些扩展为不同的数据库系统提供了统一的语法,从而使程序更加容易移植。最常用的ODBC SQL扩展包括日期/时间格式,转换函数,和存储过程。


日期/时间格式


ODBC定义了日期和时间的统一格式。如果你需要在SQL语句中使用日期/时间值,则必须使用ODBC的格式。日期,时间,和日期/时间值的格式如下表所示:


格式

例子

日期

{d’yyyy-mm-dd’}

{d’1995-06-20}

时间

{t’hh:mm:ss’}

{t’15:34:08’}

日期/时间

{ts’yyyy-mm-dd hh:mm:ss’}

{ts’1995-06-20 15:34:08’}


当你使用ColdFusionInsertUpdate操作时,日期字段会自动被检查并转换为ODBC日期格式,因此你不需要格式化用户输入。但是,当你在CFQUERY标签中使用SQL语句时,你应该保证日期和时间有正确的格式。实现的方法之一是对相应的自段进行合法性检查,这可以确保用户输入的日期值的合法,并自动转换为ODBC格式。


转换函数


许多数据库驱动程序允许你在SQL语句中调用函数。这些函数通常完成字符串操作,日期/时间操作,以及数值计算。由于不同的数据源中这些函数通常具有不同的名字和语法,ODBC定义了一套与数据源类型无关的转换函数。


调用ODBC函数的语法为:


{ fn scalar-function }


其中scalar-function代表函数名及其参数。下面的例子展示了两个常用的转换函数在SQL语句中的使用。第一个例子调用CURDATE获得当前的日期:


SELECT *


FROM Orders


WHERE ShipDate>={ fn CURDATE()


第二个例子调用LEFT获得用户输入的邮编的最左边5个字符:


SELECT *


FROM Customers


WHERE PostalCode={ fn LEFT(‘Form.PostalCode#’, 5)


小结:


本章对ColdFusion数据源进行了简单介绍。对一般的开发而言,最常使用的是ODBC数据源。其要点是:在操作数据库之前,先要为数据库建立数据源,该数据源作为应用程序与数据库之间的接口。然后在应用程序中指定要对之进行操作的数据源,使用标准的SQL语句,即可完成数据库的查询,添加,修改等操作。


另外要注意ODBC的标准规范和ODBC的扩展。


其它类型的数据源属于较高级的内容,在此仅作一般了解即可。


后页
前页
目录
北极星书库