1 数据库概述
1.1 什么是数据库?
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。
1.2 数据库的分类有哪些?
早期:层次数据库,网状数据库
现在:关系型数据库,非关系型数据库
1.2.1 什么是关系型数据库?
底层以二维表单的形式存储数据的库叫做关系型数据库,存储数据的格式可以直观的反映实体之间的关系,常见的关系型数据有MySQL,SqlServer。
id | name | salary |
---|---|---|
001 | MTingCat | 12000 |
002 | Tom | 10000 |
常见的数据库
Sql Server:微软提供,收费,适用于一些中型或大型的项目中,在java中的使用占比不高(.NET中使用的较多)
Oracle:甲骨文公司提供,收费,适用于一些大型或者超大型的项目中,在java中的使用占比非常高
mysql:瑞典MySQLAB公司提供,免费开源,适用于一些小型或者中型的项目中,在Java中的使用占比较高(小巧轻量) mariadb其实就是MySQL的一个分支,用法和MySQL完全一样。
DB2:IBM公司提供,收费,在一些银行、金融等行业中使用较多。在java中的使用占比也不高。
Sqlite:迷你数据库,嵌入式设备中(安卓、苹果手机、pad)
标准的SQL语句
-- 查询语句:
SELECT * FROM TABLE WHERE()
-- 新增语句
INSERT INTO TABLE (**) VALUES (*)
-- 更新语句
UPDATE TABLE SET ** WHERE ***
-- 删除语句
DELETE FROM TABLE WHERE ***
-- 排序语句
SELECT * FROM TABLE WHRER ** ORDER BY **
-- 去重查询
SELECT DISTINCT ** FROM TABLE WHERE **
1.2.2 什么是非关系型数据库?
随着近些年技术方向的不断拓展,大量的NoSql数据库如MongoDB、Redis、Memcache出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。
四大分类
1.键值对存储(key-value):代表软件Redis,它的优点能够进行数据的快速查询,而缺点是需要存储数据之间的关系。
2.列存储:代表软件Hbase,它的优点是对数据能快速查询,数据存储的扩展性强。而缺点是数据库的功能有局限性。
3.文档数据库存储:代表软件MongoDB,它的优点是对数据结构要求不特别的严格。而缺点是查询性的性能不好,同时缺少一种统一查询语言。
4.图形数据库存储:代表软件InfoGrid,它的优点可以方便的利用图结构相关算法进行计算。而缺点是要想得到结果必须进行整个图的计算,而且遇到不适合的数据模型时,图形数据库很难使用。
1.3 数据库的相关概念
1.3.1 什么是数据库管理系统?
管理数据库的软件系统,一般具有存储、截取、安全保障、备份等基础功能。
1.3.2 什么是数据库服务器?
数据库服务器就是一个软件(比如mysql软件)将数据库软件安装在电脑上,当前电脑就是一个数据库服务器。就可以对外提供存取数据的服务
在一个数据库服务器中可以创建多个数据库(dataBases),每一个数据库都是一个单独的仓库。
1.3.3 什么是表?
数据库中存储同一类数据的表
1.3.3 什么是表数据?
一张表中包含的多行记录,每一行记录用于存储某一个集体的数据
id | name | salary |
---|---|---|
001 | MTingCat | 12000 |
002 | Tom | 10000 |
1.4 数据库结构
1.5 连接MySQL数据库服务器
通过命令行工具可以登录MySQL客户端,连接MySQL服务器,从而访问服务器中的数据,也可以通过第三方软件连接数据库,当然啦连接数据库服务器的前提是要安装数据库,学习阶段推荐安装8.0以上的MySQL数据库。
命令
mysql -uroot -p密码
-u:后面的root是用户名,这里使用的是超级管理员root;
-p:(小写的p)后面的root是密码,这是在安装MySQL时就已经指定的密码;
2、连接mysql服务器并指定IP和端口:
mysql -uroot -proot -h127.0.0.1 -P3306
-h:后面给出的127.0.0.1是服务器主机名或ip地址,可以省略的,默认连接本机;
-P:(大写的P)**后面的3306是连接端口,可以省略,默认连接3306端口;
3、退出客户端命令:quit或exit或 q
4、FAQ:常见问题: