函式如下:
left,right 字串擷取
from_unixtime 格式化unix時間戳
concat 字串連線函式
max 取某列最大值
min 取某列最小值
sum 計算某列的和
count 統計條數
md5 返回md5加密碼的串
format 格式化數字為xx,***,***.***x格式 比如1,1000.123
length 計算某個字串長度
distinct 去重複
replace 替換字串
in 指定查詢某個值的記錄
like 模糊查詢
is null 查詢某個條件為空(null),注:null不等於""
is not null 查詢某個條件不為為空(null)
match ... against ... mysql的全文索引查詢
mysql left,right函式
left和right是一對擷取字串前幾位可後幾位的函式,left是從左向右開始計算,right相反是從右向左計算
例:select left(name,10) as name from user; 顯示使用者名稱的前10位
select right(name,10) as name from user; 顯示使用者名稱的後10位
select * from user where left(datetime,10)="2011-12-02" 取出2011-12-02日註冊的使用者
select * from user where left(datetime,7)="2011-12" 取出2011-12月註冊的使用者
left,right不僅僅可以用於擷取字串,還可以用在where條件上。特別是用在查詢條件上他的作用非常大。
mysql from_unixtime函式
from_unixtime函式用來對unix時間戳進行格式化,格式化成我們易讀的日期時間格式。
例:select from_unixtime(time, "%y-%m-%d %h:%i:%s" ) as datetime from table; 把time欄位格式化成易讀的日期時間顯示(time為unix時間戳)
select * from table where left(from_unixtime(time, "%y-%m-%d" ))='2011-12-02' 取出2011-12-02日的記錄
mysql concat 函式
concat函式 可以用來把某二個字元連線在一起查詢或顯示,也可以把字段和字串進行連線。
例:select concat(year,"-",month,"-",day) as datetime from table; 把表中year,month,day欄位連線起來顯示
select concat("my name is:",name) as name from table; 把字串和字段連線起來顯示
update software set icon=concat("",icon); 把資料庫中icon批量更新並在原有的icon前增加網域名稱 iteye.com
mysql max,min函式
顧名思義max函式用於查詢某個欄位中的最大值
例:select max(age) from user; 返回最大的年齡
select min(age) from user; 返回最小的年齡
mysql sum函式
sum函式 可對某個字元(int型)進行求和
例:select sum(money) from user 計算出所有人的金錢總數
select sum(money),area from user group by area 計算出各地區人員的金錢總數
mysql count函式
統計聚合函式,可對sql查詢的結果進行統計
例:select count(*) as total from user 計算出總會員 iteye.com
mysql md5函式
同php中的md5一樣,對某個字串進行加密
例:select md5(password) as password from user 把明碼的密碼進行md5加密顯示
insert into user(name,password) values("abc",md5("abc")); 寫入user表把密碼進行md5加密後儲存
mysql length函式
計算某個字段值的長度
例:select length(name) as length from user; 顯示出使用者名稱的長度
select * from table where length(aa) > 10 ; 查詢某字段長度大於10的記錄 php程式設計師站
mysql distinct函式
對某個欄位去重複,(在某些時候group by也可以做到)
例:select distinct(area) from user; 對地區進行去重複
select area,count(*) from user group by area; 對地區進行聚合並統計出數量
mysql replace函式
查詢某個字串並進行替換
例:select replace(icon,"www.iteye.com","img.iteye.com") from software; 把icon中的www.iteye.com替換成替換成img.iteye
.com顯示
update software set icon=replace(icon,"www.iteye.com","img.iteye.com") ; 把資料庫中icon的網域名稱批量進行查詢替換 www.iteye.com
mysql in函式
可批量指定幾個值作為查詢條件
例:select * from user where user_id in(1,2,3,4,5,100,200,333)
select * from user where user_name in("a","b","d")
mysql like函式
可對某個字段進行模糊查詢,"%"號用於匹配任意字元
例:select * from user where name like "%王%"; 查詢所有使用者名稱中帶"王"字元的使用者
select * from user where name like "%王"; 查詢所有使用者名稱第乙個字元為"王"字的使用者
mysql is null函式
匹配某個字元為null值的記錄,注:null不代表空符串""
例:select * from user where a is null ; 查詢a欄位為null的使用者
select a.* from user as a left join add_user as b on a.user_id=b.user_id where b.user_id is null; 連表查詢附加表add_user中沒有附加使用者資訊資料的使用者
mysql is not null函式
和is null用法一樣,匹配某個字元不為空的記錄
mysql match ... against 全文匹配函式
mysql的全文匹配函式,要使用此函式查詢的字元必須增加了全文索引,另外mysql不支援中文全文索引,所以國人在開發中估計很少用到此函式。
match中包含要進行全文匹配的字段,多個欄位用","號分割 against為匹配的字串
例:select * from software where match(title,body) against("php"); 全文匹配title和body欄位中包含"php"的記錄
select * from software where match(title) against("php mysql"); 全文匹配title欄位中包含"php mysql"的記錄。
Mysql命令 常用函式
檢視資料庫 show database 選擇使用的資料庫 use 資料庫名 檢視表show tables 查詢表select from 表名 高版本mysql語句 注 mysql內建庫 名 information schema 查庫select schema name from informatio...
mysql 命令 mysql 命令
刪除 delete from user 刪除user表中所有記錄 不帶星號 顯示記錄數 select count 1 from user 不用count 效率低 可以替換成欄位名 select count tigan from tiku mysql create database db name 建...
mysql 函式命令及使用方法
select month 1977 09 01 00 00 00 獲取月份 select year 1977 09 01 00 00 00 獲取年份 select hour 1977 09 01 6 00 00 獲取小時 select second 1977 09 01 6 00 58 獲取秒 se...