sql练习

Oracle入门之oracle查询及基本命令函数

断了今生、忘了曾经 提交于 2019-12-01 07:19:26
Oracle数据库与mysql数据库最明显的差别就是表的归属,在mysql中表是属于某个数据库,连接该数据库即可看到该数据库中的表;而在oracle中表是属于某个用户的,即连接同一个数据库,不同用户看到的表是不同的。 Oracle中scott用户有供初学者练习的基本表,是关于公司人力资源管理的表。 要求: 客户机成功安装 Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。 1 、 SQL 查询 1 )以 SCOTT 用户身份连入数据库。 2)查询EMP表的所有数据,将每个列以中文形式显示。 3 ) 查询 EMP表,显示部门号为10的所有雇员的NAME 、JOB、SALARY和 DEPTNO,并以工资升序进行排序。 4 )查询名字以“ s ”开始的所有职工。 5 )从 EMP表中查询所有雇员的NAME和补助(SALARY+COMM)。 6 )从 EMP 表和 DEPT 表中查询所有工资低于 2000 的员工信息和其所在的部门信息。 7 )从 EMP 表和 DEPT 表中查询所有 JOB 为 ’CLERK’的员工信息和其所在的部门信息。 8 )查询员工编号为 7900 的员工的月薪,计算其周薪 (/4) 、日薪 (/28) ,对小数部分采取四舍五入保留小数点后两位。(选做) 9 )查询姓名长度大于 4 个字符的员工姓名,将其输出格式设置为首字符大写,其余字符小写

原理+实战掌握SQL注入方法

北城以北 提交于 2019-12-01 02:27:38
本文首发于先知社区 原理+实战掌握SQL注入方法 前言: SQL注入是web安全中最常见的攻击方式,SQL注入有很多方法,但如果只知道payload,不知道原理,感觉也很难掌握,这次就总结一下我所遇到的SQL注入方法,原理分析+题目实战。 0x00 Xpath报错 注入 涉及函数 updatexml():对xml进行查询和修改 extractvalue():对xml进行查询和修改 报错语句构造 select extractvalue ( 1 , concat ( 0x7e , user ( ) , 0x7e ) ) ; mysql > select extractvalue ( 1 , concat ( 0x7e , user ( ) , 0x7e ) ) ; ERROR 1105 ( HY000 ) : XPATH syntax error: '~root@localhost~' select updatexml ( 1 , concat ( 0x7e , version ( ) , 0x7e ) , 1 ) ; mysql > select updatexml ( 1 , concat ( 0x7e , version ( ) , 0x7e ) , 1 ) ; ERROR 1105 ( HY000 ) : XPATH syntax error: '~5.5.53~' 原理分析

SQL练习——查询部门工资最高的员工

拜拜、爱过 提交于 2019-11-30 23:16:32
题目来源于leetcode: 184. 部门工资最高的员工 思路: 首先是分部门的,因此肯定会用到group by ;其次各部门拥有最高工资的员工可能不仅仅只有一个人。 初步解法: 根据需求,可以先查询Employee表中的各部门的最高工资标准,作为一个标准线,代码如下: select Max(Salary) Salary,DepartmentId from Employee group by Employee.DepartmentId -- 各部门最高工资的标准 有了这个工资水平线,就可以用它来和员工工资进行比较,工资等于最高工资的员工使我们需要的结果,代码如下 select d.Name Department,e.Name Employee ,e.Salary from Employee e left join Department d on d.Id=e.DepartmentId left join (select Max(Salary) Salary,DepartmentId from Employee group by Employee.DepartmentId)a on a.DepartmentId = e.DepartmentId where e.Salary = a.Salary   写到这我感觉问题不大了,执行的时候输出也和预期结果一致,但是当我提交的时候

SQL -------- WHERE子句与AND,OR和NOT运算符结合使用。

大城市里の小女人 提交于 2019-11-30 19:08:42
AND, OR and NOT 与 运算符中的且或非的意思相同    WHERE子句可以与AND,OR和NOT运算符结合使用。 and 表示 查询的语句必须全部包含and 连接的两个或多个条件 or 表示 查询的语句包含or连接条件中的其中一个 not 表示 查询的语句中不包含not连接的条件 表中数据: 使用AND 进行查询 语法: select * from 表名 where 表中字段 =对应的数据 and 表中字段 =对应的数据 and ... 把表中满足名字是蒙恬而且性别是男的查找出来,常用于查询单条语句 使用 OR 进行查询 语法: select * from 表名 where 表中字段 =对应的数据 or 表中字段 =对应的数据 or... 把表中满足名字为蒙恬或性别是女的全部查询出来了, 使用NOT 进行查询 语法: select * from 表名 where not 表中字段 =对应的数据 把表中名字不是蒙恬的查找出来 组合查询 同时使用 NOT 和 OR 表示:首先查询出表中名字不是蒙恬的有六条数据    再查询出表中性别是女的有两条数据    最后取他们之间的并集有七条数据 为了方便了解把表中所有的数据列出来 *小小练习:使用and 和 not* 同时使用 and 和 or 进行查询 注意: 要使用() 进行分开,这样方便理解、

MySQL数据库

