MYSQL内置函数大全

MYSQL内置函数大全
MYSQL内置函数大全

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'

OCT(N)

把N转为八进制值并以字串返回(N是BIGINT数字,等价于CONV(N,10,8))

mysql>select OCT(12);

->'14'

HEX(N)

把N转为十六进制并以字串返回(N是BIGINT数字,等价于CONV(N,10,16))

mysql>select HEX(255);

->'FF'

CHAR(N,...)

返回由参数N,...对应的ASCII代码字符组成的一个字串(参数是N,...是数字序列,NULL值被跳过)

mysql>select CHAR(77,121,83,81,'76');

->'MySQL'

mysql>select CHAR(77,77.3,'77.3');

->'MMM'

CONCAT(str1,str2,...)

把参数连成一个长字符串并返回(任何参数是NULL时返回NULL) mysql>select CONCAT('My','S','QL');

->'MySQL'

mysql>select CONCAT('My',NULL,'QL');

->NULL

mysql>select CONCAT(14.3);

->'14.3'

LENGTH(str)

OCTET_LENGTH(str)

CHAR_LENGTH(str)

CHARACTER_LENGTH(str)

返回字符串str的长度(对于多字节字符CHAR_LENGTH仅计算一次) mysql>select LENGTH('text');

->4

mysql>select OCTET_LENGTH('text');

->4

LOCATE(substr,str)

POSITION(substr IN str)

返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)

mysql>select LOCATE('bar','foobarbar');

->4

mysql>select LOCATE('xbar','foobar');

->0

LOCATE(substr,str,pos)

返回字符串substr在字符串str的第pos个位置起第一次出现的位置(str不包含substr时返回0)

mysql>select LOCATE('bar','foobarbar',5);

->7

INSTR(str,substr)

返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)

mysql>select INSTR('foobarbar','bar');

->4

mysql>select INSTR('xbar','foobar');

->0

LPAD(str,len,padstr)

用字符串padstr填补str左端直到字串长度为len并返回mysql>select LPAD('hi',4,'??');

->'??hi'

RPAD(str,len,padstr)

用字符串padstr填补str右端直到字串长度为len并返回mysql>select RPAD('hi',5,'?');

->'hi???'

LEFT(str,len)

返回字符串str的左端len个字符

mysql>select LEFT('foobarbar',5);

->'fooba'

RIGHT(str,len)

返回字符串str的右端len个字符

mysql>select RIGHT('foobarbar',4);

->'rbar'

SUBSTRING(str,pos,len)

SUBSTRING(str FROM pos FOR len)

MID(str,pos,len)

返回字符串str的位置pos起len个字符(使用FROM的丑陋语法是ANSI SQL92标准)

mysql>select SUBSTRING('Quadratically',5,6);

->'ratica'

SUBSTRING(str,pos)

SUBSTRING(str FROM pos)

返回字符串str的位置pos起的一个子串

mysql>select SUBSTRING('Quadratically',5);

->'ratically'

mysql>select SUBSTRING('foobarbar'FROM4);

->'barbar'

SUBSTRING_INDEX(str,delim,count)

返回从字符串str的第count个出现的分隔符delim之后的子串(count为正数时返回左端,否则返回右端子串)

mysql>select SUBSTRING_INDEX('https://www.360docs.net/doc/2e6660867.html,','.',2);

->'www.mysql'

mysql>select SUBSTRING_INDEX('https://www.360docs.net/doc/2e6660867.html,','.',-2);

->'https://www.360docs.net/doc/2e6660867.html,'

LTRIM(str)

返回删除了左空格的字符串str

mysql>select LTRIM('barbar');

->'barbar'

RTRIM(str)

返回删除了右空格的字符串str

mysql>select RTRIM('barbar');

->'barbar'

TRIM([[BOTH|LEADING|TRAILING][remstr]FROM]str)

返回前缀或后缀remstr被删除了的字符串str(位置参数默认BOTH,remstr默认值为空格)

mysql>select TRIM('bar');

->'bar'

mysql>select TRIM(LEADING'x'FROM'xxxbarxxx');

->'barxxx'

mysql>select TRIM(BOTH'x'FROM'xxxbarxxx');

->'bar'

mysql>select TRIM(TRAILING'xyz'FROM'barxxyz');

->'barx'

SOUNDEX(str)

