数据库概述
1、什么是数据库管理系统?
数据管理系统是一种在数据库中组织和存储数据的软件应用程序。
常见的数据库管理系统分为两大类:关系型数据管理系统和非关系型管理系统
关系型数据库:MySQL、Oracle、SQL Server、Access
非关系型数据库:MongoDB
2、什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
3、MYSQL当中默认的库
information_schema:sys表是MySQL 8.0版本引入的新系统表,用于提供更方便和易读的方式来查询和操作MySQL服务器的元数据和性能信息。
performance_schema:performance_schema是MySQL中用于存储性能相关信息的系统数据库。
mysql:mysql表是MySQL中存储用户和权限信息的系统表,用于管理用户、授权和权限等。
informance_schema:information_schema是MySQL中用于存储数据库和表的元数据信息的系统数据库。它提供了一系列的表,用于查询和管理数据库的结构和 属性。这些表包括tables、columns、schemata等。我们可以通过查询information_schema来获取数据库和表的详细信息。
sql注入中常用information_schema库当中schemata、tables、columns表
information_schema.schemeta:存储了数据库当中所有数据库的库名
information_schema.tables:存储了数据库当中所有数据库表名
information_schema.columns:存储了数据库当中所有字段名
数据库相关操作
1、连接数据库
mysql -u[用户名] -p[密码]
e.g :mysql -uroot -p
2、查看数据库
show databases;
3、创建数据库
create database [数据库名];
e.g:create database student_grade;
4、使用数据库
use student_grade;
5、删除数据库
drop database [数据库名];
e.g:drop database student_grade;
6、断开服务器连接
exit
表的相关操作
1、创建表
create table [表名]{
字段名1 数据类型 [列级约束],
字段名2 数据类型 [列级约束],
......
表级约束
};
e.g
create table grades(
id int(32) primary key,
name varchar(32),
grade int(32),
class varchar(32)
);
2、查看表
show tables;
3、查看表的结构
describe [表名]; 简写desc [表名];
e.g:desc student_grade;
4、常见约束
常用约束类型有:
(1)primary key 单一主键约束,primary key(字段名1,字段名2) 联合主键
(2)foreign key 外键约束
(3)unique 唯一约束 ,取值不能重复,但允许有一个为空
(4)null 为空约束(系统默认的)
(5)not null 非空约束
(6)default 值 默认约束,给定字段一个默认值,
(7)auto_increment 自增约束,默认情况下初始值和增量都为1。
5、删除表
drop table [表名]
表的增、删、改
1、插入数据
intert into
[表名](字段1,字段2,字段3,字段4)
values(value1,value2,value3,value4);
e.g
intert into
grades(id,name,class,grade)
values(1,"王有为","1班",90),
(1,"李有钱","2班",89),
(1,"任有才","3班",85),
(1,"刘有富","4班",97);
单表查询
1、基础查询
select * from [表1]
:查询表1当中所有数据
select [字段1] from [表2]
:从表2当中查询字段1
2、where子句
select * from [表1] where 条件1
:查询表1当中查询同时满足条件1的数据
select * from [表1] where 条件1 and 条件2
:从表1当中查询同时满足条件1和条件2的数据
3、UNION查询
UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合,并去除重复的行。
select * from [表名] where 条件1 union select * from [表名] where 条件2