如今的登陆都是把信息存在数据库,而后把输入的与数据库内容进行匹配,同样就登陆成功,不然不成功。验证码是为了防止暴力破解,由于计算机可以自动匹配密码,可是不能识别图片上的字母,只有人能识别,因此匹配的速度会减慢。还有的会记录登陆IP,若是IP频繁变化就会进行提示。还有银行会限制输入次数。sql
限制表中的数据返回 符合where后面的条件的数据就会被选中,不符合where条件的语句会被过滤掉数据库
/*这是永真条件*/ (数据库里能够有注释,这里是多行注释) where 1 = 1 ; (用一个等号判断相不相等,由于这里是不存在赋值的,没有“= =”) - - 这是永假条件(数据库里能够有注释,这里是单行注释,注释符和注释之间要有空格) where 1 = 2 ;
select id, salary from s_emp where salary=1400
select id, first_name, salary from s_emp where first_name='Carmen'
注意:必定要加’ ‘表明这是字符串值spa
= 等于 != 不等于 >大于 < 小于 <= 小于等于 ................3d
where 字段 between a and b ; (字段在闭区间a到b内)blog
a b的顺序不能错图片
select id, first_name, salary from s_emp where salary between 1450 and 2500
注意:不能够把2500和1450调换位置,编译不会有错,但逻辑有错)字符串
这个字段的值等于其中的一个值(只要有一个等于就返回), 交换值的顺序可能有影响,也可能没有影响。若值的几率都同样就没有影响(就按一个规律写(好比从小到大),这样不容易遗漏)。若不同,则把几率高的值放在前面(人为的),这样查询效率高(由于每一个数据都要挨个和给的值比较,只要有一个同样就返回)io
select idm first_name, dept_id from s_emp where dept_id in(31, 32, 50)
数据库里:编译
e.g. 李四 李斯 李思 李世民 (查找出姓李的)table
Where name like ‘李%’;
e.g. 李小龙 小龙女 龙猫 (查找出全部带龙的)
Where name like ‘%龙%;
(找出中间带龙的)where name like ‘_龙%’;
select first_name from s_emp where first_name like '%a%'
数据库中有一张表user_tables(数据字典,存的都是大写)存了全部表的信息。例如s_emp s_dept 等
desc user
注意:要对‘_’进行转义处理,用‘\_’表示下划线,再加escape ‘ \ ’ 表明是‘\’ 后面的内容进行转义处理
select table_name from user_tables where table_name like 'S\_%'
where 字段 is NULL ;
select id, first_name, commission_pct from s_emp where commission_pct=10
select id, first_name, commission_pct from s_emp where commission_pct!=10
按理来讲,一共有25人,不为10的人应该是20个的,可是这里只有3个。这是由于,基本的断定对空值是无效的,必须引入is NULL对控制进行断定因此要:
select id, first_name, commission_pct from s_emp where commoission_pct is NULL
固然也能够结合nvl,可是用is NULL是标准用法。
select id, first_name ,salary from s_emp where salary>=1450 and salary<=2500
用这个更加具备通用性,能够是开区间。
select id, first_name, dept_id from s_emp where dept_id-31 or dept_id-32 or dept_id=50
这里三个都是等价的,不存在顺序问题。
select id, first_name, manager_id from s_emp where manager_id is not null
select salary, dept_id from s_emp where salary>1000 and dept_id=41 or dept_id=42
select salary, dept_id from s_emp where salary>1000 and (dept_id=41 or dept_id=42)