入门MySQL
关于MySQL
作为目前最流行的数据库管理系统,是学习SQL注入的前置条件。本文将简单地梳理MySQL的基本知识,作为对我目前学习过的内容的复习,有不严谨处,欢迎指正。
什么是数据库
数据库(database)是按照数据结构来组织、存储和管理数据的仓库。与文件存储相比,数据库的存储量级远超文件,可以轻松处理上亿数据。所以,我们现在使用RDBMS(Relational Database Management System:关系数据库管理系统)来存储和管理大数据量。
RDBMS的特点:
- 数据以表格形式出现
- 一行对应一组数据
- 一列对应一种属性
- 若干表格组成数据库
RDBMS术语
- 数据库(database):数据库是表格的集合
- 表格(table):表格作为数据的矩阵
- 行(row):一行包含相关联的一组数据
- 列(column):一列包含相同类型的数据
- 主键(primary key):一张表格只能由一个主键,通常用主键查询数据
- 外键(foreign):用于关联表格
MySQL基本的增删改查
MySQL的语法类似自然语言。从操作对象上可以分为对数据库,对表格,对具体数据。
对数据库
1 | CREATE DATABASE `数据库名`; ---创建数据库 |
对表格
我们以这张表格为例(下文的操作都以此为例)。其中student_id是主键。
1 | CREATE TABLE `student`( |
运行后我们就创建了一张名为student的表格,包含了表格的三列:student_id,name,major。
我们可以用如下指令对表格进行操作
1 | DESCRIBE `student`; ---查看表格 |
如下是常用的MySQL的数据类型
1 | INT ---整数 |
对数据
1 | INSERT INTO `student` VALUES(1,'小白','历史'); ---是按照表格设定顺序填入数据 |
以下是常用比较符号
1 | > ---大于 |
关于查询,有以下几种常见的限制条件
1 | ORDER BY `name` DESC(descend)/ASC(ascend); ---按某一属性排序 |
在SQL注入中经常见到select * from table order by 3.
这里的*是通配符,表示查询所有数据。order by 3则是指按照表格固定顺序第三个对数据进行排列。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 djfl的博客!
