欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
MySQL查詢(xún)數據表中數據記錄(包括多表查詢(xún))

MySQL查詢(xún)數據表中數據記錄(包括多表查詢(xún))

在MySQL中創(chuàng )建數據庫的目的是為了使用其中的數據。

使用select查詢(xún)語(yǔ)句可以從數據庫中把數據查詢(xún)出來(lái)。

select語(yǔ)句的語(yǔ)法格式如下:

select selection_list                  // 要查詢(xún)的內容,選擇哪些列from table_list                        // 從什么表中查詢(xún),從何處選擇行where primary_constraint               // 查詢(xún)時(shí)需要滿(mǎn)足的條件,行必須滿(mǎn)足的條件group by grouping_columns              // 如何對結果進(jìn)行分組order by sorting_columns               // 如何對結果進(jìn)行排序having secondary_constraint            // 查詢(xún)時(shí)滿(mǎn)足的第二條件limit count                            // 限定輸出的查詢(xún)結果

下面對select查詢(xún)語(yǔ)句的參數進(jìn)行詳細的講解。

首先,連接MySQL服務(wù)器,其次,選擇指定的數據庫:

use db_xuesheng;

要確保該數據庫已經(jīng)建立。

還要確保已經(jīng)建立了數據表tb_chengji,并且已經(jīng)添加了數據,然后才能更好地理解下面的內容。

1. selection_list

設置查詢(xún)的內容。

1)如果要查詢(xún)一個(gè)表中的所有列,可以將其設置為“*”。

比如,查詢(xún)tb_chengji數據表中的所有列。代碼如下:

select * from tb_chengji;   // 查詢(xún)數據表中的所有數據

2)如果只查詢(xún)一個(gè)表中的某一列或多列,可以直接輸入列名,并以“,”分隔。代碼如下:

select xuesheng,yuwen from tb_chengji;   // 查詢(xún)數據表中xuesheng和yuwen列的數據

2. table_list——多表查詢(xún)

指定查詢(xún)的數據表。

既可以從一個(gè)數據表中查詢(xún),也可以從多個(gè)數據表中進(jìn)行查詢(xún),多個(gè)數據表之間用“,”進(jìn)行分隔,并且可以通過(guò)where子句使用連接運算來(lái)確定表之間的聯(lián)系。

多表查詢(xún)的sql語(yǔ)句格式如下:

select 表名.字段名 from 表1,表2... where 表1.字段=表2.字段 and 其它查詢(xún)條件

例如,首先查看一下tb_chengji數據表中的數據記錄。在上圖有顯示效果。

然后查看一下tb_info數據表中的數據記錄。代碼如下:

select * from tb_info;

下面從tb_chengji和tb_info數據表中查詢(xún)yuwen大于等于100的數據記錄。代碼如下:

select tb_chengji.id,tb_chengji.xuesheng,xingbie,dizhi,yuwen,shuxue,yingyu fromtb_chengji,tb_info where tb_chengji.xuesheng=tb_info.xuesheng and tb_chengji.yuwen>=100;

在上面的SQL語(yǔ)句中,因為2個(gè)表都有id字段和xuesheng字段,為了告訴服務(wù)器要顯示的是哪個(gè)表中的字段信息,所以要加上前綴。語(yǔ)法格式如下:

表名.字段名

tb_chengji.xuesheng=tb_info.xuesheng將表tb_chengji和tb_info連接起來(lái),叫做等同連接。如果不使用tb_chengji.xuesheng=tb_info.xuesheng,那么產(chǎn)生的結果將是兩個(gè)表的笛卡爾積,叫做全連接。

3. where條件語(yǔ)句

在使用查詢(xún)語(yǔ)句時(shí),比如要從很多的記錄中查詢(xún)出想要的記錄,就需要一個(gè)查詢(xún)的條件。只有設定了查詢(xún)的條件,查詢(xún)才有實(shí)際的意義。

設定查詢(xún)條件應用的是where子句。

通過(guò)where子句,可以實(shí)現很多復雜的條件查詢(xún)。在使用where子句時(shí),需要使用一些比較運算符。常用的比較運算符如下表所示:

