当前位置:文档之家› MySQL常用函数(了解)

MySQL常用函数(了解)

MySQL常用函数(了解)
MySQL常用函数(了解)

Mysql中常用的函数

函数表示对输入参数值返回一个具有特定关系的值。

mysql函数主要分为以下几类:

数学函数字符串函数日期和时间函数条件判断函数系统信息函数和加密函数等其他函数

数学函数:

绝对值函数,三角函数,对数函数,随机函数,在有错误时返回null

【例6.1】求2,-3.3和-33的绝对值,SQL语句如下:

SELECT ABS(2), ABS(-3.3), ABS(-33);

PI()返回圆周率的值默认显示小数位数是六位

【例6.2】返回圆周率值,SQL语句如下:

SELECT pi();

平方根函数sqrt(x)和求余函数mod(x,y)

【例6.3】求9,40和-49的二次平方根,SQL语句如下:

SELECT SQRT(9), SQRT(40), SQRT(-49);

【例6.4】对MOD(31,8),MOD(234, 10),MOD(45.5,6)进行求余运算,SQL语句如下:SELECT MOD(31,8),MOD(234, 10),MOD(45.5,6);

获取整数的函数ceil(x) ceiling(x) 和floor(x)

ceil(x)和ceiling(x)意义相同,返回x邻近的最大整数数值,返回值转化为一个bigint 【例6.5】使用CEILING函数返回最大整数,SQL语句如下:

SELECT CEIL(-3.35),CEILING(3.35);

FLOOR函数返回最小整数

【例6.6】使用FLOOR函数返回最小整数,SQL语句如下:

SELECT FLOOR(-3.35), FLOOR(3.35);

获取随机数的函数rand() 和rand(x)

rand()返回一个随机浮点v,范围在0~1之间(即0<=v<=1.0)

例6.7】使用RAND()函数产生随机数,SQL语句如下:

SELECT RAND(),RAND(),RAND();

若是指定一个x则他被作为种子值,用来产生重复序列

【例6.8】使用RAND(x)函数产生随机数,SQL语句如下:

SELECT RAND(10),RAND(10),RAND(11);

备注:所谓重复序列即产生的值相等,即rand(10) 和rand(10)产生的随机值相等

四舍五入的函数round(x)返回最接近x的整数,对x进行四舍五入

【例6.9】使用ROUND(x)函数对操作数进行四舍五入操作,SQL语句如下:

SELECT ROUND(-1.14),ROUND(-1.67), ROUND(1.14),ROUND(1.66);