返回str的一个同音字符串(听起来“大致相同”字符串有相同的同音字符串,非数字字母字符被忽略,在A-Z外

的字母被当作元音)

mysql>select SOUNDEX('Hello');

->'H400'

mysql>select SOUNDEX('Quadratically');

->'Q36324'

SPACE(N)

返回由N个空格字符组成的一个字符串

mysql>select SPACE(6);

->''

REPLACE(str,from_str,to_str)

用字符串to_str替换字符串str中的子串from_str并返回

mysql>select REPLACE('https://www.360docs.net/doc/2e6660867.html,','w','Ww');

->'https://www.360docs.net/doc/2e6660867.html,'

REPEAT(str,count)

返回由count个字符串str连成的一个字符串(任何参数为NULL时返回NULL,count<=0时返回一个空字符串)

mysql>select REPEAT('MySQL',3);

->'MySQLMySQLMySQL'

REVERSE(str)

颠倒字符串str的字符顺序并返回

mysql>select REVERSE('abc');

->'cba'

INSERT(str,pos,len,newstr)

把字符串str由位置pos起len个字符长的子串替换为字符串newstr 并返回

mysql>select INSERT('Quadratic',3,4,'What');

->'QuWhattic'

ELT(N,str1,str2,str3,...)

返回第N个字符串(N小于1或大于参数个数返回NULL)

mysql>select ELT(1,'ej','Heja','hej','foo');

->'ej'

mysql>select ELT(4,'ej','Heja','hej','foo');

->'foo'

FIELD(str,str1,str2,str3,...)

返回str等于其后的第N个字符串的序号(如果str没找到返回0) mysql>select FIELD('ej','Hej','ej','Heja','hej','foo');

->2

mysql>select FIELD('fo','Hej','ej','Heja','hej','foo');

->0

FIND_IN_SET(str,strlist)

返回str在字符串集strlist中的序号(任何参数是NULL则返回NULL,如果str没找到返回0,参数1包含","时工作

异常)

mysql>SELECT FIND_IN_SET('b','a,b,c,d');

->2

MAKE_SET(bits,str1,str2,...)

把参数1的数字转为二进制,假如某个位置的二进制位等于1,对应位置的字串选入字串集并返回(NULL串不

添加到结果中)

mysql>SELECT MAKE_SET(1,'a','b','c');

->'a'

mysql>SELECT MAKE_SET(1|4,'hello','nice','world');

->'hello,world'

mysql>SELECT MAKE_SET(0,'a','b','c');

->''

EXPORT_SET(bits,on,off,[separator,[number_of_bits]])

按bits排列字符串集,只有当位等于1时插入字串on,否则插入off(separator默认值",",number_of_bits参数使

用时长度不足补0而过长截断)

mysql>select EXPORT_SET(5,'Y','N',',',4)

->Y,N,Y,N

LCASE(str)

LOWER(str)

返回小写的字符串str

mysql>select LCASE('QUADRATICALLY');

->'quadratically'

UCASE(str)

UPPER(str)

返回大写的字符串str

mysql>select UCASE('quadratically');

->'QUADRATICALLY'

LOAD_FILE(file_name)

读入文件并且作为一个字符串返回文件内容(文件无法找到,路径不完整,没有权限,长度大于

max_allowed_packet会返回NULL)

mysql>UPDATE table_name SET

blob_column=LOAD_FILE("/tmp/picture")WHERE id=1;

ABS(N)

返回N的绝对值

mysql>select ABS(2);

->2

mysql>select ABS(-32);

->32

SIGN(N)

返回参数的符号(为-1、0或1)

mysql>select SIGN(-32);

->-1

mysql>select SIGN(0);

->0

mysql>select SIGN(234);

->1

MOD(N,M)

取模运算,返回N被M除的余数(同%操作符) mysql>select MOD(234,10);

->4

mysql>select234%10;

->4

mysql>select MOD(29,9);

->2

FLOOR(N)

返回不大于N的最大整数值

mysql>select FLOOR(1.23);

->1

mysql>select FLOOR(-1.23);

->-2

CEILING(N)

返回不小于N的最小整数值

mysql>select CEILING(1.23);

->2

mysql>select CEILING(-1.23);

->-1

ROUND(N,D)

返回N的四舍五入值,保留D位小数(D的默认值为0) mysql>select ROUND(-1.23);

