偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL中where 1=1語句的作用

數(shù)據(jù)庫 SQL Server
where 1=1有什么用?在SQL語言中,寫這么一句話就跟沒寫一樣。但是這看似多余的一條語句,卻有其獨特的用處。

where 1=1有什么用?在SQL語言中,寫這么一句話就跟沒寫一樣。但是這看似多余的一條語句,卻有其獨特的用處。

select * from table1 where 1=1與select * from table1完全沒有區(qū)別,甚至還有其他許多寫法,1<>2,'a'='a','a'<>'b',其目的就只有一個,where的條件為永真,得到的結(jié)果就是未加約束條件的。

在SQL注入時會用到這個,例如select * from table1 where name='lala'給強行加上select * from table1 where name='lala' or 1=1這就又變成了無約束的查詢了。

最近發(fā)現(xiàn)的妙用在于,在不定數(shù)量查詢條件情況下,1=1可以很方便的規(guī)范語句。例如一個查詢可能有name,age,height,weight約束,也可能沒有,那該如何處理呢?

String sql=select * from table1 where 1=1

為什么要寫多余的1=1?馬上就知道了。

if(!name.equals("")){
sql=sql+"name='"+name+"'";
}
if(!age.equals("")){
sql=sql+"age'"+age+"'";
}
if(!height.equals("")){
sql=sql+"height='"+height+"'";
}
if(!weight.equals("")){
sql=sql+"weight='"+weight+"'";
}

如果不寫1=1呢,那么在每一個不為空的查詢條件面前,都必須判斷有沒有where字句,否則要在第一個出現(xiàn)的地方加where

今天看到:"SELECT * FROM strName WHERE 1 = 0";
不理解為什么有1=0?

查詢得出答案:

該select語句主要用于讀取表的結(jié)構(gòu)而不考慮表中的數(shù)據(jù),這樣節(jié)省了內(nèi)存,因為可以不用保存結(jié)果集。

另外,這個用在什么地方呢?主要用于創(chuàng)建一個新表,而新表的結(jié)構(gòu)與查詢的表的結(jié)構(gòu)是一樣的。如下SQL語句:

create table newtable as select * from oldtable where 1=0;
 

 

【編輯推薦】
SQL中UNION指令的用法

遠(yuǎn)程連接sql server服務(wù)器的方法

SQL Server中不同用戶的權(quán)限

測試SQL語句執(zhí)行時間的方法

SQL Server中各類型的鎖(LOCK)

 

責(zé)任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-03-10 13:18:54

SQLwhere

2021-09-16 06:44:07

數(shù)據(jù)庫SQL語句

2020-11-05 09:33:37

SQL數(shù)據(jù)庫編程

2022-11-05 08:37:00

MySQL數(shù)據(jù)索引

2020-11-06 07:09:06

SQL注入編程

2021-05-28 07:36:18

MySQLWhereHive

2021-11-15 06:56:45

MyBatis開發(fā)項目

2024-05-31 13:04:09

2024-05-27 00:21:09

數(shù)據(jù)庫技巧SQL

2022-03-01 07:37:30

MySQL場景框架

2010-09-06 09:03:17

SQLselect語句

2024-02-20 22:13:49

SQL語句編程

2024-06-24 08:33:06

2023-03-29 09:22:03

SQLWhere語句

2024-08-05 01:23:41

SQL語句MySQL

2010-09-26 09:50:36

SQL Where子句

2010-09-07 11:53:00

SQL語句

2010-09-17 09:35:51

SQL中if語句

2010-09-17 16:53:14

SQL中CREATE

2010-11-12 13:08:36

動態(tài)sql語句
點贊
收藏

51CTO技術(shù)棧公眾號