当前位置: 首页 > news >正文

10、SQL注入——数据库基础

文章目录

  • 一、数据库概述
  • 二、数据库分类
    • Mysql数据库连接方法
  • 三、识别数据库
  • 四、SQL语法
    • 4.1 SQL基本语法
    • 4.2 高级操作

一、数据库概述

  • 数据库(database):存储在磁盘、磁带、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合。
  • 数据库管理系统(database management system):一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。
  • 数据库系统(database system):通常由软件、数据库(DB)和数据库管理员组成。软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。
  • 数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理员负责创建、监控和维护整个数据库,是数据能被任何有权的人有效使用。

二、数据库分类

  • 关系型数据库
    • 关系型数据库模型是把负责的数据结构归结为简单的二元关系(即二维表格形式)。通过SQL结构化查询语句存储数据,保持数据一致性,遵循ACID理论。
    • 关系型数据库的典型产品:MySQL、MSSQL、Oracle、PostgreSQL、IBM DB2、Access等。
  • 非关系型数据库
    • 非关系型数据库也被称为NOSQL数据库,NOSQL的产生并不是要彻底否认关系型数据库,而是作为传统关系型数据库的一个有效补充。NOSQL数据库在特定的场景下可以发挥出难以想象的高性能和高效率。
    • 非关系型数据库的典型产品:Memcached、Redis、MongoDB等。

Mysql数据库连接方法

  1. 命令行连接:mysql -h x.x.x.x -u <username> -p
    在这里插入图片描述
  2. PHP脚本连接:mysql_connect(host,username,password,dbname,port,sockert)
    在这里插入图片描述
  3. 第三方软件连接
    在这里插入图片描述

三、识别数据库

(1)默认端口号

Oracle: 1521
Mysql: 3306
SQL server: 1433
PostgreSQL: 5432
mongoDB: 27017
Redis: 6379
MemcacheDB: 11211

(2)报错信息

在这里插入图片描述
(3)各数据库与后端语言的搭配

ASP和.NET: MSSQL
PHP: Mysql、PostgreSQL
Java: Oracle、MySQL

四、SQL语法

4.1 SQL基本语法

	create //创建新的表、视图或其他数据库中的对象alter //修改现存数据库对象drop //删除表、视图或其他数据库中的对象select //从一张或多张表中检索特定的数据insert //创建一条新纪录update //修改记录delete //删除记录grant //赋予用户特权revoke //收回赋予用户的特权

4.2 高级操作

(1)order by
在这里插入图片描述
(2)limit
命令:select * from table limit m,n,其中m是指记录开始的index,从0开始;n是指从第m+1条开始,取n条。

  • 两个参数:第一个是偏移量,第二个是数目。
    select * from employee limit 3,7; // 返回4-10行
  • 一个参数:
    select * from employee limit 3; // 返回前三行

(3)union
在这里插入图片描述

相关文章:

  • 【2023.12.4练习】数据库知识点复习测试
  • dp-矩阵连乘
  • 前后端参数传递总结
  • 毕业项目分享
  • 纯C读取文件实现解析H264裸流每一帧数据
  • 系列十三、SpringBoot的自动配置原理分析
  • 【工具使用-Audition】如何使用Audition频谱分析
  • 鸿蒙(HarmonyOS)应用开发——管理组件状态
  • [ISCTF 2023]——Web、Misc较全详细Writeup、Re、Crypto部分Writeup
  • spring日志输出到elasticsearch
  • 视频文件+EasyDarwin做摄像机模拟器模拟RTSP流很方便,还能做成系统服务,方法与流程
  • 数据结构——二叉树(相关术语、性质、遍历过程)
  • 数据库表的管理
  • 【使用类、全局变量、函数参数进行传参在工程代码中的优缺点】
  • 如何使用gdb调试fork程序
  • Django 博客开发教程 16 - 统计文章阅读量
  • echarts花样作死的坑
  • eclipse的离线汉化
  • ES10 特性的完整指南
  • es的写入过程
  • Intervention/image 图片处理扩展包的安装和使用
  • Java多态
  • JDK9: 集成 Jshell 和 Maven 项目.
  • MySQL的数据类型
  • Objective-C 中关联引用的概念
  • spring + angular 实现导出excel
  • tab.js分享及浏览器兼容性问题汇总
  • 好的网址,关于.net 4.0 ,vs 2010
  • 一个项目push到多个远程Git仓库
  • 用jQuery怎么做到前后端分离
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Java总结 - String - 这篇请使劲喷我
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ![CDATA[ ]] 是什么东东
  • #{} 和 ${}区别
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • $$$$GB2312-80区位编码表$$$$
  • (4)STL算法之比较
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Python第六天)文件处理
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (zhuan) 一些RL的文献(及笔记)
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (一) storm的集群安装与配置
  • (一)Dubbo快速入门、介绍、使用
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)Linq学习笔记
  • (转)大型网站架构演变和知识体系
  • (转)一些感悟
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .net 提取注释生成API文档 帮助文档
  • .NET分布式缓存Memcached从入门到实战