->-1

mysql>select ROUND(-1.58);

->-2

mysql>select ROUND(1.58);

->2

mysql>select ROUND(1.298,1);

-> 1.3

mysql>select ROUND(1.298,0);

->1

EXP(N)

返回值e的N次方(自然对数的底)

mysql>select EXP(2);

->7.389056

mysql>select EXP(-2);

->0.135335

返回N的自然对数mysql>select LOG(2);

->0.693147

mysql>select LOG(-2);

->NULL

LOG10(N)

返回N以10为底的对数mysql>select LOG10(2);

->0.301030

mysql>select LOG10(100);

-> 2.000000

mysql>select LOG10(-100);

->NULL

POW(X,Y)

POWER(X,Y)

返回值X的Y次幂

mysql>select POW(2,2);

-> 4.000000

mysql>select POW(2,-2);

->0.250000

返回非负数N的平方根mysql>select SQRT(4);

-> 2.000000

mysql>select SQRT(20);

-> 4.472136

PI()

返回圆周率

mysql>select PI();

-> 3.141593

COS(N)

返回N的余弦值

mysql>select COS(PI());

->-1.000000

SIN(N)

返回N的正弦值

mysql>select SIN(PI());

->0.000000

TAN(N)

返回N的正切值

mysql>select TAN(PI()+1);

-> 1.557408

ACOS(N)

返回N反余弦(N是余弦值,在-1到1的范围,否则返回NULL) mysql>select ACOS(1);

->0.000000

mysql>select ACOS(1.0001);

->NULL

mysql>select ACOS(0);

-> 1.570796

ASIN(N)

返回N反正弦值

mysql>select ASIN(0.2);

->0.201358

mysql>select ASIN('foo');

->0.000000

ATAN(N)

返回N的反正切值

mysql>select ATAN(2);

-> 1.107149

mysql>select ATAN(-2);

->-1.107149

ATAN2(X,Y)

返回2个变量X和Y的反正切(类似Y/X的反正切,符号决定象限) mysql>select ATAN(-2,2);

->-0.785398

mysql>select ATAN(PI(),0);

-> 1.570796

COT(N)

返回X的余切

mysql>select COT(12);

->-1.57267341

mysql>select COT(0);

->NULL

RAND()

RAND(N)

返回在范围0到1.0内的随机浮点值(可以使用数字N作为初始值) mysql>select RAND();

->0.5925

mysql>select RAND(20);

->0.1811

mysql>select RAND(20);

->0.1811

mysql>select RAND();

->0.2079

mysql>select RAND();

->0.7888

DEGREES(N)

把N从弧度变换为角度并返回mysql>select DEGREES(PI());

->180.000000

RADIANS(N)

把N从角度变换为弧度并返回mysql>select RADIANS(90);

-> 1.570796

TRUNCATE(N,D)

保留数字N的D位小数并返回mysql>select TRUNCATE(1.223,1);

-> 1.2

mysql>select TRUNCATE(1.999,1);

-> 1.9

mysql>select TRUNCATE(1.999,0);

->1

LEAST(X,Y,...)

返回最小值(如果返回值被用在整数(实数或大小敏感字串)上下文或所有参数都是整数(实数或大小敏感字

串)则他们作为整数(实数或大小敏感字串)比较,否则按忽略大小写的字符串被比较)

mysql>select LEAST(2,0);

->0

mysql>select LEAST(34.0,3.0,5.0,767.0);

-> 3.0

mysql>select LEAST("B","A","C");

->"A"

GREATEST(X,Y,...)

返回最大值(其余同LEAST())

mysql>select GREATEST(2,0);

->2

mysql>select GREATEST(34.0,3.0,5.0,767.0);

->767.0

mysql>select GREATEST("B","A","C");

->"C"

