缺点:
文件的安全性问题;
文件不利于数据查询和管理;
文件不利于存储大量数据;
文件在程序中控制不方便
通过磁盘或内存存储数据,可以更有效地管理数据
在用户和磁盘文件添加一个软件层,这个软件就是数据库,它专门用来进行数据管理,用户通过SQL语句访问数据库,数据库再去访问磁盘文件,即数据库可以帮助用户或者用户程序更方便地进行数据管理
即数据库是一款服务器软件,帮助用户维护文件,属于应用层
ps:MySQL WorkBench:官方自带的图形化界面客户端
(1)数据库也是用文件进行数据保存的;
(2)数据库通过自己的存储引擎和文件进行交互
(1)数据库服务器(mysqld)
(2)数据库的库+表结构
(3)数据库客户端(mysql)
数据库是需要用户自己安装的,底层直接或间接访问OS 的文件接口
# 查看mysql是否启动
ps axj | grep mysql
# 查看网络服务
sudo netstat -nltp
mysql:mysql命令行客户端
mysqld:mysql网络服务器
mysql的配置文件
/etc/my.cnf
datadir:数据库中的库+表保存的位置
查找该路径文件,可以看到有系统自带和用户创建的数据库的库和表文件,由此可知,创建数据库就是在datadir的路径下创建了一个文件夹,创建表就是在对应的数据库文件夹里创建了几个文件
创建表时产生的文件个数和存储引擎的选择有关,INNoDB产生两个文件
.frm:保存表结构
.ibd:保存数据和索引
(1)DDL【data definition language】 数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter
(2)DML【data manipulation language】 数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select
(3)DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit
存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎
// 查看mysql支持的存储引擎
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+