知方号

知方号

Java代码审计

Java代码审计

1、基础理论介绍1.1、数据库类型

数据库现在比较常见,很多企业都会使用数据库来管理存储数据,常见的数据库划分类型有,关系型数据库和非关系型数据库;

关系型数据库

采用了关系模型来组织数据的数据库,简单来说,关系模型就是二维表格模型,而一个关系型数据库就是由二维表及其之间的练习所组成的一个数据组织;

非关系型数据库

指非关系型的,分布式的,且一般不保证遵循ACID原则的数据库存储系统,以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,不局限于固定的结构,可以减少一些实践和空间来开销,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合;

1.2、常用的关系型数据库

MySQL是由瑞典MySQL AB公司开发,目前属于Oracle旗下的产品,是目前应用最广泛的开源关系数据库;

SQL Server 2000年12月微软发布了SQL Server 2000,该软件可以运行于Windows NT/2000/xp等多种操作系统之上,是支持客户机/服务器结构的数据库管理系统,它可以帮助各种规模的企业管理数据;

Access这款数据库是由微软发布的,通常利用ASP技术在IIS上运行,但是由于Access是小型数据库,在很多的使用上都有着局限性;

Oracle 是1983年推出的世界上第一个开放式商品化关系型数据库管理系统,它采用标准的SQL结构化查询语句,支持多种数据类型,提供面向对象存储的数据支持,具有第四代语言开发工具,支持Unix,Windows NT等多种平台;

1.3、常用的非关系型数据库

Redis 是一个开源的键值存储,支持主从式复制,事务,Pub/Sub,Lua脚本;

Memcached一个开源,高新能,分布式内存缓存系统,旨在通过减少数据库负载来加速动态web应用程序;

MongDB 是一个面向文档的开源NoSQL数据库,MongoDB使用JSON之类的文档来存储任何数据;

Hbase 是谷歌为Big Table数据库设计的分布式非关系数据库;

1.4、二者的区别与练习

关系型数据库最大的优点就是事务的一致性,这个特性,使得关系型数据库中可以适用于一切要求一致性比较高的系统中,比如:银行系统;

关系型数据库为了维护一致性所付出的巨大的代价就是读写性能比较差,对于并发读写能力要求极高的应用,关系型数据库无法应付,所以必须用一种新的数据结构存储来替代关系型数据库;

非关系型数据库无事务处理,没有保证数据的完整性和安全性,合适处理海量数据,但是不一定安全;

2、基础环境搭建2.1、MySQL数据库的搭建

1)快速启动mysql数据库

phpstudy是一个php调式环境的程序集成包,PHP+Mysql+Apache,phpstudy已经集成好了各种版本的mysql和php多个版本,非常方便;

完成下载后,直接选择好版本,直接启动;

2)使用navicat连接mysql服务后可进行相关操作,连接成功后,打开数据库,可以打开数据表,也可以执行相关的SQL命令;

2.2、MySQL数据库配置

MySQL安装包:https://dev.mysql.com/downloads/mysql/

MySQL安装教程:https://www.runoob.com/mysql/mysql-install.html

按照步骤来,就可以成功安装MySQL数据库;

MySQL允许远程连接

mysql>GRANT ALL PRIVILEGES ON .TO ‘root’@‘%’ IDENTIFIED BY‘密码’ WITH GRANT OPTION; mysql>flush privileges

MySQL开启日志记录,找到MySQL的配置文件my.ini,在[Mysqld]中port参数下方添加一行记录:log=”C:/ENV/PHPstudy/PHPTutorial/MySQL/data/mysql50_log.txt”保存后重启数据库,此时会在指定的路径下新增一个日志文件;

3、在线SQL练习平台3.1、SQL Fiddle

http://sqlfiddle.com/,SQL Fiddle支持MySQL,SQL Server,SQLite等主流的SQL引擎,在这里可以选择练习的数据库及其版本号;

3.2、SQLZOO

https://sqlzoo.net/,SQLZOO包括了SQL学习的教程和参考资料,支持SQL Server,Oracle,MySQL,DB2,PostgreSQL等多个数据库引擎;

3.3、SQL Bolt

https://sqlbolt.com/SQLBolt 是一个适合小白学习 SQL 的网站,这里由浅及深的介绍了 SQL 的知识,每一个章节是一组相关的 SQL 知识点,且配备着相应的练习;

4、SQL语法学习

SQL(Structured Query Language:结构化查询语言)用于管理关系数据库管理系统(RDBMS),可以访问和处理数据库,包括数据库插入,查询,更新和删除;

提示:SQL对大小写不敏感

分号:分号是在数据库系统中分割每条SQL语句的标准方法,这样可以在对服务器的相同请求中执行一条以上的语句;

4.1、SELECT查询

SELECT语句用于从数据库中选取数据;

语法格式:SELECT column_name FROM table_name;或SELECT * FROM table_name;

参考

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。