欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mysql怎么取反查詢 mysql怎么返回

mysql中運算符有幾種

mysql中有4類運算符,它們是:

創(chuàng)新互聯(lián)公司服務(wù)緊隨時代發(fā)展步伐,進行技術(shù)革新和技術(shù)進步,經(jīng)過十多年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計師、專業(yè)的網(wǎng)站實施團隊以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶要求對網(wǎng)站進行網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、建設(shè)、維護、更新和改版,實現(xiàn)客戶網(wǎng)站對外宣傳展示的首要目的,并為客戶企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。

算術(shù)運算符

比較運算符

邏輯運算符

位操作運算符

算術(shù)操作符

算術(shù)操作符是SQL中最基本的操作運算符,主要有一下幾種運算符:

+(加)、 -(減)、 *(乘)、 /(除)、 %(求余或者模)

比較運算符

一個比較運算符的結(jié)果總是1,0或者是NULL。MySQL中的比較運算符有:

=、=、 (!=)、=、=、、IS NULL、IS NOT NULL、LEAST、GREATEST、BETWEEN . . . AND. . . 、ISNULL、IN、NOT IN、LIKE、REGEXP

邏輯運算符

邏輯運算符的求值所得結(jié)果均為TRUE、FALSE或NULL。

邏輯運算符有:

NOT 或者 !

AND 或者

OR 或者 ||

XOR(異或)

位運算符

位運算符是用來對二進制字節(jié)中的位進行測試、移位或者測試處理。位運算符有:

位或(|)

位與()

位異或(^ )

位左移()

位右移()

位取反(~)

2019-05-05

在MySQL中 select 表示查詢,select可以單獨成句,是MySQL的方言

比如查詢系統(tǒng)時間: select now();

now() 表示當(dāng)前系統(tǒng)時間 MySQL特有的一個方法

在Oracle中系統(tǒng)時間: select sysdate from dual; 是Oracle的方言

dual表時Oracle特有的一張表,主要目的就是為了補充SQL語句中的from**

在Oracle的語法中,select之后必須要有from

MySQL中有DUAL關(guān)鍵字,所以SELECT NOW()也可以寫作SELECT NOW() FROM DUAL;

但MySQL中的DUAL不是表 執(zhí)行SELECT * FROM DUAL;會報錯,而Oracle中DUAL是一張實際存在的表,執(zhí)行SELECT * FROM DUAL;會查詢一個叫做DUMMY的結(jié)果

標(biāo)準(zhǔn)語法:select...from...

語法格式:

開發(fā)中建議以查詢特定列的方式進行查詢,前者的執(zhí)行效率更快

示例1:查詢員工編號,員工姓名,年薪 (sal表示的是月薪)

注意年薪的表頭顯示的是“sal*12”

可以使用as或者空格,為查詢結(jié)果的列起別名

當(dāng)數(shù)據(jù)運算中出現(xiàn)null值時,結(jié)果一定是null

MySQL解決問題是用ifnull()函數(shù)

Oracle解決問題是用nvl()函數(shù)

ifnull(expr1,expr2)

nvl(expr1,expr2)

當(dāng)expr1的結(jié)果是null時,使用expr2的結(jié)果

當(dāng)expr1的結(jié)果不是null時,使用expr1的結(jié)果

示例2: 查詢員工姓名和員工的月收入(月薪+獎金)

此時原始數(shù)據(jù)中如果comm中有null值,查詢結(jié)果不正確

使用distinct去掉查詢結(jié)果中的重復(fù)記錄

基礎(chǔ)語法

查詢列1,列2直至列n的數(shù)據(jù),并去掉其中重復(fù)的組合

select ... from...where 查詢條件

示例3:查詢所有在部門編號是1工作的員工記錄

的查詢結(jié)果是一樣的,數(shù)據(jù)中Tom,tom,TOM,tOm...等都會被查詢出

如果需要嚴(yán)格控制大小寫字母敏感,查詢語句需要在列前加 binary

這樣只能查詢出TOM

X AND Y 必須同時滿足條件X和條件Y

示例4: 查詢在1號部門工作,且月薪不低于2500的員工信息

示例5: 查詢在1號部門工作,且月薪不低于2500的保潔信息

X OR Y 滿足條件X或條件Y其一即可

示例6:查詢在1號部門或2號部門工作的員工信息

NOT(X) 不是條件X

主要使用在特殊的比較運算符中

AND語句的優(yōu)先級高于OR

如果使用括號控制優(yōu)先級

SQL注入問題:利用了AND和OR優(yōu)先級破壞系統(tǒng)中的SQL語句邏輯

正常訪問邏輯,用戶輸入admin和123 正確賬號和密碼可以登錄

SQL注入通過輸入正確的賬號,和一個帶有or邏輯的SQL片段將原來邏輯破壞掉,進行非法登錄

輸入的是 賬號:admin 密碼:' OR 1=1 AND lname='admin

這個SQL語句就變成了

lname = 'admin' AND lpass = '' -- X 假 查不出結(jié)果

1=1 AND lname='admin' -- Y 真 查出admin的數(shù)據(jù)

X OR Y -- 真 驗證通過 訪問了admin的賬號

X between A and B 表示X在[A,B]之間

相當(dāng)于 X = A and X = B

一般情況下: B應(yīng)該大于等于A

如果B小于A語法也沒錯誤,邏輯上沖突,不會由查詢結(jié)果

示例1:查詢月薪在[2000,2500]區(qū)間的員工信息

示例2:查詢在20號部門入職日期在1994年的員工信息

