数据库简述与常用操作指南 数据库的建立

【数据库简述与常用操作指南 数据库的建立】数据库的建立(数据库的简要说明和常用操作指南)
最近在学习写接口自动化的时候,在以后的代码调试和自动集成过程中,不可避免的会产生大量的测试数据 。久而久之,这些用过的没用的数据就会长期存放在数据库里 。一方面会占用空空间,另一方面页面会一直显示 。因为项目本身没有删除历史数据的操作要求,所以要连接数据库,从数据库表中删除这些无用的数据 。因此,本文将简单介绍和操作数据库 。
背景介绍在互联网行业兴起的今天,数据不断被信息化,各行各业都开始使用各种程序来管理数据,向无纸化存储过渡,运行程序必将产生大量的数据 。这些数据需要在以后持久化和维护 。因此,合理使用数据库可以高效、有组织地存储数据,并使人们能够更快地从大量信息中提取自己需要的东西 。
与传统的纸质管理相比,数据库的优势如下:
(1)传统论文在大量数据面前无法快速搜索,容量也不足以和数据库相比 。增加产能相当于增加成本 。使用数据库,设计合理的主键和外键,可以优化查询效率,减少数据冗余 。
(2)很多情况下,把数据放入数据库也是出于安全考虑 。如果所有账号密码都放在纸质文件里,保密性会降低 。水火无情,不能排除这些因素对纸张的损害 。存储在数据库中,加密,及时备份数据库,可以极大的保证数据的安全性 。
(3)数据库技术可以与智能分析联系起来,产生新的有用信息 。今天的大数据分析是对大量真实数据进行提取和判断,从而产生新的结论 。比如根据用户的个人喜好,提取用户浏览购买的记录信息,结合推荐算法,将符合自己口味的产品或短视频推送给广大用户 。
1.数据库的分类在当今的互联网中,最常见的数据库模型主要有两种,即关系数据库和非关系数据库:
1.1关系数据库简单来说,关系模型是指二维表模型,关系数据库是由多个二维表通过主键和外键连接而成的数据组织 。
关系中常用的概念:
(1)关系:可以理解为二维表格 。每个关系都有一个关系名,通常称为表名 。
(2)属性:可以理解为二维表中的一列,也就是数据库中常说的字段 。
(3)域:属性的取值范围,即数据库中某一列的取值限制 。
(4)关键字:通常在数据库中称为主键,由一列或多列组成 。
关系数据库的优势:
容易理解:二维表结构是一个非常接近逻辑世界的概念,关系模型比网络、层次等其他模型更容易理解 。
易于使用:通用SQL语言使得操作关系数据库非常方便 。
易于维护:丰富的完整性,大大降低了数据冗余和数据不一致的概率 。
当然,关系数据库也有其瓶颈:
当存在高并发读写时,每秒可能会有数万个读写请求 。对于传统的关系数据库,硬盘I/O是一个很大的瓶颈 。
当产生海量数据时,对于关系数据库来说,查询效率会不断降低 。即使SQL查询不断优化,也会有一个永远无法突破的上限 。
1.2非关系数据库的分类非关系数据库严格来说不是数据库,而是结构化数据存储方法的集合 。
用于高性能并发读写的键值数据库;
键值数据库的特点是高并发读写性能,如Redis,其数据以键值对的形式组织、索引和存储,键值与值值映射 。它可以用作缓存并存储在内存中 。这样就不需要为每个单独的请求重新渲染页面,从而达到快速响应的目的 。
面向海量数据访问的文档数据库;
这类数据库的特点是可以在海量数据中快速查询数据 。典型代表是MongoDB,它是介于关系型数据库和非关系型数据库之间的产物 。它是非关系数据库中最丰富、最像关系数据库的 。它支持类似json的bson格式,因此可以存储更复杂的数据类型 。
2.数据库的常见操作2.1关系数据库本文以MySQL为例,简单介绍一下常见的操作语句 。现在大多数服务器都部署在Linux上,所以需要按照说明来完成:
(1) enable:在终端输入“service mysqld start”启用mysql 。
(2)检查状态:在终端中输入“服务mysqld状态”,检查mysql的启用状态 。
(3)停止:在终端输入“service mysqld stop”停止启动mysql 。
(4)登录MySQL: MySQL-U用户名-p用户密码 。比如(用户名:张山,密码:123): mysql-u张山-p123
(5)创建数据库:创建数据库数据库名称
(6)删除数据库:删除数据库数据库名称
(7)使用数据库:使用数据库数据库名称
(8)创建表单:
创建表名(
-> id int not null auto _ increment,//添加一个名为id的整数字段,不能空,列自增 。
-> title varchar (100)不为null,//添加一个名为title的新字符串字段,不能是空
->主键(id )//将id设置为主键
->)ENGINE = InnoDB default charset = utf8;//使用InnoDB数据库引擎以utf8(中文)编码和存储数据库表
(9)删除数据库表:删除表名
(10)新数据库表数据:插入表名(字段1,字段2,...字段n)值(值1,值2,...值n);
(11)删除数据:从title= "test "的表名中删除
(12)查询数据库表:*查询所有字段:从表名中选择*;
一些查询字段:从表名中选择字段1、字段2;
按条件查询(where后跟查询条件):select * from表名where title = " test
多表查询:select * from表名A,表名B其中table A . title = table B . title;
模糊查询:select * from表名,其中标题如“% test %”;
按字段的正反顺序查询:从表名中选择*按标题排序desc/ASC;//升序,默认使用,但是:asc可以省略,降序:desc 。
2.2非关系数据库以MongoDB为例,简单介绍一下常用的操作语句 。现在大多数服务器都部署在Linux上,所以需要按照说明来完成:
(1)启用:需要进入终端,将光盘放入mongodb目录下的bin文件夹,使用 。/mongo 。
(2)检查状态:在终端输入netstat-lanp | grep“mongodb端口号”检查MongoDB的启用状态 。
(3)停止: 。/mongod-shut down;
(4)登录:mongo -主机IP地址-u用户名-认证数据库数据库名称-p密码//例如:用户名张三,密码123: Mongo-Host127.0.0.1-U张三-认证数据库admin-P 123
(5)创建数据库:使用数据库名称 。使用时,如果数据库不存在,系统会自动创建 。如果存在,就会切换 。
(6)删除数据库:db.dropDatabase() 。您必须首先使用要删除的数据库,然后调用此语句 。
(7)创建一个集合:db.createCollection("集合名称")
(8)删除集合:db.collection name.drop()
(9)新文档:var _ data1 = {姓名:'张三',年龄:10,性别:“男”};db . collection name . insert(var _ data1)
(10)删除文档:db . collection name . remove({ " name ":"张三" }) (11)查询文档:
查询所有文档:db.collection name.find() 。蛮();
根据条件查询:db . collection name . find({ " age ":10 })
反向查询:db.collection name.find() 。sort ({"price": 1})//1:按升序-1:按降序
模糊查询:db . collection name . find({ name:/张三/});
3.数据库远程操作软件上一点介绍了使用linux命令行连接数据库 。当然,您也可以使用远程连接工具直观地访问数据库 。这里以Navicat Premium 15为例,简单介绍一下MySQL与mongoDB的远程连接以及常见操作 。
3.1 MySQL数据库(1)选择文件-新建链接-"MySQL 。
(2)输入要连接的数据库信息,点击测试连接,提示成功即可使用 。
(3)点击新建查询,输入SQL语句,即可执行 。
3.2 MongoDB数据库(1)选择“连接”-“MongoDB”
(2)如果有认证,需要选择“密码”
(3)输入要连接的数据库信息,点击测试连接,提示成功即可使用 。
(4)点击新建查询,输入SQL语句,即可执行 。
4.摘要在学习自动化的同时,对数据库有了更深入的了解 。通过看数据库表的设计,可以对项目的结构和业务有更深入的了解 。这可以帮助我们在以后的测试工作中发现更多潜在的缺陷 。本文只是简单描述了一些常用的数据库语句,在面对复杂的数据库操作时显然是不够的,这也给了我另一个学习的方向,让我不断完善,更加全面 。

    推荐阅读