sql练习

Oracle语句基本用法以及优化的方法

醉酒当歌 提交于 2019-11-27 03:24:34
sql使用包括增删查改,以及表,视图和索引。 内连接和外连接区别(左连接用得最多): https://www.cnblogs.com/youzhangjin/archive/2009/05/22/1486982.html sql语句练习网站: https://www.cnblogs.com/DreamDrive/p/6193530.html (实际工作中用得最多的就是 子查询(自连接)) 。 sql语句的优化策略: https://blog.csdn.net/qq_28867949/article/details/80733860 或者 https://www.cnblogs.com/rootq/archive/2008/11/17/1334727.html 。 数据生成器: mac下面安装pl/SQL, http://haibing.org/362 。 创建表,然后约束生成的字段的数据,运行即可生成相应sql语句,以及你要求的数据。(每次运行也不一样) 补充:怎么排查自己生成的数据有没有插入到数据库中?(用户没有没权限?然后自己运行一下sql语句,查看一下这个数据是不是在的),如果不成功,可能的原因是权限的问题,或者数据并发插入的数据量太大,或者是生成器有bug。 数据工厂(datafactroy),能够生成多并发的数据。 在LR中生成数据脚本: 生成数据,跑起来。 https:

SQL练习(less-5)延时注入

≯℡__Kan透↙ 提交于 2019-11-27 03:16:01
SQL注入 字符型 延时注入 延时型语句: sleep(参数,任意正整数,一般为秒) If (a,b,c)它的意思就是如果条件A成立,则输出结果B,否则输出结果C 条件语句:Id=1’and if (length长度(database(当前数据库())>1,sleep(5),0) 注意:并不是所有的站都有回显位置。 没有回显,用查询组合来判段 http://127.0.0.1/sqli/Less-5/index.php?id=1 字符型的用闭合的形式来判断 通过是否延时,判断数据库名的长度 8位 , %23 注释符 延时语句: sleep(5) 条件语句: if (length(database())>1,sleep(5),0) 1 是判断语句是否正确的 http://127.0.0.1/sqli/Less-5/index.php?id=1 and if (length(database())>1,sleep(5),0) %23 用延时爆数据库的第一步,查询数据库第一个字母 Ascii 码表 语句:Substr(str,pos,len) 把str 从 pos 位置开始截取len 长度的字符并返回 1罗列出 2第几位 (字符串,数组等方法是从0开始)在这里Pos的初始值是1 3截取的字母 http://127.0.0.1/sqli/Less-5/index.php?id=1 and

sql查询练习

久未见 提交于 2019-11-27 00:57:51
题目和条件 -- 部门表 CREATE TABLE dept ( id INT PRIMARY KEY PRIMARY KEY, -- 部门id dname VARCHAR(50), -- 部门名称 loc VARCHAR(50) -- 部门所在地 ); INSERT INTO dept(id,dname,loc) VALUES (10,'教研部','北京'), (20,'学工部','上海'), (30,'销售部','广州'), (40,'财务部','深圳'); -- 职务表,职务名称,职务描述 CREATE TABLE job ( id INT PRIMARY KEY, jname VARCHAR(20), description VARCHAR(50) ); -- 添加4个职务 INSERT INTO job (id, jname, description) VALUES (1, '董事长', '管理整个公司,接单'), (2, '经理', '管理部门员工'), (3, '销售员', '向客人推销产品'), (4, '文员', '使用办公软件'); -- 员工表 CREATE TABLE emp ( id INT PRIMARY KEY, -- 员工id ename VARCHAR(50), -- 员工姓名 job_id INT, -- 职务id mgr INT , --

sql学习--网安基础细节过开发

*爱你&永不变心* 提交于 2019-11-26 21:11:32
初来乍到,在到明年全面投入到考研之前这段时间,我将在此记录我的学习历程,大致方向:Web安全--&amp;amp;amp;amp;amp;gt;渗透测试--&amp;amp;amp;amp;amp;gt;红蓝对抗,将近一年的时间,每天学习记录,每周总结更新。 第二周--学习Mysql数据库的基础操作 mysql数据类型 mysql修改表 数据库的CURD操作 函数查询加强 mysql查询加强 mysql复杂查询--多表查询 mysql表内连接和外连接 mysql的约束 适合人群:初次接触数据库以及巩固网安基础 关系型数据库和非关系型数据库 关系型数据库通过外键关联来建立表与表之间的关系,非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定 https://uule.iteye.com/blog/2429681 https://www.cnblogs.com/wanghongyun/p/6193912.html https://www.cnblogs.com/lina520/p/7919551.html MySQL数据类型 整型 用于保存整数,常见的有 tinyint ,smallint ,mediumint ,int ,bigint tinyint( 1 个字节) < smallint( 2 个字节) <mediumint( 3 个字节)

SQL练习

空扰寡人 提交于 2019-11-26 19:12:26
/ 题目1 创建 Person表 找到存在重复邮箱的信息 / CREATE TABLE Person ( id INT , Email VARCHAR ( 20 ) ) INSERT INTO Person ( id , Email ) VALUES ( 1 , '163@qq.com' ) ; INSERT INTO Person ( id , Email ) VALUES ( 8 , '161@qq.com' ) ; INSERT INTO Person ( id , Email ) VALUES ( 3 , '162@qq.com' ) ; INSERT INTO Person ( id , Email ) VALUES ( 4 , '161@qq.com' ) ; INSERT INTO Person ( id , Email ) VALUES ( 5 , '163@qq.com' ) ; INSERT INTO Person ( id , Email ) VALUES ( 6 , '163@qq.com' ) ; INSERT INTO Person ( id , Email ) VALUES ( 7 , '163@qq.com' ) ; SELECT * FROM Person GROUP BY Email HAVING COUNT ( * ) > 1 ; /*题目2

SQL练习02

假装没事ソ 提交于 2019-11-25 21:58:13
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。 +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ 例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。 +---------------------+ | SecondHighestSalary | +---------------------+ | 200 | +---------------------+ 我的答案: select ifnull((select distinct Salary from Employee order by Salary desc limit 1 offset 1),NULL) as SecondHighestSalary ; 来源: https://www.cnblogs.com/miaoweiye/p/11930401.html

SQL练习

只愿长相守 提交于 2019-11-25 19:38:15
表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId 是上表主键 表2: Address +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | AddressId | int | | PersonId | int | | City | varchar | | State | varchar | +-------------+---------+ AddressId 是上表主键 编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息: FirstName, LastName, City, State 我的答案: select A.FirstName,A.LastName,B.City,B.State from Person A left join Address B on A.PersonID=B.PersonID; 来源: https://www