運算符名稱(chēng)示例
=等于id=10
>大于id>10
<小于id<10
>=大于等于id>=10
<=小于等于id<=10
!=或<>不等于id!=10
is nulln/aid is null
is not nulln/aid is not null
betweenn/aid between 1 and 15
inn/aid in(3,4,5)
not inn/axuesheng not in(shi,li)
like模式匹配xuesheng like('shi%')
not like模式匹配xuesheng not like('shi%')
regexp常規表達式xuesheng正則表達式

上表中列舉的是where子句常用的比較運算符。示例中的id是記錄的編號,xuesheng是表中的學(xué)生名。

例如,使用where子句,查詢(xún)tb_chengji表,條件是xuesheng為李麗的數據記錄。代碼如下:

select * from tb_chengji where xuesheng='李麗';

提示:where子句的作用是在對查詢(xún)結果進(jìn)行分組前,將不符合where條件的行去掉,即在分組之前過(guò)濾數據。因此,在使用where子句時(shí),條件中不能包含聚合函數來(lái)顯示特定的行。

4. GROUP BY對結果分組

通過(guò)GROUP BY子句,可以將行數據劃分成較小的組,以實(shí)現對記錄進(jìn)行分組查詢(xún)。在與AVG()函數或SUM()函數等聚合函數一起使用時(shí),GROUP BY子句能夠發(fā)揮最大的作用。

GROUP BY子句可以將查詢(xún)結果分組,并返回行的匯總信息。

在帶有GROUP BY子句的查詢(xún)語(yǔ)句中,在SELECT列表中指定的列要么是GROUP BY子句中指定的列,要么就包含在了聚合函數中。

查詢(xún)語(yǔ)句的SELECT和GROUP BY、HAVING子句是聚合函數唯一出現的地方,因此,在where子句中不能使用聚合函數。

例如,在tb_chengji02數據表中。如下圖所示:

就可以使用GROUP BY子句,按照xuesheng進(jìn)行分組,求出每個(gè)學(xué)生的平均成績(jì)。代碼如下:

select xuesheng,avg(fenshu) from tb_chengji02 group by xuesheng;

group by xuesheng是按學(xué)生分組,那么在xuesheng列中,相同名字的學(xué)生就會(huì )分為一組,然后計算出它們的平均成績(jì)。

5. HAVING子句

HAVING子句的作用是篩選滿(mǎn)足條件的組,即在分組之后過(guò)濾數據。在HAVING子句中經(jīng)常包含聚合函數??梢允褂肏AVING條件顯示特定的組,也可以使用多個(gè)分組標準進(jìn)行分組。

當在GROUP BY子句中使用HAVING子句時(shí),查詢(xún)結果中只返回滿(mǎn)足having條件的組。

例如,在tb_chengji02表中查詢(xún)總成績(jì)大于等于280的記錄。代碼如下:

select xuesheng,sum(fenshu) from tb_chengji02 group by xuesheng having sum(fenshu)>=280;

我們也可以在tb_chengji02表中查詢(xún)張冬雪或者李麗的總成績(jì)大于等于270的記錄是否存在,如果存在,則顯示出來(lái)。代碼如下:

select xuesheng,sum(fenshu) from tb_chengji02 where xuesheng='張冬雪' or xuesheng='李麗' group by xuesheng having sum(fenshu)>=270;

6. DISTINCT在結果中去除重復行

使用DISTINCT關(guān)鍵字,可以去除結果中重復的行。

DISTINCT語(yǔ)句中SELECT顯示的字段只能是DISTINCT指定的字段,其他字段是不能出現的。

例如,查詢(xún)tb_chengji02表,并在結果中去掉xuesheng字段中的重復數據。代碼如下:

select distinct xuesheng from tb_chengji02;

7. ORDER BY對結果進(jìn)行排序

使用ORDER BY可以對查詢(xún)的結果進(jìn)行升序(ASC)或降序(DESC)排列,在默認情況下,ORDER BY按升序輸出結果。如果要按降序排列可以使用DESC來(lái)實(shí)現。

