My SQL查詢語言

基礎查詢java

1、語法
select 查詢列表
from 表名;
2、特色
一、查詢列表能夠是字段、常量、表達式、函數,也能夠是多個
二、查詢結果是一個虛擬表數據庫

3、示例
一、查詢單個字段
select 字段名 from 表名;
二、查詢多個字段
select 字段名,字段名 from 表名;
三、查詢全部字段
select * from 表名
四、查詢常量
select 常量值;
注意:字符型和日期型的常量值必須用單引號引發來,數值型不須要
五、查詢函數
select 函數名(實參列表);
六、查詢表達式
select 100/1234;
七、起別名
①as
②空格
八、去重
select distinct 字段名 from 表名;安全

九、+
做用:作加法運算
select 數值+數值; 直接運算
select 字符+數值;先試圖將字符轉換成數值,若是轉換成功,則繼續運算;不然轉換成0,再作運算
select null+值;結果都爲null服務器

十、concat函數
功能:拼接字符
select concat(字符1,字符2,字符3,...);函數

十一、ifnull函數
功能:判斷某字段或表達式是否爲null,若是爲null 返回指定的值,不然返回本來的值
select ifnull(commission_pct,0) from employees;加密

十二、isnull函數
功能:判斷某字段或表達式是否爲null,若是是,則返回1,不然返回0orm

 

條件查詢索引

 

1、語法
select 查詢列表
from 表名
where 篩選條件md5

2、篩選條件的分類
一、簡單條件運算符
> < = <> != >= <= <=>安全等於
二、邏輯運算符
&& and
|| or
! not
三、模糊查詢
like:通常搭配通配符使用,能夠判斷字符型或數值型
通配符:%任意多個字符,_任意單個字符數學

between and
in
is null /is not null:用於判斷null值

is null PK <=>
普通類型的數值 null值 可讀性
is null × √ √
<=> √ √ ×

 

 

 

 

 

1、概述
功能:相似於java中的方法
好處:提升重用性和隱藏實現細節
調用:select 函數名(實參列表);
2、單行函數
一、字符函數
concat:鏈接
substr:截取子串
upper:變大寫
lower:變小寫
replace:替換
length:獲取字節長度
trim:去先後空格
lpad:左填充
rpad:右填充
instr:獲取子串第一次出現的索引
二、數學函數
ceil:向上取整
round:四捨五入
mod:取模
floor:向下取整
truncate:截斷
rand:獲取隨機數,返回0-1之間的小數

三、日期函數

now:返回當前日期+時間
year:返回年
month:返回月
day:返回日
date_format:將日期轉換成字符
curdate:返回當前日期
str_to_date:將字符轉換成日期
curtime:返回當前時間
hour:小時
minute:分鐘
second:秒
datediff:返回兩個日期相差的天數
monthname:以英文形式返回月


四、其餘函數
version 當前數據庫服務器的版本
database 當前打開的數據庫
user當前用戶
password('字符'):返回該字符的密碼形式
md5('字符'):返回該字符的md5加密形式

 

五、流程控制函數

①if(條件表達式,表達式1,表達式2):若是條件表達式成立,返回表達式1,不然返回表達式2
②case狀況1
case 變量或表達式或字段
when 常量1 then 值1
when 常量2 then 值2
...
else 值n
end

③case狀況2
case
when 條件1 then 值1
when 條件2 then 值2
...
else 值n
end

3、分組函數
一、分類
max 最大值
min 最小值
sum 和
avg 平均值
count 計算個數

二、特色

①語法
select max(字段) from 表名;

②支持的類型
sum和avg通常用於處理數值型
max、min、count能夠處理任何數據類型

③以上分組函數都忽略null
④均可以搭配distinct使用,實現去重的統計
select sum(distinct 字段) from 表;
⑤count函數
count(字段):統計該字段非空值的個數
count(*):統計結果集的行數
案例:查詢每一個部門的員工個數
1 xx 10
2 dd 20
3 mm 20
4 aa 40
5 hh 40

count(1):統計結果集的行數

效率上:
MyISAM存儲引擎,count(*)最高
InnoDB存儲引擎,count(*)和count(1)效率>count(字段)

⑥ 和分組函數一同查詢的字段,要求是group by後出現的字段

相關文章
相關標籤/搜索