独自空忆成欢 提交于 2019-11-30 16:59:01
目录 1.MySQL 数据库简介 2.MySQL 数据库的可视化工具 3. 可视化工具的【增删改查】操作 4.php 连接数据库与基本操作配置 5.php 操作数据库【增删改查】操作 6.html 与 php+MySQL 完成前后端交互 1.MySQL 数据库简介 MySQL 是一种开放源代码的关系型数据库管理系统( RDBMS ),使用最常用的数据库管理语言 -- 结构化查询语言( SQL )进行数据库管理。 MySQL 是开放源代码的,因此任何人都可以在 General Public License 的许可下下载并根据个性化的需要对其进行修改。 MySQL 因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下, MySQL 是管理内容最好的选择。 时至今日 MySQL 和 php 的结合绝对是完美 . 很多大型的网站也用到 Mysql 数据库 .mysql 的发展前景是非常光明的 ! 2.MySQL 数据库的可视化工具 (1)phpmyadmin (2)Navicat for MySQL 3.可视化工具【增删改查】操作 (1)phpmyadmin: http://127.0.0.1/phpmyadmin 或者 http://localhost/phpmyadmin (2)navicat for mysql: 下载、安装、破解、连接 ps

MySQL于C#交互练习代码

纵饮孤独 提交于 2019-11-30 15:05:38
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using MySql.Data.MySqlClient; namespace CSharpToPhotonServer { class Program { //cmd.ExecuteReader(); //执行一些查询 //cmd.ExecuteNonQuery(); //插入,删除 //cmd.ExecuteScalar(); //执行一些查询返回一个单个的值 private static void Main(string[] args) { string connectIP = @"server = XXXXX.com;"; string connectPort = @"port = ?????;"; string connectUser = @"user = root;"; string connectPassword = @"password = XXXXX;"; string connectDatabase = @"database = MyGameDB;"; MySqlConnection conn = new

数据库SQL进阶练习4(基于Oracle,个别语法与mysql有差别)

倾然丶 夕夏残阳落幕 提交于 2019-11-30 12:22:46
数据库SQL进阶练习4(基于Oracle,个别语法与mysql有差别) 表架构 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 建表语句 CREATE TABLE student(s# number, sname nvarchar(32),sage number,ssex nvarchar(8)) CREATE TABLE course(c# number, cname nvarchar(32), t# number) CREATE TABLE sc(s# number,c# number,score number) CREATE TABLE teacher(t# number,tname nvarchar(16)) 测试数据 insert into Student select 1,N’刘一’,18,N’男’ from dual union select 2,N’钱二’,19,N’女’ from dual union select 3,N’张三’,17,N’男’ from dual union select 4,N’李四’,18,N’女’ from dual union select 5,N’王五’,17,N’男’ from dual

sql常用语句

匆匆过客 提交于 2019-11-30 11:15:18
--https://liushilive.github.io/ --数据 data --数据库 DB Database --数据库管理系统 DBMS /*学什么 数据定义语言 DDL:create、alter、drop 数据操纵语言 DML:insert、update、delete、select 数据查询语言 DQL:order by、group by 数据控制语言 DCL:grant、revoke 事务控制语言 TCL:commit、rollback、savepoint */ --语法结构:创建用户 create user 用户名 identified by 密码 [account lock|unlock]; --ex: create user tom identified by tom; --语法结构:修改用户密码 alter user 用户名 identified by 新密码; --ex: alter user tom identified by 123456; --语法结构:锁定|非锁定 用户 alter user 用户名 account lock|unlock; --ex: alter user tom account unlock; --语法结构:删除用户 drop user 用户名 cascade; --ex: drop user tom; /*权限-角色

数据库基础

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-30 06:36:01
数据库 MySQL初步 MySQL基础认知 (Oracle真的是走哪祸害到哪23333) Java多用MySQL和Oracle SQLServer也收费,但是还行,比Oracle便宜,一个差不多3w多 SQLite被嵌入到了安卓系统中,主要用于安卓开发,是完全免费的 关于MySQL收费的问题,这篇文章说的很透: 你使用开源软件并不受GPL约束,只有在你基于开源软件,修改开源软件的源码的时候才受 GPL约束。MySQL作为一个开源数据库,几乎所有的用户都只是通过自己的程序去操作这个数据库,不涉及到改动源码的问题,根本不用去考虑是否要遵循 GPL的问题。只有在你修改MySQL源码的情况下,才需要考虑GPL。 如果你只是使用MySQL而不是改写MySQL,那么在这些情况下你应该考虑购买Oracle的商业版本,一是Oracle的商用版本提供的附加组件(监控器、备份工具等)对你有价值,二是Oracle的年度技术支持是你需要的,三是各种潜规则。而不应该是你想合法的使用MySQL才去购买其商业版本。另外,如果你是基于MySQL的源码开发你自己的产品,那么你需要购买的是商业授权,而不是subscription这些商业版本。 除了以上情况,使用社区版就好 关闭服务需要使用管理员权限 服务器无法连接时,要检查服务是否正常开始了 登录MySQL: mysql -uroot -proot /

SQL练习题<2>

谁说我不能喝 提交于 2019-11-30 05:49:37
首先是建立练习使用各种表格(这里使用的是SQL server建立的): use school; -- 创建学生表 create table Student( Sno varchar(20), Sname varchar(20) not null, Ssex varchar(20) not null, Sbirthday datetime, Class varchar(20) ); -- 创建教师表 create table Teacher( Tno varchar(20), Tname varchar(20) not null, Tsex varchar(20) not null, Tbrithday datetime, Prof varchar(20), Depart varchar(20) not null ); -- 创建课程表 create table Course( Cno varchar(20), Cname varchar(20) not null, Tno varchar(20) not null, ); -- 创建成绩表 create table Score( Sno varchar(20) not null, Cno varchar(20) not null, -- 成绩 Degree Decimal ); --添加约束 --为学生表添加约束