常用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日期函数,时间函数使用的总结习 一、MySQL 获得当前日期时间函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +---------------------+ | now() | +---------------------+ | 2008-08-08 22:20:46 | +---------------------+ 除了now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp() ,current_timestamp ,localtime() ,localtime ,localtimestamp -- (v4.0.6) ,localtimestamp() -- (v4.0.6) 这些日期时间函数,都等同于now()。鉴于now() 函数简短易记,建议总是使用now() 来替代上面列出的函数。 1.2 获得当前日期+时间(date + time)函数:sysdate() sysdate() 日期时间函数跟now() 类似,不同之处在于:now() 在执行开始时值就得到了,sysdate() 在函数执行时动态得到值。看下面的例子就明白了: mysql> select now(), sleep(3), now(); +---------------------+----------+---------------------+ | now() | sleep(3) | now() | +---------------------+----------+---------------------+ | 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 | +---------------------+----------+---------------------+ mysql> select sysdate(), sleep(3), sysdate(); +---------------------+----------+---------------------+ | sysdate() | sleep(3) | sysdate() | +---------------------+----------+---------------------+ | 2008-08-08 22:28:41 | 0 | 2008-08-08 22:28:44 | +---------------------+----------+---------------------+ 可以看到,虽然中途sleep 3 秒,但now() 函数两次的时间值是相同的;sysdate() 函数两

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)

详解PHP5与MYSQL数据库操作函数

PHP4与MySQL数据库操作函数详解(一) PHP4与MySQL数据库操作函数详解(一) 说PHP就不能不提MySQL,而要讲MySQL,那么PHP也是必然要被提起。PHP的迅速崛起,离不开MySQL,而MySQL的广泛应用,也与PHP休戚相关。 下面详细分析PHP4中与MySQL相关操作的函数(共32个,开头都为mysql_): <1>. 连接数据库服务器(database server)的函数(2个): (1).mysql_connect() 格式:int mysql_connect(string [hostname] [:port],string [username],string [password]); 参数中的port参数表示数据库服务器的端口号,一般用它的默认端口号就可以了。 如果不填任何参数,则默认的hostname为localhost,username为root,password为空。 函数执行成功,返回一个int 类型的连接号(link_identifier),执行失败,返回false值。 例子:

?> 在上例中,如mysql_connect()执行失败,将显示系统的错误提示,而后继续往下执行。那,该如何屏蔽这些系统的错误提示并在失败后结束程序? 在MySQL中,允许在数据库函数之前加上@符号,屏蔽系统的错误提示,同时用die()函数给出更易理解的错误提示,然后die()函数将自动退出程序https://www.360docs.net/doc/2e6660867.html, 红血丝https://www.360docs.net/doc/2e6660867.html, 银杏树https://www.360docs.net/doc/2e6660867.html,。 上例可以改为: 如mysql_connect()执行失败https://www.360docs.net/doc/2e6660867.html, 徐州搬家公司https://www.360docs.net/doc/2e6660867.html, 减肥产品排行榜https://www.360docs.net/doc/2e6660867.html,,将显示Unable to connect database server!后,退出程序。 (2).mysql_pconnect() 格式:int mysql_pconnect(string [hostname] [:port],string [username],string [password]); 此函数与(1)的mysql_connect()基本相同,区别在于: --------- 当数据库操作结束之后,由(1)的mysql_connect()建立的连接将自动关闭,而(2) 的mysql_pconnect()建立https://www.360docs.net/doc/2e6660867.html, 达达棋牌https://www.360docs.net/doc/2e6660867.html,

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数据库命令

1.对数据库常用命令 1.连接数据库 mysql -u用户名 -p密码 2.显示已有数据库 show databaxxxxses; 3.创建数据库 create databaxxxxse sqlname; 4.选择数据库 use databaxxxxse sqlname; 5.显示数据库中的表(先选择数据库) show tables; 6.显示当前数据库的版本信息以及连接用户名 select version()user(); 7.删除数据库(删除时没有提示直接删除) drop databaxxxxse sqlname; 2.数据库中对表的命令 1.创建表 (1)语法: create table tablename( 字段1 数据类型字段属性 … 字段n ); (2)注意: 1.创建表时为了防止与保留字冲突,用’'括起来 2.单行注释:#… 多行注释:/…/ 3.创建表时多字段中间用英文逗号隔开,最后一行不用逗号。 (3) 字段约束和属性 1.非空约束not null(字段不允许为空) 2.默认约束default(设置默认值) 3.唯一约束unique key(uk)(设置字段的值是唯一的,可为空,但只能有一个空值) 4.主键约束primary key(pk)(作为表记录的唯一标识) 5.外键约束foreign key(fk)(用于两个表之间建立关系,需要指定引用主表的哪一字段。在数据库的存储引擎中InnoDB支持外键,MyISAM不支持外键。 作为外键的字段要求是主表中的主键(单字段主键)) 添加外键约束: CONSTRAINT FK_外键名 FOREIGN KEY(字表中外键字段)REFERENCES 关联表名 (关联字段)。 grandid作为字表的外键

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]

