数据库是测试工作面试笔试中常见的考核内容,也是测试工作中重要的必备基本技能之一。所以,数据库的基本操作是每个测试工程师都应该熟练掌握的学习内容。
目录
前言
任务1:基本概念
任务2:环境搭建
任务3:数据库操作
任务4:表的操作
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。在Web应用方面,MySQL是目前最好的关系数据库管理系统之一。
数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门或机构的重要财富和资源,小到日常生活,大到国家经济,无不依赖于数据库系统。我们随手便可以举出无数个使用到数据库的地方:身份证、银行卡、学历、通信、GPS(Global Positioning System,全球定位系统)、股票交易、电子商务……按照这种思路想下去,我们每一个人每天都生活在一个充满数据的环境中,数据无处不在。因此,作为信息系统核心和基础的数据库技术必定会得到越来越广泛的应用,从小型单项事务处理到大型信息系统处理,从联机事务处理(On-Line Transaction Processing,LTP)到联机分析处理(Online Analytical Processing,OLAP),从一般企业管理到计算机辅助设计(Computer Aided Design,CAD)或计算机辅助制造(computer Aided Manufacturing,CAM)、办公信息系统(Office Information System ,OIS)、地理信息系统(Geographic Information System,GIS)等,越来越多新的应用领域采用数据库存储和处理他们的信息资源。因此,每一个IT从业人员,都必须把数据库这门基本功练扎实。
数据库相关的基本概念包括:数据、数据库、数据库管理系统以及数据库系统。下面分别介绍。
1:数据
数据(data)是数据库中存储的基本对象。数据在大多数人的头脑中的第一个反应就是数字,其实数字只是最简单的一种数据,是对数据的一种传统和狭义的理解。广义的理解,数据的种类很多,文字、图形、图像、声音、学生的档案记录以及货物的运输情况,这些都是数据。
可以对数据做如下定义:描述事物的符号记录。为了了解世界,交流信息,人们需要描述这些事物,在日常生活中直接用自然语言(如汉语)描述。在计算机中,为了存储和处理这些事物,就要抽出对这些事物感兴趣的特征组成一个记录来描述,比如在学生档案中,我们比较感兴趣的是学生的姓名、性别、年龄、出生年月、籍贯、系别、入学时间,那么可以这样来描述这些学生的基本信息:
(张三,男,30,1988,江苏省苏州市,计算机系,2008)
因此这里的学生记录就是数据。对于上面这条学生记录,了解其含义的人会得到如下信息:张三是个大学生,1988年出生,男,30岁,江苏省苏州市人,2008年考入计算机系。而不了解其语义的人则可能无法理解其含义。可见,数据的形式还不能完全表达其内容,需要经过解释。所以数据和对数据的解释是不可分的
2:数据库
数据库(Database,DB),顾名思义,是存储数据的仓库。是指长期存储在计算机内的、有组织、可共享的数据集合。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。
人们收集并抽取出一个应用所需要的大量数据后,应将其保存起来以供进一步加工处理,进一步抽取有用的信息。在科学技术飞速发展的今天,人们的视野越来越广,数据量急剧增加。过去人们把数据存放在档柜里,现在人们借助计算机和数据库技术科学地保存和管理大量的复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。
3:数据库管理系统
了解了数据和数据库的概念,下一个问题就是如何科学地组织和存储数据,如何高效地获取和维护数据,完成这个任务的是一个系统软件——数据库管理系统(Database Management System,DBMS)。数据库管理系统是位于用户与操作系统之间的一层数据管理软件,其主要目标是使数据作为一种可管理的资源来处理,是一种用于操纵和管理数据库的大型软件。
数据库管理软件可分为关系型数据库管理软件和非关系型数据库管理软件。
关系型数据库管理软件管理的数据库是以表的方式存储数据。常见的有:MySQL、Oracle、SQL Server、DB2等。它使用SQL来做管理数据库。SQL主要包括DQL、DML、DDL和DCL。
非关系型数据库管理软件管理的数据库是用文档或者字符串等其它非表的方式来存储数据。常见的有:MongoDB、Redis、HBase等。
4:数据库系统
数据库系统(Database System,DBS)是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。
现将安装过程介绍如下:
(1)做好安装前的准备工作:关闭所有的杀毒软件和管理软件,例如火绒、金山毒霸、360、QQ管家、鲁大师等。
(2)告诉操作系统MySQL的安装位置。将mysql-5.7.18-win32.zip解压后的bin地址配到环境变量path里。如下:
(3)使用记事本打开mysql-5.7.18-win32文件夹下的MySQL配置文件my.ini,修改该配置文件——指定安装位置、数据位置和端口号,修改完毕后,保存后关闭。如下:
(4)安装MySQL服务。用管理员权限运行cmd,并进入到mysql的bin文件夹,执行mysqld -install。如下:
(5)数据库的初始化:运行mysqld --initialize --console 生成data文件夹和初始密码。如下
(6)启动MySQL服务。在cmd命令行里输入net start mysql。如下:
(7)使用初始密码登录数据库。如下:
(8)登录成功后,修改密码为123456。使用指令:set password=password('123456')。如下:
1 创建数据库
语法:create database 数据库名 default character set utf8;
【示例1】
create database a default character set utf8;
注意:为了确保我们创建的数据库支持中文,创建数据库的时候需要指定字符集编码为utf8。
2 查看当前连接下的数据库列表
【示例2】
show databases;
注解:MySQL的标识符命名规则:由字母、数字、下划线所组成,且第一个字符必须是字母或下划线
(即第一个字符不能是数字),不能是MySQL的关键字。不要取中文名。
3 切换/选择/使用数据库
语法:use 数据库名;
【示例3】
use a;
4 查看当前连接的是哪一个数据库
【示例4】
select database();
5 删除数据库
drop database 数据库名;
【示例5】
drop database a;
语法:
create table 表名(
字段1 数据类型1,
字段2 数据类型2,
……
字段n 数据类型n
);
注解:
——表名和字段名都需要符合MySQL标识符命名规则
——MySQL常用的数据类型:
整型 int
浮点型 float double decimal
字符型 char varchar
日期型 date datetime time
【示例6】
create table student(
sid int,
sname varchar(20),
score float,
semail varchar(50),
sbirth date
);
4.2 约束
建表的时候通常伴随着约束,约束指的是对表里的字段取值的一系列的规则限制条件。约束的目的在于保证数据是正确的有意义的(完整性)。
常用的约束介绍如下:(前面4种针对单表,最后一种针对多表)
【示例7】
create table student2(
sid int primary key,
sname varchar(20) not null,
score float default 0,
semail varchar(50) unique
);
insert into student2 values(1,'zs',80,'[email protected]');
由于主键约束,以下数据无法录入:
insert into student2 values(null,'ls',80,'[email protected]');
【示例8】
create table ques(
sid int,
content varchar(100),
foreign key(sid) references student2(sid)
);
由于外键约束,以下数据将无法插入:
insert into ques values(2,'xxxxxxx');
student2表当前只有1号学员,根据外键约束,此时只能插入1号学员的问题:
insert into ques values(1,'xxxxxxx');
4.3 表的其他常见操作
1)查看表结构
语法:desc 表名;
【示例9】 desc ques;
2)显示数据库中所有的表
【示例10】 show tables;
3)表的修改
修改表名:
语法:alter table 旧表名 rename to 新表名;
【示例11】 alter table student rename to student1;
修改字段名:
语法:alter table 表名 change 旧字段名 新字段名 新字段的数据类型;
【示例12】 alter table student1 change score fenshu float;
添加字段:
语法:alter table 表名 add 字段名 字段的数据类型;
【示例13】 alter table student1 add grade varchar(10);
删除字段:
语法:alter table 表名 drop 字段名;
【示例14】 alter table student1 drop grade;
3)删除表
语法:drop table 表名;
【示例15】 drop table student1;
我们主要了解了数据库的基本概念和环境搭建过程,以及数据库和表的常见操作。下一期很快到来!