ROUND(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位

y为负数时,保留的小数点左边相应的位数直接保存为0

【例6.10】使用ROUND(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y 位,SQL语句如下:

SELECT ROUND(1.38, 1), ROUND(1.38, 0), ROUND(232.38, -1), round(232.38,-2);

TRUNCATE(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位,y位之后均化为0

y为负数则x小数点左起第y位开始后面所有值都化为0

【例6.11】使用TRUNCA TE(x,y)函数对操作数进行四舍五入操作,结果保留小数点后面指定y位,SQL语句如下:

SELECT TRUNCA TE(1.31,1), TRUNCATE(1.99,1), TRUNCATE(1.99,0), TRUNCATE(19.99,-1);

字符串函数

CHAR_LENGTH函数计算字符串字符个数

【例6.26】使用CHAR_LENGTH函数计算字符串字符个数,SQL语句如下:

SELECT CHAR_LENGTH('date'), CHAR_LENGTH('egg');

LENGTH函数计算字符串长度

【例6.27】使用LENGTH函数计算字符串长度,SQL语句如下:

SELECT LENGTH('date'), LENGTH('egg');

CONCA T函数连接字符串

【例6.28】使用CONCAT函数连接字符串,SQL语句如下:

SELECT CONCAT('My SQL', '5.5'),CONCA T('My',NULL, 'SQL');

备注:一个参数为null返回结果为null

CONCA T_WS函数连接带分隔符的字符串concat_ws(x,s1,s2) x代表分割符,分割符为null 返回null

【例6.29】使用CONCAT_WS函数连接带分隔符的字符串,SQL语句如下:

SELECT CONCAT_WS('-', '1st','2nd', '3rd'), CONCA T_WS('*', '1st', NULL, '3rd');

LOWER函数或者LCASE函数将字符串中所有字母字符转换为小写

【例6.31】使用LOWER函数或者LCASE函数将字符串中所有字母字符转换为小写,SQL 语句如下:

SELECT LOWER('BEAUTIFUL'), LCASE('Well');

UPPER函数或者UCASE函数将字符串中所有字母字符转换为大写

【例6.32】使用UPPER函数或者UCASE函数将字符串中所有字母字符转换为大写,SQL

语句如下:

SELECT UPPER('black'), UCASE('BLacK');

LEFT函数返回字符串中左边的字符left(s,n)返回字符串s最左边的n个字符

【例6.33】使用LEFT函数返回字符串中左边的字符,SQL语句如下:

SELECT LEFT('football', 5); 注意若超过字符串长度,系统以空格返回超过部分,以第一个字母为起点,若n为负,则返回空格。

RIGHT函数返回字符串中右边的字符

【例6.34】使用RIGHT函数返回字符串中右边的字符,SQL语句如下:

SELECT RIGHT('football', 4);

删除空格的函数

【例6.37】使用LTRIM函数删除字符串左边的空格,SQL语句如下:

SELECT '( book )',CONCA T('(',LTRIM(' book '),')');

备注:concat连接字符串CONCA T('(',LTRIM(' book '),')连接了两个括号

【例6.38】SELECT CONCAT( '(', RTRIM (' book '), ')');

SELECT '( book )',CONCA T('(', RTRIM (' book '),')');

【例6.39】SELECT CONCAT( '(', TRIM(' book ') , ')');

SELECT '( book )',CONCA T('(', TRIM(' book '),')');

TRIM(s1 FROM s)函数删除字符串s中两端含有的字符串s1(若不含,返回原字符串),s1可选,未指定删除空格

【例6.40】使用TRIM(s1 FROM s)函数删除字符串中两端指定的字符,SQL语句如下:SELECT TRIM('xy' FROM 'xyxboxyokxxyxy') ;

SUBSTRING函数获取指定位置处的子字符串substring(s,n,len)和mid(s,n,len)

从字符串s中返回长度为len ,起始位置为n的字符串,

【例6.45】使用SUBSTRING函数获取指定位置处的子字符串,SQL语句如下:SELECT SUBSTRING('breakfast',5) AS col1, //从左向右第五个开始截取

SUBSTRING('breakfast',5,3) AS col2,

SUBSTRING('lunch', -3) AS col3,

SUBSTRING('lunch', -5, 3) AS col4;

备注:负数代表从右向左查正数从左向右无论正负,均截取右边的(以查的最后一个数为第一个截取的数,截取)

LOCATE,POSITION,INSTR函数查找字符串中指定子字符串的开始位置

【例6.47】使用LOCA TE,POSITION,INSTR函数查找字符串中以指定子字符串做开始位置,SQL语句如下:

SELECT LOCATE('ball','football'),POSITION('ball'IN 'football'),INSTR ('football', 'ball');

REVERSE函数反转字符串

【例6.48】使用REVERSE函数反转字符串,SQL语句如下:

SELECT REVERSE('abc');

ELT函数返回指定位置字符串elt(n,str1,str2,str3)n=1时返回str1

【例6.49】使用ELT函数返回指定位置字符串,SQL语句如下:

SELECT ELT(3,'1st','2nd','3rd'), ELT(3,'net','os');

FIELD函数返回指定字符串第一次出现的位置Field(s,s1,s2,s3)返回s在s1~sn中的位置【例6.50】使用FIELD函数返回指定字符串第一次出现的位置,SQL语句如下:SELECT FIELD('Hi', 'hihi', 'Hey', 'Hi', 'bas') as col1,

FIELD('Hi', 'Hey', 'Lo', 'Hilo', 'foo') as col2;

FIND_IN_SET()函数返回子字符串第一次在字符串列表中的位置find_in_set(s,’s1,s2,...sn’) s 在列表s1~sn中的位置

【例6.51】使用FIND_IN_SET()函数返回子字符串在字符串列表中的位置,SQL语句如下:SELECT FIND_IN_SET('Hi','hihi,Hey,Hi,bas');

日期函数

当前日期

【例6.53】使用日期函数获取系统当期日期,SQL语句如下:

SELECT CURDATE(),CURRENT_DA TE(), CURDATE() + 0;

CURDATE(),和CURRENT_DATE()返回结果的格式的完全相同

当前时间

【例6.54】使用时间函数获取系统当期日期,SQL语句如下:

SELECT CURTIME(),CURRENT_TIME(),CURTIME() + 0;

【例6.55】使用日期时间函数获取当前系统日期和时间,SQL语句如下:

SELECT CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE();

【例6.58】使用UTC_DA TE()函数返回当前UTC日期值,SQL语句如下:

SELECT UTC_DA TE(), UTC_DA TE() + 0;

【例6.59】使用UTC_TIME()函数返回当前UTC时间值,SQL语句如下:

SELECT UTC_TIME(), UTC_TIME() + 0;

【例6.60】使用MONTH()函数返回指定日期中的月份,SQL语句如下:

SELECT MONTH('2011-02-13');

【例6.61】使用MONTHNAME()函数返回指定日期中的月份的名称,SQL语句如下:SELECT MONTHNAME('2011-02-13');

【例6.62】使用DAYNAME()函数返回指定日期的工作日名称,SQL语句如下:

SELECT DAYNAME('2011-02-13');

【例6.63】使用DAYOFWEEK()函数返回日期对应的周索引,SQL语句如下:

SELECT DAYOFWEEK('2011-02-13');

【例6.64】使用WEEKDAY()函数返回日期对应的周索引,SQL语句如下:

SELECT WEEKDAY('2011-02-13 22:23:00'), WEEKDAY('2011-07-01');

【例6.65】使用WEEK()函数查询指定日期是一年中的第几周,SQL语句如下:SELECT WEEK('2011-02-20'),WEEK('2011-02-20',0), WEEK('2011-02-20',1);

【例6.66】使用WEEKOFYEAR()查询指定日期是一年中的第几周,SQL语句如下:SELECT WEEK('2011-02-20',3), WEEKOFYEAR('2011-02-20');

【例6.67】使用DAYOFYEAR()函数返回指定日期在一年中的位置,SQL语句如下:SELECT DAYOFYEAR('2011-02-20');

【例6.68】使用DAYOFMONTH()函数返回指定日期在一个月中的位置,SQL语句如下:SELECT DAYOFMONTH('2011-02-20');

【例6.69】使用YEAR()函数返回指定日期对应的年份,SQL语句如下:

SELECT YEAR('11-02-03'),YEAR('96-02-03');

【例6.70】使用QUARTER()函数返回指定日期对应的季度,SQL语句如下

SELECT QUARTER('11-04-01');

【例6.71】使用MINUTE()函数返回指定时间的分钟值,SQL语句如下:

SELECT MINUTE('11-02-03 10:10:03');

【例6.72】使用MINUTE()函数返回指定时间的秒值,SQL语句如下

SELECT SECOND('10:05:03');

【例6.73】使用EXTRACT函数提前日期或者时间值,SQL语句如下:

SELECT EXTRACT(YEAR FROM '2011-07-02') AS col1,

EXTRACT(YEAR_MONTH FROM '2011-07-12 01:02:03') AS col2,

EXTRACT(DAY_MINUTE FROM '2011-07-12 01:02:03') AS col3;

备注:extract(type from date)type [year,year_month,day_minute]

计算时间和日期的函数

【例6.76】使用DATE_ADD()和ADDDATE()函数执行日期加操作,SQL语句如下:SELECT DATE_ADD('2010-12-31 23:59:59', INTERV AL 3 day

) AS col1,

ADDDATE('2010-12-31 23:59:59', INTERV AL '10:1' MINUTE_SECOND

) AS col2,

DA TE_ADD('2010-12-31 23:59:59', INTERV AL '1:1' MINUTE_SECOND) AS col3;

备注:计算只包括年月日,不包括时间(adddate(date,interval expr type))

【例6.77】使用DATE_SUB和SUBDA TE函数执行日期减操作,SQL语句如下:SELECT DATE_SUB('2011-01-02', INTERV AL 31 DAY) AS col1,

SUBDATE('2011-01-02', INTERV AL 31 DAY) AS col2,

DA TE_SUB('2011-01-01 00:01:00',INTERV AL '0 0:1:1' DAY_SECOND) AS col3;

【例6.78】使用ADDTIME进行时间加操作,SQL语句如下:

SELECT ADDTIME('2000-12-31 23:59:59','1:1:1'), ADDTIME(’02:02:02’,’02:00:00’);

【例6.79】使用SUBTIME()函数执行时间减操作,SQL语句如下:

SELECT SUBTIME('2000-12-31 23:59:59','1:1:1'), SUBTIME('02:02:02','02:00:00');

【例6.80】使用DATEDIFF()函数计算两个日期之间的间隔天数,SQL语句如下:SELECT DATEDIFF('2010-12-31 23:59:59','2013-1-30 00:00:00') AS col1,

DA TEDIFF('2010-11-30 23:59:59','2010-12-31') AS col2;

系统信息函数

查看当前MySQL版本号

例6.89】查看当前MySQL版本号,SQL语句如下:

SELECT VERSION();

【例6.90】查看当前用户的链接数,SQL语句如下:

SELECT CONNECTION_ID();

【例6.91】使用SHOW PROCESSLIST命令输出当前用户连接信息,SQL语句如下:SHOW PROCESSLIST;

【例6.92】查看当前使用的数据库,SQL语句如下:

SELECT DATABASE(),SCHEMA();

【例6.93】获取当前登陆用户名称,SQL语句如下:

SELECT USER(), CURRENT_USER(), SYSTEM_USER();

【例6.94】使用CHARSET()函数返回字符串使用的字符集,SQL语句如下:

SELECT CHARSET('abc'), CHARSET(CONVERT('abc' USING latin1)), CHARSET(VERSION());

加密函数

【例6.97】使用PASSWORD函数加密密码,SQL语句如下:

SELECT PASSWORD('newpwd');

【例6.98】使用MD5函数加密字符串,SQL语句如下:

SELECT MD5 ('mypwd');

【例6.99】使用ENCODE加密字符串,SQL语句如下:

SELECT ENCODE('secret','cry'), LENGTH(ENCODE('secret','cry'));

备注:LENGTH()函数是计算加密后的字符串长度

【例6.100】使用DECODE函数解密被ENCODE加密的字符串,SQL语句如下:SELECT DECODE(ENCODE('secret','cry'),'cry');

常用MySQL语句大全

MySQL服务的配置和使用 修改MySQL管理员的口令:mysqladmin –u root password 密码字符串 如:mysqldmin –u root password 111111 连接MySQL服务器,使用命令:mysql [-h 主机名或IP地址] [-u 用户名] [-p] 如:mysql –u root –p 如已有密码需修改root密码用命令: mysqladmin –u root –p password 新密码字符串 如:mysqladmin –u root –p password 111111 创建数据库格式为:CREATE DATABASE 数据库名称; 如:mysql>create database abc; 默认创建数据库保存在/var/lib/mysql中 查看数据库是 mysql>show abc; 选择数据库是 USE 数据库名称; 如:mysql>use abc; 删除数据库是 DROP DATABASE 数据库名称;如:mysql>drop database abc; 数据库的创建和删除 创建表是CREATE TABLE 表名称(字段1,字段2,…[表级约束]) [TYPE=表类型]; 其中字段(1,2 )格式为:字段名字段类型[字段约束] 如创建一个表student,如下: mysql>create table student ( sno varchar(7) not null, 字段不允许为空 sname varchar (20 )not null, ssex char (1) default …t?, sbirthday date, sdepa char (20), primary key (sno) 表的主键 ); 可用describe命令查看表的结构。 默认表的类型为MYISAM,并在/var/lib/mysql/abc 目录下建立student.frm(表定

常用函数大全

常用函数大全 mysql_affected_rows
mysql_affected_rows — 取得前一次 MySQL 操作所影响的记录行数 mysql_fetch_array —从结果集中取得一行作为关联数组或数字数组或二者兼 有:
mysql_fetch_array($result, MYSQL_NUM) , MYSQL_NUM 可用 MYSQL_BOTH 或
MYSQL_ASSOC 代替,也可以不写,默认为 MYSQL_BOTH
mysql_fetch_row — 从结果集中取得一行作为枚举数组: mysql_fetch_row($result); mysql_fetch_assoc($result)
mysql_fetch_row()从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果 的列储存在一个数组的单元中,偏移量从 0 开始。 依次调用 mysql_fetch_row()将返回结果集中的下一行,如果没有更多行则返回 FALSE。 mysql_fetch_assoc — 从结果集中取得一行作为关联数组 :
mysql_fetch_assoc() 和用 mysql_fetch_array() 加上第二个可选参数 MYSQL_ASSOC 完全相同。它 仅仅返回关联数组。这也是 mysql_fetch_array()起初始的工作方式。如果在关联索引之外还需要数字 索引,用 mysql_fetch_array()。 如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,要么用 mysql_fetch_row()来取得数字索引或给该列起个别名。参见 mysql_fetch_array() 例子中有关别名说 明。 有一点很重要必须指出,用 mysql_fetch_assoc()并不明显 比用 mysql_fetch_row()慢,而且还提供了 明显更多的值。
mysql_query()
仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,
如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query()在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明 任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。

mysql的日期和时间函数

mysql的日期和时间函数 这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。mysql> SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; DAYOFWEEK(date) 返回 date 的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的标准。mysql> SELECT DAYOFWEEK(’1998-02-03’); -> 3 WEEKDAY(date) 返回 date 的星期索引(0 = Monday, 1 = Tuesday, ... 6 = Sunday): mysql> SELECT WEEKDAY(’1998-02-03 22:23:00’); -> 1 mysql> SELECT WEEKDAY(’1997-11-05’); -> 2 DAYOFMONTH(date) 返回 date 是一月中的第几天,范围为 1 到 31: mysql> SELECT DAYOFMONTH(’1998-02-03’); -> 3 DAYOFYEAR(date) 返回 date 是一年中的第几天,范围为 1 到 366: mysql> SELECT DAYOFYEAR(’1998-02-03’); -> 34 MONTH(date) 返回 date 中的月份,范围为 1 到 12: mysql> SELECT MONTH(’1998-02-03’); -> 2 DAYNAME(date) 返回 date 的星期名: mysql> SELECT DAYNAME("1998-02-05"); -> ’Thursday’ MONTHNAME(date) 返回 date 的月份名: mysql> SELECT MONTHNAME("1998-02-05"); -> ’February’ QUARTER(date) 返回 date 在一年中的季度,范围为 1 到 4:

常用函数 类参考

全局函数1、common.func.php 公用函数 获得当前的脚本网址 function GetCurUrl() 返回格林威治标准时间 function MyDate($format='Y-m-d H:i:s',$timest=0) 把全角数字转为半角 function GetAlabNum($fnum) 把含HTML的内容转为纯text function Html2Text($str,$r=0) 把文本转HTML function Text2Html($txt) 输出Ajax头 function AjaxHead() 中文截取2,单字节截取模式 function cn_substr($str,$slen,$startdd=0) 把标准时间转为Unix时间戳 function GetMkTime($dtime) 获得一个0000-00-00 00:00:00 标准格式的时间 function GetDateTimeMk($mktime) 获得一个0000-00-00 标准格式的日期 function GetDateMk($mktime) 获得用户IP function GetIP() 获取拼音以gbk编码为准 function GetPinyin($str,$ishead=0,$isclose=1)

dedecms通用消息提示框 function ShowMsg($msg,$gourl,$onlymsg=0,$limittime=0) 保存一个cookie function PutCookie($key,$value,$kptime=0,$pa="/") 删除一个cookie function DropCookie($key) 获取cookie function GetCookie($key) 获取验证码 function GetCkVdValue() 过滤前台用户输入的文本内容 // $rptype = 0 表示仅替换html标记 // $rptype = 1 表示替换html标记同时去除连续空白字符// $rptype = 2 表示替换html标记同时去除所有空白字符// $rptype = -1 表示仅替换html危险的标记 function HtmlReplace($str,$rptype=0) 获得某文档的所有tag function GetTags($aid) 过滤用于搜索的字符串 function FilterSearch($keyword) 处理禁用HTML但允许换行的内容 function TrimMsg($msg) 获取单篇文档信息 function GetOneArchive($aid)

MySQL常用函数

一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然对数的底)的x次方 FLOOR(x) 返回小于x的最大整数值 GREATEST(x1,x2,...,xn)返回集合中最大的值 LEAST(x1,x2,...,xn) 返回集合中最小的值 LN(x) 返回x的自然对数 LOG(x,y)返回x的以y为底的对数 MOD(x,y) 返回x/y的模(余数) PI()返回pi的值(圆周率) RAND()返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。 ROUND(x,y)返回参数x的四舍五入的有y位小数的值 SIGN(x) 返回代表数字x的符号的值 SQRT(x) 返回一个数的平方根 TRUNCATE(x,y) 返回数字x截短为y位小数的结果 二、聚合函数(常用于GROUP BY从句的SELECT查询中) AVG(col)返回指定列的平均值 COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值 SUM(col)返回指定列的所有值之和 GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果 三、字符串函数 ASCII(char)返回字符的ASCII码值 BIT_LENGTH(str)返回字符串的比特长度 CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串 CONCAT_WS(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并用sep字符间隔 INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果 FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的结果 LEFT(str,x)返回字符串str中最左边的x个字符 LENGTH(s)返回字符串str中的字符数

MySQL加密函数用法

加密函数 a) 函数AES_ENCRYPT(str ,key_str ) , AES_DECRYPT(crypt_str ,key_str ) 函数使用说明:这些函数允许使用官方AES 进行加密和数据加密( 高级加密标准) 算法, 即以前人们所熟知的“Rijndael” 。保密关键字的长度为128 比特,不过你可以通过改变源而将其延长到256 比特。我们选择了128 比特的原因是它的速度要快得多,且对于大多数用途而言这个保密程度已经够用。 b) 函数DECODE(crypt_str ,pass_str ) 函数使用说明:使用pass_str 作为密码,解密加密字符串crypt_str ,crypt_str 应该是由ENCODE() 返回的字符串。 c) 函数ENCODE(str ,pass_str ) 函数使用说明:使用pass_str 作为密码,解密str 。使用DECODE() 解密结果。 d) 函数DES_DECRYPT(crypt_str [,key_str ]) 函数使用说明:使用DES_ENCRYPT() 加密一个字符串。若出现错误,这个函数会返回NULL 。 e) 函数DES_ENCRYPT(str [,(key_num |key_str )]) 函数使用说明:用Triple-DES 算法给出的关键字加密字符串。若出现错误,这个函数会返回NULL 。 f) 函数ENCRYPT(str [,salt ]) 函数使用说明:使用Unix crypt() 系统调用加密str 。salt 参数应为一个至少包含2 个字符的字符串。若没有给出salt 参数,则使用任意值。