PHP操作mysql函数详解

PHP操作mysql函数详解 PHP操作mysql函数详解,没有学过mysql和php交互的朋友可以自己看看这些函数 1. 建立和关闭连接 1) mysql_connect() resource mysql_connect([string hostname [:port][:/path/to/socket][,string username] [,string password]]) 所有参数都是可选的 举例: @mysql_connect("localhost", "user", "password") or die("Could not connect to mysql server!"); 注意,@符号表示禁止失败尝试导致的任何错误信息,用户将看到的是die()中指定的错误信息. 注意,当与多个mysql进行连接时,必须指定每个连接的链接ID,如下: $link1 = @mysql_connect("server1", "user", "password") or die("Could not connect to mysql server!"); $link2 = @mysql_connect("server2", "user", "password") or die("Could not connect to mysql server!"); 2) mysql_pconnect() resource mysql_pconnect([string hostname [:port][:/path/to/socket][,string username] [,string password]]) 与mysql_connect()不同的是:会首先查找现有链接,不存在时才创建. 注意,不需要显示关闭连接(mysql_close()),因为连接将放在池中,所以叫持久连接. 3) mysql_close() boolean mysql_close([resource link_id]) 关闭连接不是必须的,因为可以由mysql的垃圾回收来处理. 如果没有指定link_id,则关闭最近的链接. 2. 选择数据库 mysql_select_db() boolean mysql_select_db(string db_name [, resource link_id]) 3. 查询MySql 1) mysql_query() resource mysql_query(string query [,resource link_id]) 负责执行query. 2) mysql_db_query()

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,可以在数据库重加载时改变。只有使用持续连结方式,当你完成一笔

利用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); //删除数据库,非零时返回错误信息

MySQL数据库考试试题及答案

专业:移动通信科目:MySQL数据库 一、单项选择题 1.以下聚合函数求数据总和的是( ) A.MAX B.SUM C.COUNT D.AVG 答案:B 2.可以用( )来声明游标 A.CREATE CURSOR B.ALTER CURSOR C.SET CURSOR D.DECLARE CURSOR 答案:D 3.SELECT语句的完整语法较复杂,但至少包括的部分是( ) A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO 答案:B 4.SQL语句中的条件用以下哪一项来表达( ) A.THEN B.WHILE C.WHERE D.IF 答案:C 5.使用CREATE TABLE语句的( )子句,在创建基本表时可以启用全文本搜索A.FULLTEXT B.ENGINE C.FROM D.WHRER 答案:A 6.以下能够删除一列的是( ) A.alter table emp remove addcolumn B.alter table emp drop column addcolumn C.alter table emp delete column addcolumn D.alter table emp delete addcolumn 答案:B 7.若要撤销数据库中已经存在的表S,可用()。 A.DELETE TABLE S B.DELETE S C.DROP S D.DROP TABLE S 答案:D

8.查找表结构用以下哪一项( ) A.FIND B.SELETE C.ALTER D.DESC 答案:D 9.要得到最后一句SELECT查询到的总行数,可以使用的函数是( ) A.FOUND_ROWS B.LAST_ROWS C.ROW_COUNT D.LAST_INSERT_ID 答案:A 10.在视图上不能完成的操作是( ) A.查询 B.在视图上定义新的视图 C.更新视图 D.在视图上定义新的表 答案:D 11.UNIQUE惟一索引的作用是( ) A.保证各行在该索引上的值都不得重复 B.保证各行在该索引上的值不得为NULL C.保证参加惟一索引的各列,不得再参加其他的索引 D.保证惟一索引不能被删除 答案:A 12.用于将事务处理写到数据库的命令是( ) A.insert B.rollback C.commit D.savepoint 答案:C 13.查找条件为:姓名不是NULL的记录( ) A.WHERE NAME ! NULL B.WHERE NAME NOT NULL C.WHERE NAME IS NOT NULL D.WHERE NAME!=NULL 答案:C 14.主键的建立有( )种方法 A.一 B.四 C.二 D.三 答案:D 15.在视图上不能完成的操作是( ) A.更新视图数据

相关文档
最新文档