用于查詢數(shù)據(jù)時進行模糊匹配(模糊查詢),只適用于文本查詢

語法規(guī)則

-ename中含有字符% 使用\做為轉(zhuǎn)義字符

將'%'看做一個%字符

MySQL中

Oracle中

相當(dāng)于or

語法規(guī)則

相當(dāng)于

示例3:查詢在10號部門或20部門工作,且職位是CLERK的員工信息

示例4:查詢員工SMITH和AMY的員工信息

示例5:查詢在'1992-01-15'或'1994-12-22'或'1994-07-05'入職的員工信息

如果in中的數(shù)據(jù)有null值,null值不會被查詢出

專門針對null值進行篩選

示例6: 查詢所有獎金是null的員工信息

不能使用comm = null查詢,這樣查詢沒有結(jié)果

not表示特殊比較運算符邏輯取反

示例7:查詢月薪 不 在[2000,2500]區(qū)間的員工信息

示例8:查詢員工名字中 不 包含字母A的員工信息

示例9:查詢 不 在10號或20號部門工作的,職位是CLERK的員工信息

示例10:查詢獎金 不 是null的員工信息

排序是對 查詢結(jié)果 進行排序顯示

排序規(guī)則

select...from...where... order by...

示例11:查詢所有的員工信息,按照月薪升序排序。

asc表示升序,排序默認(rèn)就是升序,asc可以省略。

示例12:查詢所有的員工信息,按照月薪降序排序。

desc表示降序

在列1的排序基礎(chǔ)上,進行列2排序,.... 在之前所有排序基礎(chǔ)上進行列n的排序

示例13 : 查詢所有員工信息,按照部門編號升序排序,按照月薪降序排序

先按照deptno進行升序排序,在deptno排序的基礎(chǔ)上,再進行sal的降序排序

示例14:查詢20號部門員工姓名,月薪,獎金,月收入,按照月收入的降序排序

可以使用列別名

按照查詢結(jié)果的第3列進行升序排序,在排序基礎(chǔ)上以第2列進行降序排序

實際:deptno升序后,sal降序

編寫順序: select...from...where...order by...

執(zhí)行順序: from...where...select...order by...

MySQL必知必會 第7-9章

在第六章介紹的所有 WHERE 子句在過濾時,使用的都是單一的條件。為了進行更強的過濾控制,MySQL允許給出多個WHERE子句,并通過 AND 或 OR 操作符的方式組合使用。

AND 操作符可以使用對多列的條件進行累加過濾。

OR操作符可以使用對多列的條件進行累加過濾。

WHERE 子句可包含任意數(shù)目的 AND 和 OR 操作符。但是 AND 的優(yōu)先級比 OR 高,應(yīng)使用適當(dāng)?shù)膱A括號分組操作符。

注意: 任何時候都不應(yīng)該過分依賴默認(rèn)計算次序,使用圓括號可以增加可讀性,消除歧義。

IN 操作符用來指定條件范圍,范圍中每個條件都可以進行匹配。 IN 的合法值由逗號分隔,并全部括在圓括號中。

使用 IN 的優(yōu)點為:

WHERE子句中的NOT操作符有且只有一個功能,就是否定它之后的任何條件。

注意: MySQL支持使用NOT對IN、BETWEEN和EXISTS子句取反,這與其他大多數(shù)DBMS允許使用NOT對各種條件取反有很大區(qū)別。

之前介紹的都是針對已知值的過濾。而對進行未知內(nèi)容的匹配,可以使用通配符創(chuàng)建比較數(shù)據(jù)的搜索模式來完成。通配符的匹配,需要通過LIKE操作符指示MySQL完成。

% 表示任何字符出現(xiàn)任意次。例如,為了找到所有以 jet 起頭的產(chǎn)品,可使用以下 SELECT 語句

注意:

下劃線( _ )通配符只匹配單個字符而不是多個字符。

通配符使用技巧:

正則表達式是用來匹配文本的特殊串(字符集合),所有種類的程序設(shè)計語言、文本編輯器、操作系統(tǒng)等都支持正則表達式。

MySQL中的正則表達式僅是正則表達式的一個子集。

為搜索兩個串之一,使用( | )。

如果想匹配特定的單一字符,可以使用[]將一組指定的內(nèi)容括起來。

注意:

集合可用來定義要匹配一個或多個字符,此時可以使用 - 來定義一個范圍,例如 [0-9] 表示數(shù)字0到9, [a-z] 表示字母a到z。

正則表達式語句由具有特定含義的特殊字符構(gòu)成。例如 | 或 - 等。如果要表示一些特殊的字母,如含 . 的值,則應(yīng)該使用 \\\ 為前導(dǎo)。 \\\- 表示查找 - , \\\. 表示查找 . 。

注意:

為方便常見字符集的查找,可以使用預(yù)定義的字符集。稱為字符類。如下圖所示:

目前為止使用的所有正則表達式都試圖匹配單詞出現(xiàn)。但有時需要對匹配的數(shù)目進行更強的控制,此時可以使用下列正則表達式重復(fù)元字符來完成。

注意: 使用正則表達式時,編寫某個特定的表達式幾乎總是有多種方法。

目前為止,所有例子都是匹配一個串中任意位置的文本,為了匹配特定位置的文本,需要使用定位符。

注意:

網(wǎng)站題目:mysql怎么取反查詢 mysql怎么返回
本文URL:http://chinadenli.net/article38/dogeppp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄網(wǎng)頁設(shè)計公司、品牌網(wǎng)站建設(shè)小程序開發(fā)、面包屑導(dǎo)航App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司