mysql数据库常用语句大全

mysql数据库常用语句 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice ’disk’, ’testBack’, ’c:mssql7backupMyNwind_1.dat’ --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明: 删除新表:drop table tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明: 创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围

MySQL函数大全 及用法示例

字符串函数 ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2'); -> 50 mysql> select ASCII(2); -> 50 mysql> select ASCII('dete'); -> 100 ORD(str) 如果字符串str句首是单字节返回与ASCII()函数返回的相同值。 如果是一个多字节字符,以格式返回((first byte ASCII code) *256+(second byte ASCII code))[*256+third byte ASCII code...] mysql> select ORD('2'); -> 50 CONV(N,from_base,to_base) 对数字N进制转换,并转换为字串返回(任何参数为NULL时返回NULL,进制范围为2-36进制,当to_base是负数时N作为有符号数否则 作无符号数,CONV以64位点精度工作) mysql> select CONV("a",16,2); -> '1010' mysql> select CONV("6E",18,8); -> '172' mysql> select CONV(-17,10,-18); -> '-H' mysql> select CONV(10+"10"+'10'+0xa,10,10); -> '40' BIN(N) 把N转为二进制值并以字串返回(N是BIGINT数字,等价于CONV (N,10,2)) mysql> select BIN(12); -> '1100'

