select函数

sql注入总结

那年仲夏 提交于 2020-02-01 22:14:47
sql注入定义 就是通过把sql命令插入到web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行的sql命令的目的。 sql注入分类 联合查询 通过执行等同于将一个表追加到另一个表的操作来组合两个表的查询 首先我们先来了解一下mysql的系统函数 user ( ) : 当前使用者的用户名 database ( ) : 当前数据库名 version ( ) : 数据库的版本 datadir : 读取数据库的绝对路径 @@vasedir : mysql安装路径 @@version_compile_os : 操作系统 concat ( ) : 连接一个或者多个字符串 group_concat ( ) : 连接一个组的所有字符串,并以逗号分隔每一条数据 然后再来了解下union UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。 UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同.默认地, UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL 。当 ALL 随 UNION 一起使用时(即 UNION ALL ),不消除重复行。 mysql 5.0版本以后提供了information.schema表,表中记录了数据库中所有的库、表

结构化查询语言(SQL)学习二:运算符,函数,子查询

人走茶凉 提交于 2020-01-31 17:33:55
数据库操作查询,SQL语句。 SQL学习(二、运算符,函数,子查询) 1、WHERE 语句 WHERE 子句用于提取那些满足指定标准的记录。 WHERE 子句的语法: SELECT column_list FROM table_name WHERE condition; 下面的 SQL 语句从 "customers" 表中选择 ID 等于 "6" 的记录: SELECT * FROM customers WHERE ID = 6; 2、SQL 运算符 比较运算符和逻辑运算符在 WHERE 子句中用于筛选要选择的数据。 WHERE 子句中可以使用以下运算符: 运算符 描述 = 等于 <> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 != 大于 < 小于 = 大于等于 <= 小于等于 BETWEEN 在某个范围内 LIKE 搜索某种模式 IN 指定针对某个列的多个可能值 例如, 下面的 SQL 语句列出了 ID 不等于 “8” 的所有记录。 SELECT * FROM customers WHERE ID <> 8; 3、BETWEEN 运算符 BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。 BETWEEN子句的语法如下: SELECT column_name(s) FROM table_name WHERE column

SQL、T-SQL与PL-SQL的区别

萝らか妹 提交于 2020-01-31 01:58:54
本文针对目前最新版9.5.1,若非说明,文中所说文档即指官方文档。本人刚接触PostgreSQL不久,文中不免错漏,请大家指正;随着了解深入,本文[可能]会不定期更新补足。 JSON PostgreSQL支持Json格式数据,有两种类型:json和jsonb。两者在效率上有所区别,而这是因为jsonb存储的是格式化后的二进制数据,所以在写入时,json类型比较快,而在检索时(注意这里说的检索不是简单的读取整个数据,而是比如检索json数据中某个键的值的场景),jsonb效率较高。一般情况下,使用jsonb就可以了。json数据是为了弥补关系型数据在伸缩性扩展性上的不足,但是文档也说了,不能啥都往里放,要考虑数据原子性和数据大小。 json类型可以作包含判断和是否存在的判断(containment or existence),表示符号分别为@>和?(以及其它一些变种)。对于这两种牵涉到多个键和元素的判断场景,json类型比下面要讲的arrays更适合,因为其对查询有内在的优化机制,而array只是单纯的线性查找。 若json列需要经常检索,那么可以在其上建立GIN索引,jsonb支持两种特有的GIN索引jsonb_ops和jsonb_path_ops。创建的语法如下: CREATE INDEX idxgin ON api USING GIN (jdoc); CREATE INDEX

3. 高级

回眸只為那壹抹淺笑 提交于 2020-01-30 20:06:31
高级 3.1. 关系 3.2. 连接 3.3. 自关联 3.4. 子查询 3.5. 内置函数 3.6. 视图 3.7. 事务 3.8. 索引 简介 实体与实体之间有3种对应关系,这些关系也需要存储下来 在开发中需要对存储的数据进行一些处理,用到内置的一些函数 视图用于完成查询语句的封装 事务可以保证复杂的增删改操作有效 先看个问题 问:查询每个学生每个科目的分数 分析:学生姓名来源于students表,科目名称来源于subjects,分数来源于scores表,怎么将3个表放到一起查询,并将结果显示在同一个结果集中呢? 答:当查询结果来源于多张表时,需要使用连接查询 关键:找到表间的关系,当前的关系是 students表的id---scores表的stuid subjects表的id---scores表的subid 则上面问题的答案是: select students.sname,subjects.stitle,scores.score from scores inner join students on scores.stuid=students.id inner join subjects on scores.subid=subjects.id; 结论:当需要对有关系的多张表进行查询时,需要使用连接join 连接查询 连接查询分类如下: 表A inner join 表B

SQL常用函数集锦

