文档库 最新最全的文档下载
当前位置:文档库 › SQL语言参考020

SQL语言参考020

附录C SQL语言参考本附录列出了M y S Q L数据库识别的S Q L的语法、操作符和函数。

C.1 MySQL的S Q L语句

M y S Q L有一些对S Q L语句的独有扩展,并且了解能利用的全部语法也很重要。

附录C SQL语言参考下载

290计计PHP3 程序设计

附录C SQL语言参考下载

292计计PHP3 程序设计

C.2 MySQL的操作符

和大多数计算机语言类似,M y S Q L识别多种操作符。下面为一个总结性的列表(见表C -1)。

(续)函数类型描述

A C O S(e x p r)数学返回e x p r的反余弦值

A S C I I(e x p r)字符串返回e x p r第一个字符的A S C I I值

A S I N(e x p r)数学返回e x p r的反正弦值

AT A N(e x p r)数学返回e x p r的反正切值

ATAN2(expr1, expr2)数学返回e x p r1、e x p r2的反正切值

AV G(e x p r)分组用于子句的组中,计算e x p r的平均值BENCHMARK(count, expr)杂项执行e x p r表达式c o u n t次,总返回0

B I N(e x p r)字符串返回对应e x p r二进制值的字符串

B I T_A N D(e x p r)分组用于子句的组中,找到e x p r中所有位的“与”

B I T_O R(e x p r)分组用于子句的组中,找到e x p r中所有位的“或”

C E I L I N G(e x p r)数学返回不小于e x p r的最小整数

C H A R(e x p r_l i s t)字符串返回将表达式解释成A S C I I值的字符串形式。表

达式列表77,121, 83, 81, '7 6'解释为“ M y S Q L”

C H A R_L E N G T H参看L E N G T H

C H A R A C T E R_L E N G T H参看L E N G T H

C O S(e x p r)数学返回e x p r的余弦值,e x p r是弧度值

CONV(N, from_base, to_base)字符串在不同的进制之间进行转换

C O N C A T (e x p r_l i s t)字符串返回列表中连接在一起组成所有表达的字符串

C O T(e x p r)数学返回e x p r的余切

C O U N T(e x p r)分组用于子句的分组中,计算s e l e c t获取的非空行的数

C U R R E N T_

D A TE( )日期/时间按照该函数的上下文是字符串还是数字,以

' Y Y Y Y- M M-D D'或' Y Y Y Y M M D D'的形式返回当前

的日期,可以使用C U R D A T E代替

C U R R E N T _

D AT E。参阅C U R R

E N T _ T I M E和

C U R R E N T_T I M E S T A M P

CURRENT_TIME( )日期/时间按照该函数的上下文是字符串还是数字,以

'HH:MM:SS ' 或' HHMMSS ' 的格式返回当前的时

间。可以使用C U R T I M E代替C U R R E N T_T I M E,

参看C U R R E N T_D A T E和C U R R E N T_T I M E S T A M P C U R R E N T_T I M E S T AMP( )日期/时间按照该函数的上下文是字符串还是数字,以

'Y Y Y Y-MM-DDHH:MM:SS '或'Y Y Y Y M M D D H H M M S S'

的格式返回当前的时间,可以使用N O W和

S Y S D A T E代替C U R R E N T_T I M E S T A M P。参考

C U R R E N T_

D A T E和C U R R

E N T_T I M E

D A TABASE( ) 杂项返回当前的数据库名字

D A T E_A D D(d a t e,I N T

E R VAL 日期/时间返回加上指定时间间隔之后的日期,详细用法expr type)参看M y S Q L文档。能使用A D D D A T E代替D A T E_

A D D。参看清单1 4-2中它的一个实例。参看D A T E_

S U B

D A TE_SUB(date, INTERVAL 日期/时间返回减去指定时间间隔之前的日期。详细用法参expr type)看M y S Q L文档。可以使用S U B D A T E代替D A T E_

S U B。参看D A T E_A D D

D A T E_F O R M A T (d a t e,f o r m a t)日期/时间按照f o r m a t格式将日期d a t e进行格式化,详细用法

参看M y S Q L文档。参看T I M E_F O R M A T

(续)函数类型描述

L O A D_F I L E(f i l e_n a m e)字符串返回f i l e_n a m e的内容

L O C A T E(e x p r, tar g e t[,p o s])字符串返回t a r g e t中第一次出现e x p r的位置,可以从p o s

开始查找。参看P O S I T I O N

L O G(e x p r)数学返回e x p r的自然对数值

L O G10(e x p r)数学返回以1 0为底的对数值

L O W E R(e x p r)字符串将e x p r的所有字母转变为小写并返回。可以使用

L C A S E代替L O W E R,参看U P P E R

L P A D(e x p r,length, pad_string)字符串返回从左边填补上l e n g t h长度的p a d_s t r i n g的字符