mysql sql语句大全_mysql sql语句面试题_mysql的常用sql语句推荐

mysql sql语句大全_mysql sql语句面试题_mysql的常用sql 语句推荐 今天我们向大家整理了一些【mysql的常用sql语句】系列文章,希望大家对【mysql的常用sql语句】技术点有更深的了解。 小编下面整理一下mysql sql语句大全_mysql sql语句面试题_mysql的常用sql语句的资料给大家作为参考。mysql sql 语句大全_mysql sql语句面试题_mysql的常用sql语句推荐[05-25] MySQL常用SQL语句的介绍[05-25] MySQL 存储过程执行动态SQL语句详解[05-23] MySql 常用操作的SQL语句的介绍[05-22] mysql语句插入多条数据的方法[05-21] 远程用户访问mysql服务sql语句的心得体会[05-21] MySQL 存储过程执行动态SQL语句的介绍[05-20] MySQL 复制表结构、内容到另一张表的SQL语句的介绍[05-20] mysql 查询今天、昨天、近7天、近30天、本月、上一月的SQL语句的介绍[05-20] mysql 获取一天、一周、一月时间的sql语句的方法[05-19] mysql把一个表某字段复制到另一张表的某个字段的SQL语句的方法[05-17] MySQL SQL 语句优化的介绍[05-10] mysql通过查看跟踪日志跟踪执行 的sql语句的方法[05-10] mysql语句运行时间的查看方法[05-10] mysql建表常用sql语句的介绍[05-10] MySQL字段

