赞
踩
在学习编程的道路上我们肯定时不时都会听到数据库这个东西,那么他到底是干什么用的呢?顾名思义数据库就是数据的仓库,他是一类软件,这种软件就是用来组织、保存、管理数据的。
数据结构的名字我们一定也不陌生,好像他也是用来组织数据的东西,那么数据结构与数据库之间有什么关系呢?
数据结构:
数据结构是一个学科,用来研究数据如何组织,对于大量的数据采用合适的方法去组织,而这个合适的方法就是数据结构所研究的。
数据库:
数据库是一个软件,用来组织数据、保存数据、管理数据,数据库如何组织数据呢?其实数据库在被实现的过程中也用到了很多数据结构。
我们听到最多的数据库就是MySQL了,然而数据库软件并不只有MySQL一种,不仅如此,数据库还有分类,数据库大体可以分为关系型数据库和非关系型数据库。
关系型数据库:
指采用了关系模型来组织数据的数据库,关系模型就是二维表格,而一个关系型数据库就是由二位表及其之间的联系所组成的一个数据组织。
常见的关系数据有Oracle MySQL SQL Server
非关系型数据库:
常见的非关系型数据库:redis MongoDB HBase
非关系型数据库功能相比于关系型数据库要少一点,但是性能更高。
简单总结一下二者的区别
关系型数据库 | 非关系型数据库 | |
---|---|---|
使用SQL | 是 | 不强制要求,一般不基于SQL实现 |
事务支持 | 支持 | 不支持 |
复杂操作 | 支持 | 不支持 |
海量读写操作 | 效率低 | 效率高 |
基本结构 | 基于表和列,结构固定 | 灵活性比较高 |
使用场景 | 业务方面的OLTP系统 | 用于数据 |
经过上面的阅读,大家对于数据库已经有一个简单的了解了,下面我将向大家介绍如何安装MySQL
。 MySQL安装大家可以点击这个链接访问Oracle
官网下载MySQL
,下载完成后,打开安装包根据指引一路next就可以安装成功了,安装成功之后我们可以找到这样一个程序:
点击这两个程序就可以打开MySQL
,打开后需要输入我们在安装时设置的密码才可以进入数据库。
输入密码正确后,当我们看到这样的界面就说明MySQL已经安装成功了。
这样做的好处是我们可以直接在命令行窗口使用MySQL命令打开数据库。
完成上面的操作之后,我们就可以打开命令行窗口输入mysql -u root -p
打开数据库。
MySQL 这个数据库软件,是一个客户端服务器结构的程序。什么是客户端?服务器又是什么呢?我们可以做一个假设,你家里有一个厨师,而你随时可能会饿,你饿了就会向厨师点菜,厨师就会给你做饭,像这样**你是主动去发起交互的一方,所以你就叫做客户端,而厨师是被动接受你的请求,完成交互,所以厨师就是服务器。**客户端给服务器发的数据,就是请求。服务器返回给客户端的数据,就是响应。而因为厨师不知道我何时会饿,所以就得24小时待命,所以数据库的服务器要保证服务的稳定性。
那么数据是被放在客户端还是服务器呢?服务器!一定是放在服务器上的!
MySQL具体是使用什么样的硬件设备来保存呢?MySQL以及其他的关系型数据库都是使用硬盘来保存数据的。为什么使用硬盘而不适用内存呢?内存也可以用来存储数据啊。这样我们就不得不提内存与外存的区别:
1、内存的访问速度快,外存访问速度慢
2、内存的空间比较小,外存的空间更大。
3、内存成本贵,外存更便宜。
4、内存的数据,断电后会丢失,外存的数据,断电后还在。
综上选择硬盘来存储数据。
数据在服务器上到底以什么结构组织的呢?
1、MySQL服务器为了更好的组织数据,需要将数据从逻辑上划分为多个数据集合,这集合也成为”数据库“。
2、每个数据库里,使用表结构来组织数据
3、表里面有行结构,每个记录就是一行。
4、每一行有很多列,每个列也成为字段。
SQL是一种编程语言,通过SQL来完成对数据库的增删改查,不同的数据库软件,可能对于SQL的语法支持略有差异,但是整体都是一样的。SQL语言运行在数据库软件上,就像Java运行在jvm上一样。
create
首先我们要使用数据库,就需要自己创建一个数据库,并使用该数据库,在数据库中创建若干张表。如何使用SQL语句实现这个操作呢?我们使用create
。
create database school;
创建school数据库
use school;
使用数据库
create table student ( id int, name varchar(50) );
创建一个学生表,表里面有学生的 id 和 姓名。
desc student;
我们还可以查看刚才创建的表
drop
我们经常调侃删库跑路,现在我们真的学习到了如何删除数据库,使用drop
。
drop table student
删除student表。
drop database school;
删除school数据库。
注意删除数据库是非常危险的操作,要谨慎在谨慎,如果公司的数据库被你删了,那么你基本也就凉凉了。
insert
既然数据库是用来存储数据,组织数据,管理数据的,那在创建数据库和表之后,我们需要向表中插入数据,就需要使用insert
.
insert into student values (1,'张三');
可以一次插入一个数据。
insert into student values (2,'李四'),(3,'王五');
可以一次插入多行数据,中间用,
隔开。
insert into student(id) values (4);
还可以对指定的列进行插入数据。
update
当我们插入数据时不小心输入错误了怎么办呢?删除表在重新创建重新录入嘛?显然是不对的,这时我们使用update
就可以修改数据。
此时张三的id是1,但此时的数据是错误的我们需要进行修改
update student set id = 10 where name = '张三';
使用update进行修改,where的作用可以相当于if选择语句,对所更改的数据进行筛选。
select
查询是数据库中比较重要的操作,为了让查询的结果符合我们的预期,查询语句相比于其他语句会复杂一点,这里我们只介绍基础一点的查询语句。
全列查询
select * from student;
指定列查询
select id from student;
别名
select name as information from student;
去重查询
select distinct id from student;
此时查询id有重复,我们希望把重复的去掉只显示一次就可以了,使用distinct查询。
排序
select * from student order by id;
有些时候我们希望数据从小到大(ASC)或者从大到小(DESC)进行排列,此时我们可以使用order by
此时是从小到大排序的,我们还可以从大到小排序。
选择查询
有些时候由于数据库中的数据量太过庞大,我们查询时效率不高,就需要进行筛选,提高查询效率。一般选择
select * from student where id = 2;
范围查询select * from student where id between 2 and 4;
也可以使用and or
来进行范围查询,and or
相当于并和或。
模糊查询select * from student where name like '%四';
%
他是一个通配符,他可以代表任意个字符,这句sql语句的意思就是查询所以名字为四结尾的同学的信息。
_
这个也是一个通配符,他仅代表一个字符。
分页查询
select * from student order by id limit 0,2;
有时我们的数据太多一个页面放不下这么多数据,我们就可以使用limit
进行分页查询。0表示从0开始,2表示每个页面显示两行数据。
以上就是一些数据库的基础知识,下篇文章我们将介绍一下数据库的进阶知识,更复杂的查询,事物与索引,和JDBC编程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。