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 · 893 阅读 · 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 · 195 阅读 · 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 · 138 阅读 · 0 评论 -
数据库事务简介
在数据库系统中,事务是工作的离散单位,它可以是修改一个用户的账户余额,也可以是库存项的写操作。在单用户、单数据库环境下执行事务比较简单,但在分布式环境下,维护多个数据库的完整性就比较复杂。大多数联机事务处理系统是在大型计算机上实现的,这是由于它的操作复杂,需要快速的输入/输出和完善的管理。如果一个事务在多个场地进行修改,那就需要管理机制来防止数据重写并提供同步。另外还需要具有返回失效事务的能力,提...转载 2019-12-30 16:31:52 · 122 阅读 · 0 评论 -
oracle的nvl函数用法
语法:NVL(eExpression1,eExpression2)说明:从两个表达式返回一个非null值,如果eExpression1的计算结果为null值,则NVL()返回eExpression2,如果eExpression1的计算结果不是null值,则返回eExpression1,eExpression1和eExpression2可以是任意一种数据类型,如果eExpression1与eExp...原创 2019-10-11 16:56:20 · 220 阅读 · 0 评论 -
Mysql函数篇(二)
四:日期时间函数函数名称描述NOW()当前日期和时间CURDATE()当前日期CURTIME()当前时间DATE_ADD()日期变化 ,例:SELECT DATE_ADD(‘2019-8-30’,INTERVAL 365 DAY) 结果:20208-30DATEDIFF()得到两个日期之间的差值,例:SELECT DATEDIFF(...原创 2019-09-02 19:54:31 · 99 阅读 · 0 评论 -
MySQL函数篇(一)
一:字符函数:顾名思义就是对字符进行一系列操作的函数函数名称描述CONCAT()字符连接CONCAT_WS()使用指定的分隔符进行字符连接FORMAT()数字格式化LOWER()转换成小写字母UPPER()转换成大写字母LEFT()获取左侧字符,可以指定你要获取的位数RIGHT()获取右侧字符,可以指定你要获取的位数L...原创 2019-08-30 16:50:41 · 113 阅读 · 0 评论 -
MySQL学习笔记(多表操作)
多表更新:UPDATE tdb_references SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}] … [WHERE where_condition]原创 2019-06-10 12:42:32 · 185 阅读 · 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 · 162 阅读 · 0 评论 -
MySQL学习(基本操作与数据类型)
MySQL语法规范关键字与函数名称全部大写数据库名称,表名称,字段名称全部小写SQL语句必须以分号结尾转载 2019-02-12 21:44:24 · 125 阅读 · 0 评论 -
MySQL学习笔记2.14
查看警告信息SHOW warning;AUTO_INCREMENT自动编号,且必须与主键组合使用,但主键不一定都要用AUTO_INCREMENT;默认情况下,起始值为一,每次的增量为一PRIMARY KEY主键约束,每张数据表只能存在一个主键,主键保证记录的唯一性,主键自动为NOT NULL;UNIQUE KEY唯一约束,唯一约束可以保证记录的唯一性,唯一约束的字段可以为N...原创 2019-02-14 20:20:12 · 130 阅读 · 0 评论 -
SQL模糊查询
使用SQL 通配符可以替代一个或多个字符,即模糊查询。SQL 通配符必须与 LIKE 运算符一起使用。在 SQL 中,可使用以下通配符如下:1、% 替代一个或多个字符2、_ 仅替代一个字符3、[charlist] 字符列中的任何单一字符4、[^charlist]或者[!charlist] 不在字符列中的任何单一字符以图中表格为例,说明一下各通配符用法1、 查询居住...转载 2018-10-12 16:52:59 · 29389 阅读 · 1 评论