自增自减的SQL语句的推荐[05-04] SQL语句行列转换的两种方法case...when与pivot函数的介绍[05-04] SQL语句语法汇总的推荐[05-04] sql语句like的用法的介绍[05-04] MySQL查询数据库占用磁盘大小、单个库所有表的大小的sql语句[05-02] sql语句left_join、inner_join中的on与where 的区别介绍[05-02] MySql 获取某字段存在哪个表的sql语句的介绍[04-29] SQL语句Replace INTO与INSERT INTO 不同的介绍[04-29] 数据库字段分组显示数据的sql语句的介绍[04-29] MySQL批量删除指定前缀表的sql语句的推荐[04-29] MySQL优化sql语句查询常用30种方法的推荐[04-25] MySQL 查询当前正在运行的SQL语句[04-19] sql 语句的常用语法[04-19] PHP+Mysql常用SQL语句[04-05] 将数字标识转为汉字展示的sql语句[04-05] 数据表字段删除、添加的SQL语句[04-05] sql批量修改字段值的方法_sql 语句修改字段值[03-03] mysql 实现查看表结构的SQL语句[03-03] mysql 获取当前日期周一和周日的SQL语句[03-03] mysql 实现按年度、季度、月度、周、日查询的SQL语句[12-16] MySQL数据库操作实现的6条SQL语句[12-16] 将blob的char取出来并转成数字保存在其它字段的sql语句[12-16] mysql常用SQL语句小结[10-24] mySQL使用Explain检查测Sql语句执行效率[10-24] mysql查询当天,昨天,近7天,近30天,本月,上一月数据的SQL语句[10-18]

