SQL
A cold winter
夜阑卧听风吹雨,铁马冰河入梦来。
展开
-
sql为什么要写where 1 = 1
之前一直不太明白,sql语句里为什么要写where 1=1 巴拉巴拉巴拉 提升某种执行效率? 其实,1=1 是永恒成立的,意思无条件的,也就是说在SQL语句中有没有这个1=1都可以。 这个1=1常用于应用程序根据用户选择项的不同拼凑where条件时用的。 如:web界面查询用户的信息,where默认为1=1,这样用户即使不选择任何条件,sql查询也不会出错。如果用户选择了姓名,那么where变成了where 1=1 and 姓名=‘用户输入的姓名’,如果还选择了其他的条件,就不断在where 条件后追加 a转载 2021-03-12 09:13:56 · 889 阅读 · 0 评论 -
oracle的分页查询
以前工作接触到的数据库都是mysql,分页用limit,最近需要写一个oracle的分页查询,在网上找到了方法,记录一下: select * from ( select rownum rn,a.* from table_name a where rownum <= x //结束行,x = startPage*pageSize ) where rn >= y; //起始行,y = (startPage-1)*pageSize+1 (1)>= y,<= x表示从第y行(起始行)~x行(原创 2020-11-26 10:46:04 · 191 阅读 · 0 评论 -
SQL中IN与EXISTS用法的区别
结论为: in()适合B表比A表数据小的情况 exists()适合B表比A表数据大的情况 当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用. 举例: SELECT * FROM EMP (基础表) WHERE EMPNO > 0 AND EXISTS (SELECT ‘X’ FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO AND...原创 2020-04-22 17:10:42 · 136 阅读 · 0 评论 -
数据库事务简介
在数据库系统中,事务是工作的离散单位,它可以是修改一个用户的账户余额,也可以是库存项的写操作。在单用户、单数据库环境下执行事务比较简单,但在分布式环境下,维护多个数据库的完整性就比较复杂。大多数联机事务处理系统是在大型计算机上实现的,这是由于它的操作复杂,需要快速的输入/输出和完善的管理。如果一个事务在多个场地进行修改,那就需要管理机制来防止数据重写并提供同步。另外还需要具有返回失效事务的能力,提...转载 2019-12-30 16:31:52 · 121 阅读 · 0 评论 -
oracle的nvl函数用法
语法:NVL(eExpression1,eExpression2) 说明:从两个表达式返回一个非null值,如果eExpression1的计算结果为null值,则NVL()返回eExpression2,如果eExpression1的计算结果不是null值,则返回eExpression1,eExpression1和eExpression2可以是任意一种数据类型,如果eExpression1与eExp...原创 2019-10-11 16:56:20 · 216 阅读 · 0 评论 -
Mysql函数篇(二)
四:日期时间函数 函数名称 描述 NOW() 当前日期和时间 CURDATE() 当前日期 CURTIME() 当前时间 DATE_ADD() 日期变化 ,例:SELECT DATE_ADD(‘2019-8-30’,INTERVAL 365 DAY) 结果:20208-30 DATEDIFF() 得到两个日期之间的差值,例:SELECT DATEDIFF(...原创 2019-09-02 19:54:31 · 96 阅读 · 0 评论 -
MySQL函数篇(一)
一: 字符函数:顾名思义就是对字符进行一系列操作的函数 函数名称 描述 CONCAT() 字符连接 CONCAT_WS() 使用指定的分隔符进行字符连接 FORMAT() 数字格式化 LOWER() 转换成小写字母 UPPER() 转换成大写字母 LEFT() 获取左侧字符,可以指定你要获取的位数 RIGHT() 获取右侧字符,可以指定你要获取的位数 L...原创 2019-08-30 16:50:41 · 110 阅读 · 0 评论 -
MySQL学习笔记(多表操作)
多表更新: UPDATE tdb_references SET col_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}] … [WHERE where_condition]原创 2019-06-10 12:42:32 · 181 阅读 · 0 评论 -
MySQl学习笔记(子查询)
修改数据表 添加单列: ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name];//省略FIRST|AFTER col_name将默认你所添加的列位于所有列的最后面 例:ALTER TABLE user ADD age TINYINT UNSIGNED D...原创 2019-02-19 12:34:21 · 159 阅读 · 0 评论 -
MySQL学习(基本操作与数据类型)
MySQL语法规范 关键字与函数名称全部大写 数据库名称,表名称,字段名称全部小写 SQL语句必须以分号结尾转载 2019-02-12 21:44:24 · 123 阅读 · 0 评论 -
MySQL学习笔记2.14
查看警告信息 SHOW warning; AUTO_INCREMENT 自动编号,且必须与主键组合使用,但主键不一定都要用AUTO_INCREMENT; 默认情况下,起始值为一,每次的增量为一 PRIMARY KEY 主键约束,每张数据表只能存在一个主键,主键保证记录的唯一性,主键自动为NOT NULL; UNIQUE KEY 唯一约束,唯一约束可以保证记录的唯一性,唯一约束的字段可以为N...原创 2019-02-14 20:20:12 · 126 阅读 · 0 评论 -
SQL模糊查询
使用SQL 通配符可以替代一个或多个字符,即模糊查询。 SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符如下: 1、% 替代一个或多个字符 2、_ 仅替代一个字符 3、[charlist] 字符列中的任何单一字符 4、[^charlist]或者[!charlist] 不在字符列中的任何单一字符 以图中表格为例,说明一下各通配符用法 1、 查询居住...转载 2018-10-12 16:52:59 · 29384 阅读 · 1 评论