后端基础SQL—数据库简介与SQL语法
数据库简介与SQL语法
1、数据库简介
2、数据库结构
3、SQL语句
4、SQL基本语法
5、MySQL基础查询语句
6、高级查询与子查询
7、渗透测试常用函数
8、判断闭合类型
一、数据库简介
数据库(Database)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的、我们可以通过数据库提供
的多种方法来管理数据库里的数据更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同
常见数据库:Oracle Database甲骨文公司、SQL Server微软公司、DB2IBM公司、PostgreSQL开源、MySQL开源、Access微软
数据库种类虽然很多,但它们在语法层面有很多相通之处
二、数据库结构
服务端、客户端、库、表、字段、记录
服务端,用于接收并处理其他程序发出的请求的程序,或安装此类程序的计算机
客户端,向服务器发出请求的程序,或安装此程序的计算机
库,多个表组成的数据集合
表,由行和列组成的二维表,类似excel
字段,表的列,垂直方向,表格的表头
记录,表的行,水平方向,表格里的数据
PS:关系数据库必须以行为单位进行记录读写
三、SQL语句
SQL语句,用于存取数据以及查询、更新和管理 关系数据库系统 ;sql 语句就是对数据库进行操作的一种语言。
DDL(数据定义语言)、DML(数据操作语言)、DCL(数据控制语言)
第一种,DDL(数据定义语言),创建、修改或删除数据库以及数据库中的表等对象
· CREATE:创建数据库和表等对象
· DROP:删除数据库和表等对象
· ALTER:修改数据库和表等对象
第二种,DML(数据操作语言),查询或修改表中的数据
· SELECT:查询表中的数据
· INSERT:向表中输入数据
· DELETE:删除表中数据
· UPDATE:修改表中的数据
第三种,DCL(数据控制语言),确认或取消对数据库中的数据变更的执行操作,以及对用户的操作数据库中的对象权限进行设定
四、SQL基本语法
数据库操作
· CREATE DATABASE name 新建数据库
· SHOW DATABASES 查看所有数据库
· DROP DATABASE name 删除数据库
· USE name 进入数据库
数据表操作
· CREATE TABLE table_name 新建表
· SHOW TABLES 查看所有数据表
· DROP TABLE table_name 删除表
· DESC table_name 查看表的类型
· ALTER TABLE table_name DROP column_name 删除表里的字段
· ALTER TABLE table_name ADD column_name column_type 添加表里的字段
· ALTER TABLE table_name CHANGE 原字段 改成的字段 改成字段的数据类型; 修改字段
PSone 字段属性
· PRIMARY KEY 主键 不能为空且唯一
· CHARACTER SET utf8 设置编码
· AUTO_INCREMENT 自增长
· NOT NULL 数据不能为空
PStwo 数据类型
· varcher(255)字符串
·char
·int 整数
·float 浮点
表数据操作
· INSERT INTO table_name (username,password)VALUES ('admin','admin')插入数据
· UPDATE table_name SET column_name=要改成的数据 where 条件;修改数据,若没有where及后面的条件默认该字段下数据全改
· DELETE FROM table_name where column_name=字段值;删除数据
· SELECT *FROM table_name 查看表里数据
· SELECT column_name FROM table_name 查看表里某个字段里的数据
· SELECT DATABASE()查询当前库名
PSthere SQL语句书写规范
· 以英文分号结尾
· SQL语句不区分大小写,但是插入表中的数据区分
·单词使用英文空格或换行符隔开
五、MySQL基础查询语句
· select*from table_name order by column_name[ASC默认|ESC]; 字段排序,默认正序,后面加desc则为降序
order by 字段序数; 根据第几个字段排序。
· select*from table_name order by 字段序数。
· select*from table_name limit n,m; n表示从第几行开始(0开始数),m表示取几条
MySQL通配符模糊查询
'%' 百分号通配符,任何字符出现任意次数。
'%a%' => 包含a的数据,'%a' => 结尾是a的数据,'a%' => 开头是a的数据
'_' 下划线通配符,只能匹配单个字符,可以叠加
'a_' ‘a__' 'a____' ……
· select*from table_name where column_name like '%a%'; 模糊查询
· +、-、*、/、%(取余) 运算符
· NOT(!)、AND(&)、OR(| 分隔符)
· select sleep(秒数) 延时
六、高级查询与子查询
联合查询
· union 联合查询
select column_name from table_name union select column_name from table_name
条件,表里的要输出字段数必须相同
PS:前面的数据和后面的数据相同,则输出一个
子查询
子查询,当一个查询的结果是另一个查询的条件时称为子查询
简单理解,子查询就是先执行括号里的东西,然后执行的结果作为另一个查询的条件
· select*from a where xh=(select 98);
简单理解,拆分理解
select 98; => 98
select*from a where xh=98;
七、渗透测试常用函数
· GROOUP_CONCAT(column_name); 返回由属于一组的列值连接组合而成的结果
· DATABASE(); 返回当前数据库名
· VERSION(); 返回MySQL服务器版本
· SLEEP(); 休眠N秒
八、判断闭合类型
SQL语句的闭合类型:整型闭合、单引号闭合、双引号闭合、单引号加括号、双引号加括号
1、整形闭合
SELECT * FROM admin WHERE id=1; //整形闭合
模拟注入
?id=1' => 报错
?id=1'' => 报错
判断为整形闭合
2、单引号闭合
SELECT * FROM admin WHERE id=‘1’;
模拟注入
?id=1' => 报错
?id=1'' => 正常返回id=1的值
判断为单引号或者单引号括号闭合
任何闭合方式都这样在没有遇到相对应的闭合时,都会把这个符号当作一个整体,注释符也不例外
再次模拟注入
?id=1'-+ => 无报错 => 单引号闭合
?id=1'-+ => 报错 => 单引号括号闭合
3、双引号闭合
SELECT * FROM admin WHERE id="1"; //双引号闭合
?id=1' => 正常返回id=1的值
?id=1" => 报错
判断为双引号闭合或者双引号括号闭合
再次模拟注入
?id=1"-+ => 无报错 => 双引号闭合
?id=1"-+ => 报错 => 双引号括号闭合
4、总结
判断闭合类型
首先尝试:?id=1'
?id=1"
不报错 => 整形闭合
报错 => 单引号报错 ,双引号不报错 => 尝试 ?id=1'-+ => 无报错单引号闭合,报错单引号加括号闭合
报错 => 单引号不报错,双引号报错 => 尝试 ?id=1"-+ => 无报错双引号闭合,报错双引号加括号闭合
后端基础SQL—数据库简介与SQL语法的更多相关文章
- 数据库之一、数据库简介及SQL概要
1.数据库简介: 数据库(Database,DB)是一个长期存储在计算机内的.有组织的.有共享的.统一管理的数据集合.简单来讲就是可以放大量数据的地方.管理数据库的计算机系统称为数据库管理系统(Dat ...
- MySql数据库基础之数据库简介及安装
MySql数据库简介: 众所周知,MySql数据库是一款开源的关系型数据库,在Web应用方面,MySql是最好的.最流行的RDBMS(Relational Database Management Sy ...
- 跨服务器备注SQL数据库 分类: SQL Server 2015-03-05 08:52 227人阅读 评论(0) 收藏
任务:把服务器1上的SQL数据库自动备份到服务器2上,命名格式=数据库名+年月日+小时. 说明: 服务器2=>192.168.0.22 数据库名=>Book 共享文件夹路径:192.168 ...
- 网络安全从入门到精通 (第二章-2) 后端基础SQL—MySQL数据库简介及SQL语法
本文内容: 什么是数据库 常见数据库 数据库的基本知识 基本SQL语法 1,什么是数据库? 数据库就是将大量数据保存起来,通过计算机加工,可以高效访问的数据聚合. 数据库就是长期存储在计算机内,有组织 ...
- 【HTML5】HTML5本地数据库(Web Sql Database)
Web Sql数据库简介 Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库. Web SQL数据库的浏览器支持情况 Web SQL 数 ...
- SQL数据库学习,常用语句查询大全
数据库学习 sql server数据库基本概念 使用文件保存数据存在几个缺点: 1.文件的安全性问题: 2.文件不利于查询和对数据的管理: 3.文件不利于存放海量数据 4.文件在程序中控制不方便. 数 ...
- (译)Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机
Windows Azure的7月更新:SQL数据库,流量管理,自动缩放,虚拟机 今早我们释出一些很棒的Windows Azure更新.这些新的提升包括:SQL数据库:支持SQL自动导出和一个新的高级层 ...
- Windows Azure 微软公有云体验(一) 网站、SQL数据库、虚拟机
Windows Azure 微软公有云已经登陆中国有一段时间了,现在是处于试用阶段,Windows Azure的使用将会给管理信息系统的开发.运行.维护带来什么样的新体验呢? Windows Azur ...
- 修改SQL数据库中表字段类型时,报“一个或多个对象访问此列”错误的解决方法
在SQL数据库中使用SQL语句(格式:alter table [tablename] alter column [colname] [newDataType])修改某表的字段类型时,报一下错误:由于一 ...
- 一个最简单的使用Entity Framework 查询SQL 数据库的例子
1.ADO.NET 3.5 Entity Framework是随着.net framework 3.5一起发布的,确认开发环境版本是大于等于3.5版本 2.确认已经安装了ADO.NET 3.5 Ent ...
随机推荐
- 使用Docker部署Tomcat
目录 使用Docker部署Tomcat 1. 获取镜像 2. 第一次启动tomcat 3.带参数启动 4.查看tomcat日志 5.时区问题 使用Docker部署Tomcat 1. 获取镜像 dock ...
- 【操作系统和计网从入门到深入】(四)基础IO和文件系统
前言 这个专栏其实是博主在复习操作系统和计算机网络时候的笔记,所以如果是博主比较熟悉的知识点,博主可能就直接跳过了,但是所有重要的知识点,在这个专栏里面都会提到!而且我也一定会保证这个专栏知识点的完整 ...
- PicGo + Gitee 实现 Markdown 图床
最近再研究图床,注册的阿里云域名备案还在审批,所以七牛云图床暂时没用,所以试下用PicGo+ Gitee PicGo - 基于 electron-vue 开发的图床工具 PicGo目前支持了微博图床, ...
- 音频处理实用AI工具
最近在做音频处理相关的工作,主要有以下几个好用的工具. 1. 语音转文字--whisper 这是一款由OpenAI开发的语音转文字工具,项目地址位于:openai/whisper. 这个工具是用来生成 ...
- 除了mysql 和 sql server, 你还有另外一种选择 postgreSQL
数据库的重要性,不用多说.数据库的名字,大家应该也知道很多.就国内来说,使用者最多的应该是mysql 和sql server,大企业用ORACLE的也不在少数. 就我个人而言,在使用.NET的时候,基 ...
- springboot log 没落盘
在配置文件中增加了下面的配置并不起作用. logging.file=/xx/xx.log 是因为在 springboot 2.2 版本之后上面的采纳数已经被废弃,需要用下面新的参数: logging. ...
- Linux-nmon系统监控工具
一.Nmon介绍 Nmon得名于 Nigel 的监控器,是IBM的员工 Nigel Griffiths 为 AIX 和 Linux 系统开发的,使用 Nmon 可以很轻松的监控系统的 CPU.内存.网 ...
- C#对于加密的一点整合 (AES,RSA,MD5,SHA256)
aes 对称加密 密钥必须是32字节 using System; using System.Security.Cryptography; using System.Text; namespace C ...
- 测距工具部分情况下无效的问题解决 - 高德JSAPI
最近项目中新增了一个需求是在地图上新增一个测距工具,方便看一下距离 高德官方本身自带了有一个测距工具类的 RangingTool ,以插件的方式引入即可 问题一: 如果地图上有覆盖物的话(我这是 po ...
- Skywalking-Aop Docker单机环境搭建
1.OAP-SERVER和UI环境搭建 本次搭建是基于MySQL进行持久化,因此需要提前准备好一个MySQL容器 (MySQL容器部署略过).如有错误还请指正. 1.1 OAP服务搭建 拉取skywa ...