MySQL-分组查询及分组函数

mysql与oracle中分组、聚合函数的区别! 今天需要这样一句sql:先用group by进行分组,然后利用聚合函数count 或者sum进行计算,并显示其它的辅助信息。

where c.media_code = m.media_code group by c.media_code,m.media_name */ --通过: selectcount(c.channel_name),m.media_name from channel c,media m where c.media_code = m.media_code groupby m.media_name --正常 select count(c.channel_name),m.media_name from channel c,media m where c.media_code = m.media_code group by c.media_code,m.media_name --正常 select count(c.channel_code),m.media_name from channel c,media m where c.media_code = m.media_code group by c.media_code,m.media_name 总结如下: 注:oracle常用分组函数: COUNT、AVE、SUM、MAX、MIN Count(*):返回表中所有的行包括空行和重复的行。 COUNT(表达式)返回表中所欲哦表达式为空的行。例如:select count(mgr) from emp; 返回表中所有mgr 为非空的行。 Max、min可用于:数字型数据、字符型数据和日期型数据。 !!!!除了Count(*)外,其他的分组函数都不处理空值(NULL) 比如Max求出的“最大值”就不是null,尽管select的结果(按照从小到大到达顺序)null排在最后的位置。 如果在一个查询中使用了分组函数,任何不在分组函数的列或表达式必须在GROUP BY子句中。 网友总结: select ……group by的时候,前面的select的字段,要么是group by的依据,要么是聚合内容。 我理解下: Select中的字段,只能包含在聚合函数中(e.g:min(price)),或是包含在group by子句中,

adodb常用函数

Connect($host,[$user],[$password],[$database]) 对服务器或资料来源$host 非持续性连结,使用者认证代码为$user ,密码为$password ,如果 服务器支持多数据库,则指定连结到数据库$database。 连结成功回传true ,失败则回传false 。 注意:如果你使用的是Microsoft ADO,而非OLEDB,你可以设定$database 参数为你正在使用 的OLEDB 资料供应器。 Execute($sql,$inputarr=false) 执行SQL 指令$sql ,如果成功,就回传一个对应的ADORecordSet 对象。要注意的是这个指令 如果执行成功时,一定会回传一个数据集,即使是执行insert 或update 指令也一样。 回传对应的ADORecordSet 对象。例如,如果连结的是mysql ,那么ADORecordSet_mysql 将会 被回传。当SQL指令执行失败时会回传false 值。 ErrorMsg() 回传最后状态或是错误讯息。即使没有错误发生,本函数也会回传一个字符串。一般情况下,你不 需要呼叫这个函数,除非ADODB函数因为错误状态回传了false值。 注意:如果debug 旗标被激活了,SQL 错误讯息将会在Execute函数被呼叫时发生错误后出现。 Close( ) 关闭数据库的连结。PHP4 以数据库连结结束时不需要特别去清除而享有盛名,因为其参考

计数机 制会自动帮我们清除掉。 GetOne($sql) Executes the SQL and returns the first field of the first row as an array. The recordset and remaining rows are discarded for you automatically. If an error occur, false is returned. 执行SQL指令,并且以数组的方式回传第一笔记录的第一个字段。资料集及其余的记录将会被自动 清除,如果发生错误,就回传false 值。 译者注:这个功能在验证某笔记录在不在特别有用,可以减少系统内存及资源的用量。GetRow($sql) 执行SQL指令,并且以数组的方式回传第一笔记录。资料集及其余的记录将会被自动清除,如果发生错误,就回传false 值。 Affected_Rows( ) 回传被SQL指令更新或被删除掉的数据笔数。如果数据库不支持,回传一个false 值。 目前interbase/firebird 不支持本函数。 Insert_ID( ) 回传最后插入时的自动增进值ID。如果系统不支持,回传false。 只支持有提供自动增进或对象ID 的数据库,目前像是PostgreSQL, MySQL 以及MSSQL 都有。 PostgreSQL 回传一个OID,可以在数据库重加载时改变。只有使用持续连结方式,当你完成一笔

thinksns常用函数