串。参看R PA D

LT R I M(e x p r)字符串返回去除前导空白字符的e x p r。参看RT R I M和

T R I M

M A K E_S E T(n,e x p r_l i s t)字符串,集合返回由e x p r_l i s t中对应于n中的位被设置的值组成

集合(逗号分隔的列表),例如,选择M A K E_S E T

(1|3, 'One',Two ', 'T h r e e')为'One, Three'

M A X(e x p r)分组用于分组子句中,以找出e x p r的最大值

M A X数学参看G R E A T E S T

M I D(e x p r, pos, length)字符串返回e x p r中开始于p o s的l e n g t h长的字符串

M I N(e x p r)分组用于分组子句中,以找出e x p r的最小值

M I N数学参看L E A S T

M I N U T E(t i m e)日期/时间返回时间的分钟数,范围从0~5 9

M O D(e x p r1,e x p r2)数学返回e x p r1被e x p r2除所余的模。可以使用expr1 %

e x p r2代替M O D函数

M O N T H(d a t e)日期/时间返回日期的月份号,范围从1~1 2

M O N T H N A M E(d a t e)日期/时间返回日期的月份名字

N O W参看C U R R E N T_T I M E S T A M P

O C T(e x p r)字符串返回表示e x p r的八进制值的字符串

O C T E T_L E N G T H参看L E N G T H

PASSWORD (plaintext) 杂项从p l a i n t e x t中计算密码字符串

P E R I O D_A D D(p e r i o d,m o n t h s)日期/时间返回加上p e r i o d之后的指定月份的Y Y Y Y M M形式

的字符串。p e r i o d为Y Y M M或Y Y Y Y M M形式

P E R I O D_D I F F(p e r i o d1,p e r i o d2)日期/时间返回p e r i o d1和p e r i o d2之间的月数,p e r i o d指定为

Y Y M M或Y Y Y Y M M

P I()数学返回p i值,大约是3 .141593

POSITION(expr IN targ e t)字符串返回expr在target第一次碰到的位置。参看LOCATE P O W E R(e x p r1,e x p r2)数学返回e x p r 1的e x p r 2次幂。可以使用P O W代替

P O W E R

Q U A R T E R(d a t e)日期/时间返回一年的季度数,范围为1 ~ 4

R A D I A N S(e x p r)数学将参数从度转为弧度

R A N D([e x p r])数学返回0和1之间的随机浮点数。如果提供了expr参数,

它用作随机数的种子。小心,不再在GROUP BY子

句内的字段使用带有R A N D的列

R E L E A S E_L O C K(l o c k_n a m e)杂项释放l o c k_n a m e锁,如果成功则返回真,如果当

前进程不能创建锁则为假,如果锁不存在则返回

N U L L

R E P E A T (e x p r, count)字符串返回e x p r重复c o u n t次的字符串

R E P L A C E(t a r get, string,字符串返回所有的s t r i n g被r e p l a c e m e n t替换之后的t a r g e t

r e p l a c e m e n t)字符串

(续)

R E V E R S E (e x p r )字符串返回e x p r 的反向字符串

R I G H T (e x p r , length)字符串返回e x p r 最右边的l e n g t h 个字符。参看L E F T , MID,和S U B S T R I N G

expr1 RLIKE expr2

字符串

如果两个字符串相似则返回真,能在表达式中使

用正则表达式(参看第9

章),R E G E X P 是其同义词,也可以使用NOT RLIKE ,参看L I K E

ROUND(expr [,decimals])数学返回expr 的四舍五入整数数值,可选保留的小数位R P A D (e x p r , lengthpad_string)字符串返回右填补p a d _s t r i n g 的l e n g t h 长的字符串。参看L PA D

RT R I M (e x p r )字符串返回删除了尾部的空白字符之后的字符串S E C O N D (t i m e )

日期/时间返回t i m e 时间的秒数,范围为0 ~ 59

S E C _T O_TIME( seconds)

日期/时间

将秒数转换为小时、分钟和秒,根据是用在字符串还是数字上下文中,使用'HH:MM:SS' 或

H H M M S S 的格式

S E S S I O N _U S E R ()参看U S E R

S I G N (e x p r )数学返回参数的符号,根据e x p r 的正负,返回- 1、0或1S I N (e x p r )数学返回e x p r 的正弦值,e x p r 单位为弧度

S O U N D E X (e x p r )字符串返回e x p r 的s o u n d e x 值。使用L E T T (S O U N D E X

(expr), 4)获取“标准”的s o u n d e x 字符串S P A C E (c o u n t )字符串返回由空格字符重复c o u n t 次的字符串S Q R T (e x p r )数学返回e x p r 的非负平方根

S T D D E V (e x p r )分组使用在分组子句中,以找出e x p r 的标准平均差。可以使用S T D 代替S T D D E V

S T R C M P (e x p r 1,e x p r 2)字符串比较两个字符串,如果字符串相等则返回0,- 1表示第一个较小,而1表示第二个较小

S U B S T R I N G (e x p r , pos, 字符串

返回e x p r 中的l e n g t h 长的字符串,可选从p o s 位置[ ,l e n g t h ])

开始

SUBSTRING(expr 字符串返回e x p r 最右边l e n g t h 长的字符串。这个记号来自FROM length)

于ANSI SQL 92。参看L E F T 、M I D 、R I G H T 和S U B S -T R I N G

S U B S T R I N G _I N D E X 字符串返回e x p r 中d e l i m i t e r 出现c o u n t 次之后的子字符串。( expr, delimeter, count)如果c o u n t 是负值,返回最后一个d e l i m i t e r 右边的所有字符串

S U M (e x p r )分组用在分组子句中,用于找出e x p r 的总数S Y S D A T E ()参看C U R R E N T _T I M E S T A M P S Y S T E M _U S E R ()参看U S E R

TA N (e x p r )

数学返回e x p r 的正切值,单位为弧度

T I M E _T O _S E C (t i m e )日期/时间将t i m e 转换为秒并返回。参看S E C _T O _T I M E TO _D A Y S (d a t e )

日期/时间返回从公元元年以来到d a t e 的天数

T I M E _F O R M A T(time, format)日期/时间按照f o r m a t 格式格式化时间。详细用法参看M y S Q L 手册参看D A T E _F O R M A T T R I M (e x p r )

字符串返回e x p r 去除前导和结尾空格的字符串

TRIM(LEADING [string]字符串从e

x p r 的前面移去s t r i n g 字符串并返回。可以在L E A -FROM expr)

D I N G 的位置上使用B O T H 或T R A I L I N G 。如果没有指定s t r i n g ,则移去空格

(续)函数类型描述T R U N C A T E数学返回保留e x p r2位的e x p r1

(expr1, expr2)

U N I X_T I M E S T AMP( [date])日期/时间如果未指定date, 返回从'1970-01-01 00:00:00'

(U n i x起始时间)至当前时间(G M T)的秒数。如

果指定了d a t e,那么就返回从U n i x起始时间至d a t e

的秒数。参看F R O M_U N I X T I M E U S E R()杂项返回当前的M y S Q L用户。也可以使用S Y S T E M_

USER 或S E S S I O N_U S E R

U P P E R(e x p r)字符串将e x p r所有的字符转变为大写并返回,也能用

U C A S E代替U P P E R。参看L O W E R WEEK(date [,first])日期/时间返回日期的周数,范围为0 ~52。星期天为一周的

第一天,如果f i r s t参数设置为1,则把星期一设置

为一周的第一天

W E E K D A Y (d a t e)日期/时间返回d a t e是星期几,0对应星期一

V E R S I O N()杂项返回M y S Q L版本

Y E A R(d a t e)日期/时间返回d a t e的年数,范围从1000 ~ 9999

M y S Q L的工具

M y S Q L的发布版本包含很多有用的工具(放在了/ u s r/l o c a l/m y s q l/b i n目录下)。下列清单起到提醒作用(清单C-1 ~ 清单C -8)。

? comp_err─这个程序产生指定语言的信息文件。

? isamchk─这个程序描述、检查和修复I S A M表,它也被用于对表进行优化。

清单C-1 isamchk─h e l p的显示结果(编辑过)

附录C SQL语言参考下载

序转换为M y S Q L 的C 程序。

? m y s q l ─M y S Q L 的命令行界面,它也提供了一个非交互的模式,因此M y S Q L 可能用在批文件中。清单C -3显示了可用的选项。

清单C-3 mysq ─h e l p 的显示结果(编辑过)

300

计计PHP3 程序设计

附录C SQL语言参考下载

重要,当用户权限改变的时候需要执行重载命令。

清单C-5 mysqladmin ─h e l p 的显示结果(编辑过)

302

计计PHP3 程序设计

? mysqlbug ─这个程序创建

M

y S Q L 中能用于报告b u g 的模板。

? m y s q l d u m p ─这个程序卸载出数据库的内容,将S Q L 语句写到S T D O U T 。如果将输出重定向到文件,就能得到一个文本版本的数据库。仅需要细微的改变,这些数据就能迁移到其他S Q L 数据库中。

清单C-6 mysqldump ─h e l p 的显示结果(编辑过)

附录C SQL语言参考下载

304计计PHP3 程序设计

清单

C-7 mysqlimport ─

h e l p 的显示结果(编辑过)

附录C SQL语言参考305

下载

306计计PHP3 程序设计

清单C-8 mysqlshow─h e l p的显示结果(编辑过)

? perror─这个程序提供对数字错误代码的简短描述。

? replace─这个程序使用一个字符串替换另一个,它被m s q l2m y s q l程序调用,但也可以直接使用它。

相关文档