sql练习

PyMysql

走远了吗. 提交于 2019-12-22 06:14:16
如何安装pymysql 1.为什么要安装? pymysql是用来连接python和mysql之间的通道,在使用python编程时,通过他来和mysql数据库进行交互 2.怎么安装? 1. 直接用pip安装,pip install pymysql 2. 去github上下载pymysql的安装包, https://github.com/PyMySQL/PyMySQL 将安装包解压到自己某个盘符 在linux下输入命令 tar -zxvf pymysql-master.zip 进入pymysql根目录下打开终端执行命令 python setup.py install pymysql 使用流程 1. 建立数据库连接(db = pymysql.connect(...)) 2. 创建游标对象(cur = db.cursor()) 3. 游标方法: cur.execute("insert ....") 4. 提交到数据库或者获取数据 : db.commit()/db.fetchall() 5. 关闭游标对象 :cur.close() 6. 断开数据库连接 :db.close() 常用函数 db = pymysql.connect(参数列表) host :主机地址,本地 localhost port :端口号,默认3306 user :用户名 password :密码 database :库

sql server操作2:查询数据库语句大全

让人想犯罪 __ 提交于 2019-12-22 04:22:33
注:以下操作均建立在上篇文章sql Server操作1的数据基础之上 一、实验目的 熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询 二、实验内容和要求 使用SQL查询分析器查询数据,练习查询语句的使用,掌握SELECT 语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法。 三、实验主要仪器设备和材料 1.计算机及操作系统:PC机,Windows 2000/xp/win7; 2.数据库管理系统:SQL sever 2005/2008; 四、实验方法、步骤及结果测试 实验题目: 1、对实验一建立的数据库表进行查询 简单查询: 1 题目1、查询学生的系别,用小写字母表示。 2 SQL语句 3 select distinct LOWER(Sdept) from S; 1 题目2、查询叫“刘%”的学生学号、系别 2 SQL语句 3 select Sno Sdept from S where Sname like '刘\%' escape'\'; 1 题目3、查询教师姓名第二个字是“一”的教师姓名,所教课程名。 2 SQL语句 3 select Tname,Cname from C where Tname like '_一_'; 1 题目4、查询没有成绩的学生学号,学号降序排列。 2 SQL语句 3 select S.Sno from S where not

自学sql难题解决方案

点点圈 提交于 2019-12-21 05:44:05
这个网站有助于复习sql知识,网址:http://xuesql.cn/lesson/select_queries_with_aggregates_pt_2 重点解决最后两道题 1.1 角色分组算出每个角色按有办公室和没办公室的统计人数(列出角色,数量,有无办公室,注意一个角色如果部分有办公室,部分没有需分开统计) 考虑用联合查询解决,分别查询有无办公室人数再联合 SELECT role , count ( building ) , "yes" FROM employees a group by role union select role , count ( name ) , "no" from employees b where building is null group by role 1.2 按角色和就职年份统计人数,年份按0-3,3-6,6-9这种阶梯分组,最后按角色+阶梯分组排序 还是用联合查询 select Role , count ( name ) , "0-2" from employees where Years_employed between 0 and 2 group by Role union select Role , count ( name ) , "3-5" from employees where Years_employed between

关于 SQL语句

浪子不回头ぞ 提交于 2019-12-20 06:51:19
数据库相关的SQL 查看所有数据库 show databases; 创建数据库 格式:create database 数据库名称; create database db1; 删除 格式:drop database 数据库名称; 查看数据库详情 格式:show create database 数据库名称; show create database db1; 创建数据库指定字符集 格式:create database 数据库名称 character set utf8/gbk; create database db2 character set gbk; 使用数据库 格式: use 数据库名称 use db1; 表相关SQL 创建表 create table t1(name varchar(10),age int) engine=myisam/innodb charset=gbk/utf8; 查询所有表 show tables; 查询表详情 show create table t1; 查看表字段 desc t1; 修改表名 rename table t1 to t2; 修改表引擎字符集 alter table t1 engine=myisam/innodb charset=gbk/utf8; 添加表字段 alter table t1 add age int first/after xxx

SQL语句练习

前提是你 提交于 2019-12-19 11:13:40
SQL资料:和我们在课堂上所学的较大的不同在于:子查询的位置非常灵活,可以出现在from子句后(需要为此查询取别名),也可以出现在select的目标列中,请仔细读懂下列例子(有的地方取别名直接就空格后出现别名,有的地方是用as后面跟别名的方式)。 注:主要是学习基本语句或短语的用法 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#=’001′) a, (select s#,score from SC where C#=’002′) b where a.score>b.score and a.s#=b.s#; 2、查询平均成绩大于60分的同学的学号和平均成绩; select S#,avg(score) from sc group by S# having avg(score) >60; 3、查询所有同学的学号、姓名、选课数、总成绩; select Student.S#,Student.Sname,count(SC.C#),sum(score) from Student

通过sqli-labs学习sql注入——基础挑战之less1

