收藏本站 收藏本站
積木網首頁 - 軟件測試 - 常用手冊 - 站長工具 - 技術社區
首頁 > 數據庫 > MySQL > 正文

首頁 - PHP - 數據庫 - 操作系統 - 游戲開發 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell編程 - DOS命令 - jQuery - CSS樣式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

MySQL中的基本查詢語句學習筆記

1.基本查詢語句
select 屬性列表 from 表名和視圖列表 [where 條件表達式1] [group by 屬性名1 [having 條件表達式2]] [order by 屬性名2 [asc|desc]]
2.單表查詢
1)使用*查詢所有字段

select * from 表名;

2) 查詢指定字段

select id,name from product;

使用上面例子可以查詢指定字段

3)查詢指定記錄
where 條件表達式
實例:

select *from employee where id = 1002;

where 子句常用查詢條件

比較:=、<、 <=、 >、 >=、 !=、 <>、 !>、 !<
指定范圍 : between and、not between and
指定集合:in、not in
匹配字符: like、not like
是否為空值:is null 、is not null
多條件查詢:and or
4)帶in關鍵字的查詢
in關鍵字可以判斷某個字段的值是否在指定的集合中。

[not] in (元素1,元素2,...,元素n)
實例:

select * from employee where id in (1001,1002);

如果集合中的元素為字符時,需加上單引號。

5)帶between and 的范圍查詢
[not] between 取值1 and 取值2
取值1為起始值,取值2為終止值
實例:

select * from employee where age 
bewteen 15 and 20;

6)帶like的字符串匹配查詢
[not] like ‘字符串';
‘字符串'的值可以是完整的字符串,也可以是含百分號(%)或下滑線(_)的通配字符。

“% ”可以代表任意長度的字符串,長度可以是0。
“_”只能表示單個字符。
完整字符時like相當于“=”。
實例:

select * from employee where homeaddr like ‘北京%';

查詢所有homeaddr字段中以“北京”
開頭的記錄。

select * from employee where name like "ar_c";

查詢所有name字段值長度為4,前兩個字母為“ar”最后一個字母為“c”的記錄。
統配的字符串可以用單引號或雙引號。
通配符“”可以多次使用,如“趙 _”。

7)查詢空置
is [not] null
實例:

select * from work where info is null;

查詢work表info字段為空的記錄。

8)and 和 or多條件查詢
條件表達式1 and 條件表達式2 [...and 條件表達式n]
and 表示同時滿足所有條件的記錄會被查詢出來,or表示只要滿足其中一條的記錄就會被查詢出來。

9)查詢結果不重復
select distinct 屬性名
實例:

select distinct age department_id employee;

10) 查詢結果排序
order by 屬性名 [asc|desc]
默認asc排序。
如果遇到某個字段存在空值的記錄,需要注意,空值排序時可以理解為該字段的最小值。
mysql中可以指定按多字段排序。
實例:

select * from employee order by id asc , age desc;


3.limit限制查詢結果條數
1)不指定起始位置
limit 記錄數
記錄數超過查詢結果則顯示所有的記錄,不會報錯

2)指定起始位置
limit 起始位置 , 記錄數
記錄的起始位置從位置0開始。

2.使用集合函數查詢
集合函數包括count(),sum(),avg(),max()和min()。
1)count()函數
統計記錄條數
實例:

select count(*) from employee;

與group by一起使用

select d_id,count(*) from employee group by d_id;

上述語句會先分組后統計。

2) sum()函數
sum()函數是求和函數
實例:

select num,sum(score) from grade where num= 1001;

select num,sum(score) from grade group by num;

sum()只能計算數值類型字段。
3)avg()函數
avg()函數是求平均值函數。
實例:

select avg(age) from employee;

select course,avg(score) from group by course;

4)max(),min()函數
求最大值和最小值。
實例:

select max(age) from employee;
select num,course,max(score) from grade group by course;

對于字符串的最大值問題,max()函數是使用字符對應的ascii碼進行計算的。

4.合并查詢結果
使用union和union all關鍵字。
union將查詢的結果合并到一起并去掉形同的記錄,union all 只是簡單地合并到一起。

select 語句1 union|union all
select 語句2 union|union all...
select 語句n;
PS:為表或字段起別名
表起別名語法:

表名 表的別名

select * from department d where d.d_id =1001;

字段起別名語法:

屬性名 [as] 別名
as可有可無。

select d_id as department_id,d_name as department_name from department;

詳解MySQL中的分組查詢與連接查詢語句
分組查詢groupbygroupby屬性名[having條件表達式][withrollup]屬性名指按照該字段值進行分組;having條件表達式用來限制分組后的顯示,滿足條件的結果將被顯

linux下安裝升級mysql到新版本(5.1-5.7)
今天需要把linux服務器上的mysql版本從5.1更新到5.7,那么以下內容作為記錄,提供以后安裝使用手冊第一步:檢查linux的操作系統版本cat/etc/issue第二步:

MySQL備份時排除指定數據庫的方法
使用mysqldump命令備份時候,--all-databases可以備份所有的數據庫。使用ignore-table還可以排除制定的表。但是,mysqldump沒有參數可以排除數據庫的。要備份

本周排行

更新排行

強悍的草根IT技術社區,這里應該有您想要的! 友情鏈接:b2b電子商務
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP備05050695號
36选7走势图大全 下周股票行情预测 2014pc蛋蛋幸运28 股票代码查询一览表股票行情中国所有股票代码 湖北快三开奖结果查 广西福彩快3今天开奖 体育彩票排列五 体彩十一运夺金 益丰配资 体育彩票36选7中几个号码 重庆快乐十分现场开奖记录 河南十一选五的走势图 哪款棋牌游戏可以赌钱 江苏11选五计算方法 哪些彩票有二分彩票 江西时时彩中奖概率 2018最火现金棋牌官网