转自:http://hi.baidu.com/nenggan123/blog/item/f9d17efad238b2106c22ebec.html
where 1=1有什么用?在SQL语言中,写这么一句话就跟没写一样。
select * from table1 where 1=1与select * from table1完全没有区别,甚至还有其他许多写法,12,'a'='a','a''b',其目的就只有一个,where 的条件为永真,得到的结果就是未加约束条件的。
在SQL注入时会用到这个,例如select * from table1 where name='lala'给强行加上select * from table1 where name='lala' or 1=1这就又变成了无约束的查询了。
最近发现的妙用在于,在不定数量查询条件情况下,1=1可以很方便的规范语句。例如一个查询可能有 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字句,否则要在第一个出现的地方加 where
今天看到:"SELECT * FROM strName WHERE 1 = 0";
不理解为什么有1=0?
查询得出答案:
该select语句主要用于读取表的结构而不考虑表中的数据,这样节省了内存,因为可以不用保存结果集。
另外,这个用在什么地方呢?主要用于创建一个新表,而新表的结构与查询的表的结构是一样的。如下SQL语句:
create table newtable as select * from oldtable where 1=0;
分享到:
相关推荐
在探讨“where 1=1”这一SQL语句的含义之前,我们首先需要理解SQL(Structured Query Language,结构化查询语言)的基本概念及其在数据库操作中的作用。SQL是一种用于管理关系型数据库的标准语言,它被广泛应用于...
在本话题中,我们将探讨一种规则引擎查询语言,其设计灵感来源于SQL的`WHERE`子句,使得规则的编写更为直观和熟悉。 首先,SQL的`WHERE`子句是用于筛选数据的关键部分,它允许我们从数据库中选取满足特定条件的行。...
where 1=1有什么用?在SQL语言中,写这么一句话就跟没写一样。 select * from table1 where 1=1与select * from table1完全没有区别,甚至还有其他许多写法,1<>2,’a’=’a’,’a'<>’b’,其目的就只有一个...
在数据库管理领域,SQL(Structured Query Language)是用于与关系型数据库进行交互的标准语言。它在数据查询、更新、插入和删除等方面起着至关重要的作用。`WHERE`子句是SQL查询中的关键部分,用于过滤出满足特定...
在 SQL Server 中,主要的操作指令可以分为四类:数据查询语言 (DQL)、数据操纵语言 (DML)、数据定义语言 (DDL) 和数据控制语言 (DCL)。 ##### 1. 数据查询语言 (DQL) DQL 主要用于检索数据。最常用的 DQL 是 `...
方法1、使用语言的for语句循环生成SQL语句中的“?”,类似这样: 新建方法 func placeholders(n int) string { var b strings.Builder for i := 0; i 0 { b.WriteString("?") } return b.String() } 调用...
更新表中已有数据使用`UPDATE`语句,通过设置列的值并提供`WHERE`子句来指定修改的条件。例如: ```sql UPDATE 表名 SET 列名 = 新值 WHERE 条件; ``` 4. **删除数据** 删除表中数据使用`DELETE FROM`语句,同样...
如果在事务过程中发生错误,可以使用`ROLLBACK`来撤销所有更改。 总结,SQL数据库脚本语言是数据库管理的核心,从简单的数据操作到复杂的业务逻辑,都能通过SQL高效完成。初学者可以通过实践这些基本操作,逐步掌握...
本次实验旨在帮助学习者掌握Oracle数据库中的SQL语言,重点是能够熟练地使用SQL进行数据查询、插入、修改和删除等基本操作。通过实际动手操作,加深对SQL语言的理解,并能够在实际工作中灵活应用。 #### SQL语言...
实验四的主题是“SQL语言操作(1)”,这通常涵盖了SQL的基础知识,包括数据查询、表的创建与修改以及基本的数据库操作。下面将详细阐述这些知识点。 一、SQL简介 SQL是标准的关系型数据库查询语言,它被广泛应用于...
本文将深入探讨如何使用SQL语言进行数据库操作,主要包括数据表的创建、查询、更新和删除等基本操作。 一、创建数据表 在SQL中,使用CREATE TABLE语句来创建数据表。例如,假设我们要创建一个名为"Employees"的表,...
### SQL语言详细讲义 #### 一、SQL简介与重要性 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系数据库的标准编程语言。早期的数据库管理系统往往为不同的任务提供独立的语言支持,例如数据...
在实际应用中,DQL、DML、DDL和DCL通常结合使用,以实现对数据库的全面管理。理解并熟练掌握这四大类SQL语言是每个数据库管理员和开发者必备的技能。通过学习和实践,我们可以高效地创建、维护和操作数据库,满足...
理解如何在VB中有效地使用SQL语言,不仅有助于完成项目开发,也是提升数据库应用能力的关键一步。通过不断的实践和学习,开发者可以更熟练地运用这些工具,构建功能强大的数据库驱动的应用程序。
SQL 语言实现:SELECT * FROM sc WHERE cno=1 关系代数的其他操作符还有差分、并集、笛卡尔积等,都是数据库管理系统中常用的查询操作。 SQL 语言 SQL 语言是关系代数的具体实现,它提供了一种标准的查询语言,...
在探讨“SQL Where的简单判断”这一主题时,我们首先需要理解SQL(Structured Query Language,结构化查询语言)的基本概念及其在数据管理与检索中的应用。SQL是一种用于处理关系数据库的标准语言,它允许用户创建、...
SQL语言基础学习笔记 SQL,全称为“结构化查询语言”(Structured Query Language),是数据库管理系统的核心语言,用于管理和操作关系型数据库。SQL的特点包括: 1. **大小写不敏感**:SQL语句在实际执行时,对大...
SQL语言综合练习 本文档旨在提供一个综合的SQL语言练习题,旨在测试学生对SQL语言的掌握程度。该练习题包括一个学生课程数据库,包括学生关系表Student、课程关系表Course、选修关系表SC。通过本练习题,学生可以...
SQL(结构化查询语言(Structured Query Language) 是用于管理和处理关系数据库的标准编程语言。...熟练掌握SQL语言,无论在数据处理、数据分析还是业务应用中,都能极大地提高工作效率和数据处理能力。
标题《SAS SQL 语言使用说明》意味着本文档是关于如何在SAS环境中利用SQL语言进行数据操作的指南。SAS SQL功能的介绍是为了让使用者能够充分利用SAS在数据分析和处理方面的强大功能。 ### 知识点一:SAS SQL的基本...