Try   HackMD

第二周和第三周—sql 基础学习—Lhaihai—243

tags: 信安之路

任务名称:认识 sql 并学习数据库的基础操作

任务介绍:
1、什么是关系型和非关系型数据库,两者都包含哪些种类的数据库(理解两者的区别)

2、选择一种关系型数据库进行学习(选择自己不熟悉的进行学习,因为不同的数据库,其特性也不同,所以可以选择不熟悉或者感兴趣进行研究学习)

3、学习数据库中的字段类型并创建库和用户表,需要包含所有字段类型(主要熟悉数据库的基本使用,可以自由创建、删除、修改数据库和表)

4、学习数据库的增删改查,记录学习过程(重点是 sql 语句的理解)并形成报告(最终结果)

任务名称:数据库系统表相关学习

1、如何利用数据库的功能读写文件,需要什么样的条件才可以读写

2、学习数据库系统表的功能,如何利用 sql 语句查询库名、表名、字段名、内容以及当前用户等基本信息,将学习过程中关键部分整理成报告

扩展学习:尝试查询出用户的 hash,并使用 hashcat 来对获取的 hash 进行暴力破解

关系型数据库

关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。

关系型数据库有:

Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL

非关系型数据库

非关系型数据库是不同于传统的关系数据库的数据库管理系统。

非关系型模型比如有:

列模型:存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列为一个记录。(这种模型,数据即索引,IO很快,主要是一些分布式数据库)

键值对模型:存储的数据是一个个“键值对”,比如name:liming,那么name这个键里面存的值就是liming

文档类模型:以一个个文档来存储数据,有点类似“键值对”。

非关系型数据库有:

列模型:Hbase,HadoopDB
键值对模型:redis,MemcacheDB
文档类模型:MongoDB,CouchDB

MySQL 基础操作

mysql 数据类型:https://www.w3cschool.cn/mysql/mysql-data-types.html

数据库

显示数据库
show databases;

创建数据库
create databases test1;

使用数据库
use test1;

创建表

create table test (
	id int not null auto_increment primary key,
	username varchar(100) not null,
	passwd varchar(100) not null,
	time timestamp default current_timestamp
);

删除表

drop table test:

修改表

增
alter table test add i int;

删
alter table test drop i;

查
show columns from test;

改
alter table test modify i float;
alter table test change i i varchar(10);

修改表名

alter table test rename to test_table;

操作表

增
insert into test values (1,"test","test",current_timestamp);

删
delete from test where id=1;

查
select * from test;
select id,username from test where time>"2019-10-05 22:03:00";


改
update test set id=2 where id=1;

参考链接

[1] 什么是数据库?什么是关系数据库?什么是非关系型数据库?

https://www.cnblogs.com/progor/p/8729798.html

[2] https://www.w3cschool.cn/

[3] https://www.runoob.com/mysql/mysql-tutorial.html