web安全基础_数据库基础

目录

数据库,数据库系统,数据库管理系统与sql

两类数据库(关系型与非关系型)

数据库,表,字段,行

数据库约束

数据库基本操作(以Mysql为例)

库操作: 

表操作: 

数据操作: 

order by排序:


数据库,数据库系统,数据库管理系统与sql

这四者的区分还是尤为重要的,所以直接给出这四个的概念

数据库:简称(DB),是存放大量数据的“仓库”,是数据的集合。存放在其中的数据有“永久存储、有组织、可共享”等特点。

数据库系统:简称(DBS),是指带有数据库并利用 数据库技术 进行 数据管理 的计算机系统。

数据库管理系统:简称(DBMS),一个能够科学地组织和存储数据,高效的获取和维护数据的系统软件,位于用户和操作系统之间的数据管理软件。

SQL:一种结构化查询语言。这种语言已发展为人们在构造数据库查询中的一个标准

两类数据库(关系型与非关系型)

关系型数据库:存储格式能直观反映实体间的关系,和创建表格比较相似,表和表之间有复杂的关联关系。例如:Mysql,Oracle,sqlserver,Access

非关系型数据库:分布式,非关系型的,不保证遵循ACID原则的数据存储系统。非关系型数据库以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,不局限于固定的结构,可以减少一些时间和空间的开销。例如:Neo4j、 MongoDB 、 Redis

实际中广泛应用的常见的是关系型数据库。 

数据库,表,字段,行

一般数据库都会分为这4种可操作形式

一个数据库下可以有多个数据库,一个数据库下可以有多个表,一张表下可以有多个字段,一个字段下可以有多行。

相信除了字段以外,别的都很好理解,那么这里就只说字段是什么

字段的解释:

如果把存储的数据想成一张表,那么一个表需要有行,需要有列,每一列都要对应一个属性,例如下面这个表。

姓名 年龄
张三 18
李四 16

那么这个列的属性,姓名和年龄就叫做字段。

在创建表的时候,字段应该是被定义成某一数据类型的。例如姓名这里应该是字符型,那么姓名这一字段就应该被定义为VARCHAR(10),(10)的意思就是10个字符,当然也可以定义的更长。年龄这里应该被定义为数值型INT。还有很多这样的数据类型,在创建表的时候应根据实际情况来选择。

数据库约束

数据库约束用于:对表中的数据进行进一步的限制,保证数据的正确性有效性完整性。例如约束在数据插入时,学号一栏必须非空,再例如约束两张表的某一字段必须相同。这种约束条件共分为5种。

1.主键约束 PRIMARY KEY
2.非空约束 NOT NULL
3.唯一约束 UNIQUE
4.外键约束 FOREIGN KEY
5.默认约束 DEFAULT

这五种约束的作用各不相同,想深入了解可以直接翻课本 

数据库基本操作(以Mysql为例)

在数据库操作之前前先说说数据库连接

mysql -u[数据库用户名] -p[数据库密码]

例如:mysql -u root -p root

库操作: 

1、查看数据库:show databases;

2、创建数据库:create database [数据库名]; 

3、删除数据库:drop database [数据库名]; 

表操作: 

1、查看数据库中的表:show tables;  //这个操作要在一个数据库里执行,要先执行use [数据库名];

2、查看表的字段结构:desc [表名];

3、创建表: create table [表名]; 

4、删除表:drop table [表明];

5.修改表名:alert table [旧表名] rename [新表名]; 

数据操作: 

1、插入数据:insert into [表名](字段1,字段2,字段3) values(值1,值2,值3)

2、删除数据:delete from [表名] where [限定条件]  // delete删除一条记录。指定物理删除

3、更新数据: update [表名] set [字段名]=[值] where [限定条件]

4、查询数据:select * from [表明] where [限定条件]  // * 表示查询全部,要想查询某一字段要把*换为字段名

order by排序:

select * from [表名] order by [字段名]

order by可以在数据库查询时对数据通过某一字段进行排序后显示结果

order by + 数字的话就会以数字所代表的那个字段来进行排序

姓名 年龄 爱好
张三 18

唱歌

李四

17 跳舞
王五 20 篮球

例如select * from [表名] order by '年龄'

就会以年龄所在列进行排序后展示数据,

这跟select * from [表名] order by 2所展示的效果是相同的

因为2所代表的列就是年龄这个字段。

根据这个特性,就可以判断一张表所拥有的字段数

比如这时我输入select * from [表名] order by 3,会以爱好进行排序,

但是如果order by 4呢?

这显然没有第四个字段,这个查询语句就会报错,由此就可以判断这张数据表内只有3个字段。

结语:总之数据库基础还是相当重要的,数据库的基本操作在了解学习过后才能更加深入的学习与数据库相关的可能出现的漏洞。

猜你喜欢

转载自blog.csdn.net/qq_58793845/article/details/128305540