和自甴很熟 提交于 2020-01-28 00:14:19
一、字符转换函数 1 、 ASCII () 返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。 2 、 CHAR () 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值, CHAR () 返回NULL 。 3 、 LOWER ()和UPPER() LOWER ()将字符串全部转为小写; UPPER ()将字符串全部转为大写。 4 、 STR () 把数值型数据转换为字符型数据。 STR ( < float_expression > [ ,length[, <decimal> ] ]) length 指定返回的字符串的长度, decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。 当length 或者decimal 为负值时,返回NULL; 当length 小于小数点左边(包括符号位)的位数时,返回length 个 * ; 先服从length ,再取decimal ; 当返回的字符串位数小于length ,左边补足空格。 二、去空格函数 1 、 LTRIM () 把字符串头部的空格去掉。 2 、 RTRIM () 把字符串尾部的空格去掉。 三、取子串函数 1 、 left () LEFT (

HIVE-常用函数

大城市里の小女人 提交于 2020-01-26 03:17:06
空值赋值 nvl函数 nvl(列名1, replace_with): 如果列名1为空值, 则replace_with的内容代替,此处可以为一个固定的值, 也可以是别的列名。 select nvl ( name1 , name2 ) from table_name 或 select nvl ( name1 , 'zhangsan' ) from table_name 如果name1 为 NULL , 则只用name2替代,如果name2还是 NULL , 则就是空; # hive不支持这样写, 只能写2个 select nvl ( name1 , name2,name3 ) from table_name 时间函数 时间格式化 select date_format ( '2019-12-29' , 'yyyy-MM' ) date_format是只接受yyyy - MM - dd 格式的日期 时间相加减 select date_add ( '2019-12-29' , 1 ) select date_add ( '2019-12-29' , - 1 ) select date_sub ( '2019-12-29' , 1 ) select date_sub ( '2019-12-29' , - 1 ) select datediff ( '2019-12-29' , '2019-12

数据库修仙之路2

眉间皱痕 提交于 2020-01-25 01:11:50
根据函数的返回结果,我们将函数分为单行函数和多行函数 单行函数 ( 一条记录返回一个结果 ) 日期函数 转换函数 ( 重点 ) 其他函数 ( 保证类型兼容 ) 多行函数( 组函数 . 聚合函数 ) ( 多条记录 返回一个结果 ( 重点 )) 1) 、 count : 统计记录数 count() -->* 或一个列名 2) 、 max min: 最大值 最小值 3) 、 sum :求和 4) 、 avg: 平 均值 分组 分组 : group by , 将符合条件的记录 进一步的分组 过滤组 :having , 过滤组信息 ,表达式 同 where 一致 行转列 一 : 单行函数 日期函数 --sysdate/current_date 以 date 类型返回当前的日期 select sysdate from dual; select current_date from dual; --2 天以后的日期 select sysdate+2 from dual; -- 员工入职时候 3 天后的时间 select hiredate+3 from emp; -- 每个员工的转正日期 3 个月转正 select hiredate 入职日期 ,hiredate+ 30*3 转正日期 from emp; -- 月份只差 add_months(date, 月个数 ) select hiredate

sql语句大全

孤街醉人 提交于 2020-01-23 01:00:20
整理了一下,希望对大家有用 SQL语句大全 --语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 转: http://topic.csdn.net/u/20110512/14/ac563ffc-e973-40ec-84ba-e655494fa405.html 相关文章: DROP PROCEDURE --从数据库中删除存储过程 CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器 CREATE SCHEMA --向数据库添加一个新模式 DROP SCHEMA --从数据库中删除一个模式 CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN

mysql sql语句大全

自作多情 提交于 2020-01-23 00:56:08
1、说明:创建数据库 CREATE DATABASE database - name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk' , 'testBack' , 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [ not null ] [ primary key ],col2 type2 [ not null ],..) 根据已有的表创建新表: A: create table tab_new like tab_old (使用旧表创建新表) B: create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加

sql server 时间处理函数 datediff() 和getdate()

只愿长相守 提交于 2020-01-22 23:52:02
一: DATEDIFF() 定义和用法 DATEDIFF() 函数返回两个日期之间的时间。 语法 DATEDIFF(datepart,startdate,enddate) startdate 和 enddate 参数是合法的日期表达式。 datepart 参数可以是下列的值: datepart 缩写 年 yy, yyyy 季度 qq, q 月 mm, m 年中的日 dy, y 日 dd, d 周 wk, ww 星期 dw, w 小时 hh 分钟 mi, n 秒 ss, s 毫秒 ms 微妙 mcs 纳秒 ns 实例 例子 1 使用如下 SELECT 语句: SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate 结果: DiffDate 1 例子 2 使用如下 SELECT 语句: SELECT DATEDIFF(day,'2008-12-30','2008-12-29') AS DiffDate 结果: DiffDate -1 二: getdate() 定义和用法 GETDATE() 函数从 SQL Server 返回当前的时间和日期。 语法 GETDATE() 实例 例子 1 使用下面的 SELECT 语句: SELECT GETDATE() AS CurrentDateTime 结果: