数据库知识总结

一、数据库概述

1.为什么软件测试工程师还需要学习数据库以及开发方面的知识?

1、测试工程师的目的是找出软件的不足,并告诉开发工程师,出现问题的环境,操作步骤和输入输出数据;优秀的测试工程师,需要告诉开发团队,软件的不足,这类不足会导致什么情况,如何避免,以及如何去修改(这是为什么高级软件测试工程师比开发工程师工资高的原因)。

2、测试工程师在测试软件过程中,不仅仅需要在界面进行操作,还需要检查数据库中的数据是否正确,从而在软件出现问题时候,能够定位到问题原因;

3、 学习数据库,掌握数据库操作,增加面试成功机会,可以提高工资。

2. 什么是数据库

数据库=多张表+各表之间的关系

3. 常见数据库

1、Oracle是最挣钱的数据库,出自甲骨文公司,市场占有率非常高,功能非常强大,被一些大型企业,电信,银行,证券公司、金融公司所使用,市场占有率第一。

2、MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL目前最流行的开源数据库,被甲骨文公司所占用,威胁着老大Oracle的地位,开源,免费,支持多平台,简单易学易操作,市场占有率第二。

3、Redis,最好的内存级数据库,查询效率极高,并且在Redis 3.0之后,支持多种数据类型,String,Set,List,Hash等类型,开始支持集群,弥补了自身短板。是目前做缓存最流行的数据库

4、SQLite,最流行的嵌入式数据库,占领手机行业的绝对领导者地位,Android和IOS两大手机系统,都内嵌了SQLite数据库,SQLite是一个完整的关系型数据库,支持标准SQL,支持事务操作,程序包非常小,是嵌入式设备的最佳选择。

4.数据库和SQL是什么关系?

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

数据库里面放着数据,而SQL是用来操作数据库里数据的语言(工具)。

例如有一碗米饭(碗就是mysql,里面放的米是数据),你要吃碗里的米饭,拿什么吃?拿筷子(sql)。用筷子(sql)操作碗里(mysql)的米饭(数据)

二、SQL语句分类

1、 概念及作用

            database defination language 数据库定义语言,用于定义数据库,用于定义表结构

2、  表中字段基本数据类型

  MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型

1、一个汉字占多少长度与编码有关:

UTF-8:一个汉字=3个字节

GBK:一个汉字=2个字节

2、varchar(n) 表示 n 个字符,无论汉字和英文,Mysql 都能存入 n 个字符,仅是实际字节长度有所区别

3. 数据库语句操作

1、创建数据库mysql

create database mysql

2、删除数据库

drop database mysql

3、选择数据库

use mysql

4、查看数据库细节

show create database mysql

5、创建一个使用gbk字符集的数据库

create database mydb2 character set gbk

4. 表结构语句操作

1、选择数据库

use mysql

2、创建MySQL数据表需要以下信息:

表名、表字段名、定义每个表字段

1、创建表

create table  student (idint,namevarchar(20), sexvarchar(20),ageint,sal eryfloat(6,2),birthdaydate)

2、删除表drop table student;

3、查看所有表show tables

4、查看表的创建细节show create table student;

展示表结构desc student

5、在原有的学生基础上添加address列

alter table student add addressvarchar(20)

6、在原有的学生基础上删除address列

alter table student drop address

5. 定义表的约束

create tablestudent(idintprimary key auto_increment,namevarchar(20)unique not null,sexvarchar(20),ageint,saleryfloat(6,2),birthday date)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容