自闭症网瘾萝莉.ら 提交于 2019-12-19 05:10:11
环境准备: Phpstudy (PHP+Apache+Mysql) Sql-lab 首先了解下基础知识: URL编码: 因为在浏览器中,当我们访问一个网址的时候,浏览器会自动将用户输入的网址进行URL编码,因为Http协议中参数的传输是"key=value"这种键值对形式的,所以会将“=”,“#”等字常见的字符进行URL编码。等号的URL编码为%23,空格是%20,单引号是%27, 井号是%23,双引号是%22等,(详情可参考 http://www.w3school.com.cn/tags/html_ref_urlencode.html) 因为涉及到Mysql数据库,在插入数据库语句时会用到Mysql数据库的注释符 Mysql支持三种注释方式: 1.从‘#'字符从行尾。 2.从‘-- '序列到行尾。请注意‘-- '(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如空格、tab、换行符(用%20或者+表示空格)等等)。 3.从/*序列到后面的*/序列。结束序列不一定在同一行中,因此该语法允许注释跨越多行。 SQL手工注入的基本流程:  1、首先判断是什么类型的注入,有没过滤了关键字,能不能通过加入注释符绕过   2、接着获取当前数据库用户,版本,当前连接的数据库等信息。   3、然后一般是获取用户账户密码的那个数据库表的信息   4、接着获取列信息   5

MySQL

我的梦境 提交于 2019-12-16 10:41:50
# 今日内容 1. 数据库的基本概念 2. MySQL数据库软件 1. 安装 2. 卸载 3. 配置 3. SQL ## 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓库。 3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQL 4. 常见的数据库软件 * 参见《MySQL基础.pdf》 # MySQL数据库软件 1. 安装 * 参见《MySQL基础.pdf》 2. 卸载 1. 去mysql的安装目录找到my.ini文件 * 复制 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" 2. 卸载MySQL 3. 删除C:/ProgramData目录下的MySQL文件夹。 3. 配置 * MySQL服务启动 1. 手动。 2. cmd--> services.msc 打开服务的窗口 3. 使用管理员打开cmd * net start mysql : 启动mysql的服务 * net stop mysql:关闭mysql服务 * MySQL登录 1. mysql -uroot -p密码 2. mysql -hip -uroot -p连接目标的密码 3. mysql

SQL Server附加数据库出现错误5123的正确解决方法

≯℡__Kan透↙ 提交于 2019-12-15 01:35:19
因为自己有一本基于SQL Server 2005的数据库教程,里边使用的示例数据库是AdventureWorks for SQL Server 2005,而我的机子上装的是SQL Server 2008,示例数据库是AdventureWorks for SQL Server 2008。起初我以为示例数据库AdventureWorks for SQL Server 2005 与AdventureWorks for SQL Server 2008 数据库结构应该差不多,可是在练习的过程中,我发现两个数据库中很多表的结构还是有很多不一样的地方。于是决定到微软下载中心将示例数据库AdventureWorks for SQL Server 2005下过来,附加到SQL Server 2008上,以便顺利进行练习。我以SQL Server 2008的超级管理员账户“sa”连接登录到实例SQLSERVER2008: 在附加示例数据库AdventureWorks for SQL Server 2005时,弹出了下图这个错误: 仔细看了一下主要信息“尝试打开或创建物理文件......时,CREATE FILE遇到操作系统错误 5(拒绝访问。)” ,一看就知道应当是对要附加的数据文件的操作权限不够。 按一般的思维习惯,我们会对操作权限不够的文件授予足够的操作权限。比如,有网友说

SQL 查询

半腔热情 提交于 2019-12-13 01:11:01
查询数据(SELECT)(重点/掌握) 基本查询语句的语法 select * from 表名;—默认查询所有字段的数据 select 字段1,字段2,字段3 from 表名; —查询指定的字段的数据 DISTINCT —去除掉重复的关键字 可以在查询的时候进行运算 SELECT username,math+10,english+10,chinese+10 FROM stu; 用as的关键字,起别名查询 查询语句可以使用as的关键字,起别名。 别名的真正的用法,采用的多表的查询,为了区分每张表,表起个别名。 as的关键字可以省略不写,中间需要使用空格。 一般都是给表来起别名 select s.username,s.math from stu s; select s.username,u.username from stu s.user u 使用where的条件语句,进行查询条件的过滤。 练习 创建表做练习 CREATE TABLE stu ( id int(11) NOT NULL AUTO_INCREMENT, username varchar(20) DEFAULT NULL, math int(11) DEFAULT NULL, english int(11) DEFAULT NULL, chinese int(11) DEFAULT NULL, PRIMARY KEY (id

猫舍靶场

二次信任 提交于 2019-12-13 00:00:42
靶场练习链接: http://59.63.200.79:8003/?id=1 http://117.167.136.245:10180/?id=1 大体思路: 判断是否存在SQL注入漏洞 判断字段数量 根据上步字段数量,联合查询判断回显位 来源: https://www.cnblogs.com/weaKn19ht/p/12032297.html