这个博客主要是用来写什么是数据库以及一些数据库的基本操作。
什么是数据库呢?
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
文件的安全性问题
文件不利于数据查询和管理
文件不利于存储海量数据
文件在程序中控制不方便
数据库存储介质:
磁盘
内存
为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据
库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
数据库分类
数据库大体可以分为 关系型数据库 和 非关系型数据库
关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个
关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
1. Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系
统。收费。
2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。
非关系型数据库:
(了解)不规定基于SQL实现。现在更多是指NoSQL数据库,如:
1. 基于键值对(Key-Value):如 memcached、redis
2. 基于文档型:如 mongodb
3. 基于列族:如 hbase
4. 基于图型:如 neo4j
关系型数据库与非关系型数据库的 区别:
注:OLTP(On-Line Transaction Processing)是指联机事务处理,OLAP(On-Line Analytical
Processing)是指联机分析处理。
一.数据库的基本操作
1.1.显示当前有哪些数据库
代码是show databases;
其实在数据库中用大写或者小写输入代码都是一样的,我个人习惯于用小写,代码中间的空格是可以一个也可以多个,但是要注意database后面有一个s并且后面有一个;
1.2.创建数据库
代码是:create database 加数据的名字。
之后用上述的show databases;来看数据库,我们对比上图可以发现,我们创建的student数据库创建成功。
1.3.使用数据库
当我们需要对一个数据库进行操作时,需要选定该数据库;
代码为:use +数据库名;
1.4.删除数据库
代码为drop database +数据库名;
之后通过查看所有数据库我们可以看出当前对student的数据库已经完成删除处理。
二.常见的数据类型
2.1 数值类型:
分为整型和浮点型
这边来讲解一下为什么数据库和其他的代码规则不一样,mysql的诞生时间和java这类的诞生时间差不多,都是早期刚开始的时候,当时对这些规则规范并没有统一的规格,所以各用各的,比如早期的千年虫问题。
扩展资料
数值类型可以指定为无符号(unsigned),表示不取负数。
1字节(bytes)= 8bit。
对于整型类型的范围:
1. 有符号范围:-2^(类型字节数*8-1)到2^(类型字节数*8-1)-1,如int是4字节,就
是-2^31到2^31-1
2. 无符号范围:0到2^(类型字节数*8)-1,如int就是2^32-1
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其
如此,还不如设计时,将int类型提升为bigint类型。
2.2.字符串类型
2.3.日期类型
三.表的操作
对于表的操作我们首先需要选定我们需要使用的数据库,之后对数据库中进行创建表。
3.1创建表
代码是create table +表名(列名 类型,列名 类型...);
让大家来看一下整体的过程,首先我们需要创建一个数据库,之后选定该数据库,之后进行表的创建。
3.2查看表
这个操作我们可以来看一下我们创建的表的类型:
代码为:desc +表名;
3.3数据插入
我们创建完数据库创建完表之后我们需要在表中插入数据;
插入数据代码如下:
insert into 表名 values(列的值);
当然也可以进行多长数据输入;
insert into 表名 values(列的值),(列的值),(列的值)...;
四.数据查询
通过查询我们可以看到表中的数据,同时我们也可以给查询一些条件使得查询的结果更加契合我们所需要的。
4.1全列查询
代码为select * from 表名;
4.2指定列查询
select 列名 from 表名;
下面我们就用代码来查看一下表中的id还有名字;
4.3查询字段为表达式
在查询的时候我们可以对查询到的数据进行一些条件的加减之类等。
比如说我们要查询数学成绩+语文成绩+英语成绩
我们也可以把所有人的语文成绩都加10;