Thinksns常用函数一览表: 以下是extend.php : * function get_client_ip() {}获取客户端IP地址 * function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) 字符串截取,支持中文和其它编码 * function mStr($str, $length, $charset="utf-8", $suffix=true)字符串截取,支持中文和其它编码 * function rand_string($len=6,$type='',$addChars='') 产生随机字串,可用来自动生成密码默认长度6位字母和数字混合 * function build_verify ($length=4,$mode=1)获取登录验证码默认为4位数字 *function byte_format($size, $dec=2) 字节格式化把字节数格式为B K M G T 描述的大小 *function is_utf8($string) 检查字符串是否是UTF8编码 *function highlight_code($str,$show=false) 代码加亮 *function h($text,$type,$tagsMethod=true,$attrMethod=true,$xssAuto = 1,$tags=array(),$attr=array(),$tagsBlack=array(),$attrBlack=array()) 过滤得到安全的html //function h($text, $tags = null)输出安全的html //function text($text,$parseBr=false)输出纯文本 function safe($text,$type='html',$tagsMethod=true,$attrMethod=true,$xssAuto = 1,$tags=array(),$attr=array(),$tagsBlack=array(),$attrBlack=array()) *function t($text, $parse_br = false, $quote_style = ENT_NOQUOTES) 转换为安全的纯文本 //function unescape($str) 解析jsescape //function ubb($Text) 解析UBB //function build_count_rand ($number,$length=4,$mode=1) 随机生成一组字符串 function remove_xss($val) *function list_to_tree($list, $pk='id',$pid = 'pid',$child = '_child',$root=0) *function list_sort_by($list,$field, $sortby='asc') 对查询结果集进行排序 *function list_search($list,$condition) 在数据列表中搜索 //function send_http_status($status) 发送Http状态信息 //function send_http_header($type='utf8') 发送常用http header信息 //function imagecreatefrombmp($fname) bmp图像处理兼容函数 //function imagebmp(&$im, $filename = '', $bit = 8, $compression = 0) bmp图像处理兼容函数 *function friendlyDate($sTime,$type = 'normal',$alt = 'false') 友好的时间显示 *function dateFormat($sTime, $format = null) 时间显示 //function getMid()获取当前登录用户的UID //function getUserName($uid,$lang='zh')获取用户姓名 *function getUserAtString($uid, $type = 'uid') 获取用户Gid[Mentor项目] //function getUserSpace($uid,$class,$target,$text, $icon = true)返回解析的空间地址 //function getUserInfo($uid, $uname, $mid, $status = false)获取用户详细信息 *function getFollowState($uid,$fid,$type=0) 获取关注状态 *function isfavorited($weibo_id, $uid, $weibo_id_array = null, $key = '') 检查给定用户是否收藏给定微博 *function isBlackList($uid, $fid) 是否为黑名单成员 *function getUserFace($uid,$size) 获取用户头像 function getUserFace($uid,$size) //function convertUidToPath($uid) 将用户ID转换为三级路径 //function getUserGroupIcon($uid) 获取给定用户的用户组图标 function getSubBeKeyArray($origin, $key) *function getSubByKey($pArray, $pKey="", $pCondition="") 去一个二维数组中的每个数组的固定的键知道的值来形成一个新的一维数组

SQL常用函数,整理

一数学函数 1,求绝对值ABS() 2,求指数POWER(x,y); 3,求平方根SQRT() select FWeight, SQRT(FWeight) from t_person; 4 求随机数 A,mysql RAND()select rand(); B,sqlserver rand() ,rand(x); select rand(), select rand(9527)支持种子 5舍入到最大整数Ceiling() select FWeight, ceiling(FWeight), ceiling(FWeight * -1) from t_person; 6舍入到最小整数floor() 7,四舍五入round(m,d) m为四舍五入的数值,d为计算精度(特别地d还可以为负值)如36.63精度-1为40 Round(m)为m值0精度 8求正弦值sin(m); select sin(1) from t_person 求余弦值cos(m); 求返正弦值asin(m); 求反余弦acos(m); 9求正切值tan(m) 反正切atan(m) 求余切cotm() 10求圆周率PI(); 11.弧度转换为角度degrees(m);角度转换为弧度制radians() 12求符号sign();(符号函数) 13 求整除余数mod(m,d);m为除数d 为被除数(sqlserver中直接用%)14,求自然对数LOG(m); 求10为底得对数LOG10(); 二字符串函数 1 计算字符串长度length(m); select length(FName) from t_person Sqlserver中为len(); 2字符串转换为小写Lower(m) 字符串转换为大写UPPER(m) 3截去字符串左侧空格ltrim(m); 截去字符串右侧空白rtrim(m); 截去字符串两侧空白trim(m) 5取子字符串substring(string,start_position,length); 6计算子字符串的位置instr(string, substring);若不存在子字符串则返回0 7从左侧开始取字符串Left(string, length); 从右侧开始取字符串Right(string, length); 8字符串替换replace(string,string_tobe_replace, string_to_replace); 9得到字符的ASCII码ASCII(m)如果参数为字符串则返回第一个字符的Ascii 码

常用MySQL语句大全

MySQL服务的配置和使用 修改MySQL管理员的口令:mysqladmin –u root password 密码字符串 如:mysqldmin –u root password 111111 连接MySQL服务器,使用命令:mysql [-h 主机名或IP地址] [-u 用户名] [-p] 如:mysql –u root –p 如已有密码需修改root密码用命令: mysqladmin –u root –p password 新密码字符串 如:mysqladmin –u root –p password 111111 创建数据库格式为:CREA TE DATABASE 数据库名称; 如:mysql>create database abc; 默认创建数据库保存在/var/lib/mysql中 查看数据库是 mysql>show abc; 选择数据库是 USE 数据库名称; 如:mysql>use abc; 删除数据库是 DROP DA TABASE 数据库名称;如:mysql>drop database abc; 数据库的创建和删除 创建表是CREATE TABLE 表名称(字段1,字段2,…[表级约束]) [TYPE=表类型]; 其中字段(1,2 )格式为:字段名字段类型[字段约束] 如创建一个表student,如下: mysql>create table student ( sno varchar(7) not null, 字段不允许为空 sname varchar (20 )not null, ssex char (1) default …t?, sbirthday date, sdepa char (20), primary key (sno) 表的主键 ); 可用describe命令查看表的结构。 默认表的类型为MYISAM,并在/var/lib/mysql/abc 目录下建立student.frm(表定义文件),student.MDY(数据文件),stedent.MYI(索引文件)。 复制表CREATE TABLE 新表名称LIKE 原表名称; 如:mysql>create table xtable like student; 删除表DROP TABLE 表名称1[表名称2…]; 如:mysql> drop table xtale; 修改表ALTER TABLE 表名称更改动作1[动作2]; 动作有ADD(增加) DROP(删除)CHANGE、MODIFY(更改字段名和类型)RENAME 增加字段:mysql>alter table student add saddress varchar(25); 更改字段名和字段类型:mysql>alter table student change saddress sremark test; 即使不更改字段类型也要给出字段类型如: mysql>alter table student change saddress sremark varchar (25); 更改字段类型:mysql> alter table student modify sremark varchar(25); 删除字段:mysql>alter table student drop sremark; 更改表名称:mysql>alter table student rename to xs;