在對含有null值的列進(jìn)行排序時(shí),如果按升序排列,null值將出現在最前面;如果按降序排列,null值將出現在最后面。

例如,查詢(xún)tb_chengji表中的所有信息,按照“id”進(jìn)行降序排列。代碼如下:

select * from tb_chengji order by id desc;

8. LIKE模糊查詢(xún)

LIKE屬于比較常用的比較運算符,通過(guò)它可以實(shí)現模糊查詢(xún)。它有兩種通配符:“%”和下劃線(xiàn)“_”。

“%”可以匹配一個(gè)或多個(gè)字符,而“_”只能匹配一個(gè)字符。

例如,在tb_chengji表中查找所有第二個(gè)字符是“冬”的學(xué)生。代碼如下:

select * from tb_chengji where xuesheng like('_冬%');

9. CONCAT聯(lián)合多列

使用CONCAT函數可以聯(lián)合多個(gè)字段,構成一個(gè)總的字符串。

例如,把tb_chengji表中的yuwen、shuxue和yingyu字段合并到一起,構成一個(gè)新的字符串。代碼如下:

select id,xuesheng,concat(yuwen,":",shuxue,":",yingyu) as fenshu from tb_chengji;

10. LIMIT限定結果行數

LIMIT子句可以對查詢(xún)結果的記錄條數進(jìn)行限定,控制它輸出的行數。

例如,查詢(xún)tb_chengji表,按照id字段降序排列,顯示3條記錄。代碼如下:

select * from tb_chengji order by id desc limit 3;

使用LIMIT還可以從查詢(xún)結果的中間部分取值。首先要定義兩個(gè)參數,參數1是開(kāi)始讀取的第一條記錄的編號(在查詢(xún)結果中,第一個(gè)結果的記錄編號是0,而不是1),參數2是要查詢(xún)記錄的個(gè)數。

select * from tb_chengji order by id desc limit 1,2;

11. 使用函數和表達式

在MySQL中,還可以使用表達式來(lái)計算各列的值,作為輸出結果。表達式還可以包含一些函數。

例如,計算tb_chengji表中學(xué)生的總分數。代碼如下:

select id,xuesheng,yuwen,shuxue,yingyu,sum(yuwen+shuxue+yingyu) as zongfen from tb_chengji group by id; 

或者:

select *,sum(yuwen+shuxue+yingyu) as zongfen from tb_chengji group by id; 

計算tb_chengji表中學(xué)生的三門(mén)平均分數。代碼如下:

select *,format(avg(yuwen+shuxue+yingyu)/3),1) as pingjun feng from tb_chengji group by id;

在對MySQL數據庫進(jìn)行操作時(shí),有時(shí)候需要對數據庫中的記錄進(jìn)行統計,例如求平均值、最小值或最大值等,這時(shí)可以使用MySQL中的統計函數。

常用的統計函數如下表所示:

名稱(chēng)說(shuō)明
avg(字段名)獲取指定列的平均值。
count(字段名)如果指定了一個(gè)字段,則會(huì )統計出該字段中的非空記錄。如果在前面增加DISTINCT,則會(huì )統計不同值的記錄,相同的值當做一條記錄。如果使用count(*),則統計包含空值的所有記錄數。
min(字段名)獲取指定字段的最小值。
max(字段名)獲取指定字段的最大值。
std(字段名)指定字段的標準背離值。
stdtev(字段名)與std相同。
sum(字段名)指定字段所有記錄的總和。

除了使用函數之外,還可以使用算術(shù)運算符、字符串運算符以及邏輯運算符來(lái)構成表達式。

例如,計算數學(xué)成績(jì)打八折之后的分數。代碼如下:

select *,(shuxue * 0.8) as '80%' from tb_chengji;
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
sql select語(yǔ)句的基本知識
VFP中如何讓將兩個(gè)數據表合并成一個(gè)
常用的SQL語(yǔ)句
計算機vfp二級考試筆試知識點(diǎn)
數據庫:SQLServer中with as 用法筆記
Excel VBA ADO SQL入門(mén)教程011:SELECT語(yǔ)法結構和運算順序
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久