mysql常用函数汇总

mysql常用函数汇总(分享) 一、数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然对数的底)的x次方 FLOOR(x) 返回小于x的最大整数值 GREATEST(x1,x2,...,xn)返回集合中最大的值 LEAST(x1,x2,...,xn) 返回集合中最小的值 LN(x) 返回x的自然对数 LOG(x,y)返回x的以y为底的对数 MOD(x,y) 返回x/y的模(余数) PI()返回pi的值(圆周率) RAND()返回0到1内的随机值,可以通过提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。 ROUND(x,y)返回参数x的四舍五入的有y位小数的值 SIGN(x) 返回代表数字x的符号的值 SQRT(x) 返回一个数的平方根 TRUNCATE(x,y) 返回数字x截短为y位小数的结果 二、聚合函数(常用于GROUP BY从句的SELECT查询中) AVG(col)返回指定列的平均值 COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值

SUM(col)返回指定列的所有值之和 GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果 三、字符串函数 ASCII(char)返回字符的ASCII码值 BIT_LENGTH(str)返回字符串的比特长度 CONCAT(s1,s2...,sn)将s1,s2...,sn连接成字符串 CONCAT_WS(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并用sep字符间隔 INSERT(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果 FIND_IN_SET(str,list)分析逗号分隔的list列表,如果发现str,返回str在list中的位置LCASE(str)或LOWER(str) 返回将字符串str中所有字符改变为小写后的结果 LEFT(str,x)返回字符串str中最左边的x个字符 LENGTH(s)返回字符串str中的字符数 LTRIM(str) 从字符串str中切掉开头的空格 POSITION(substr,str) 返回子串substr在字符串str中第一次出现的位置 QUOTE(str) 用反斜杠转义str中的单引号 REPEAT(str,srchstr,rplcstr)返回字符串str重复x次的结果 REVERSE(str) 返回颠倒字符串str的结果 RIGHT(str,x) 返回字符串str中最右边的x个字符 RTRIM(str) 返回字符串str尾部的空格 STRCMP(s1,s2)比较字符串s1和s2 TRIM(str)去除字符串首部和尾部的所有空格 UCASE(str)或UPPER(str) 返回将字符串str中所有字符转变为大写后的结果 四、日期和时间函数 CURDATE()或CURRENT_DATE() 返回当前的日期 CURTIME()或CURRENT_TIME() 返回当前的时间

利用MySQL自带的C API函数实现数据库功能调用

3 利用MySQL自带的C API函数实现数据库功能调用 由于各个数据库之间的差异,它们所提供的数据库功能也就各有不同。这样,通过ODBC API就不可能完全拥有所有的数据库功能,因而影响了程序对数据库的控制功能,也就不能充分发挥数据库的能力。并且这种统一的接口还是以损失效能为前提的,这就使数据库操作时间延长。所以,为了解决以上问题,MySQL 的制造商在提供ODBC驱动程序的基础上,还提供了各种编程环境下的API,其中包括 C API。这些API函数很显然能尽可能地发挥数据库的能力,并减少数据库操作的延长时间,但却使程序的通用性受到严重影响。 MySQL提供了一套C API函数,它由一组函数以及一组用于函数的数据类型组成,这些函数与MySQL 服务器进行通信并访问数据库,可以直接操控数据库,因而显著地提高了操控效能。 C API数据类型包括:MYSQL(数据库连接句柄)、MYSQL_RES(查询返回结果集)、MYSQL_ROW(行集)、MYSQL_FIELD(字段信息)、MYSQL_FIELD_OFFSET(字段表的偏移量)、my_ulonglong(自定义的无符号整型数)等;C API提供的函数包括:mysql_close()、mysql_connect()、mysql_query()、 mysql_store_result()、mysql_init()等,其中mysql_query()最为重要,能完成绝大部分的数据库操控。 下面将具体讨论数据库操作类CDatabase通过C API的实现以及在VC中的应用。 3.1 CDatabase类的实现 CDatabase类封装了MySQL数据库的功能,因此不具备通用性,只能在对MySQL 的应用程序中使用。下面将根据C++要求及规范给出CDatabase类的具体结构以及相关简要介绍: class CDatabase { public: BOOL UnLockTable(); //解锁 BOOL LockTable(char* TableName,char* PRIORITY); //加锁 int Reload(); //重新登陆,非零时返回错误信息 char* GetState(); //服务器状态 char* GetServerInfo(); //服务器信息 int GetProtocolInfo(); //协议信息 char* GetHostInfo(); //主机信息 char * GetClientInfo(); //客户机信息 char* GetFieldName(int FieldNum); //字段名 BOOL IsEnd(); //是否最后 int DropDB(char *db); //删除数据库,非零时返回错误信息

相关主题
文本预览
相关文档 最新文档