初识数据库
一、什么是数据库
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
- 文件的安全性问题
- 文件不利于数据查询和管理
- 文件不利于存储海量数据
- 文件在程序中控制不方便
数据库存储介质:磁盘、内存
为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标
一般的文件确实提供了数据的存储功能,但是在用户角度文件并没有提供非常好的数据管理能力
数据库本质:是文件,是对数据内容存储的一套解决方案,根据字段或者要求,数据库文件直接返回结果
二、mysql与mysqld
- mysql它是数据库服务的客户端
- mysqld它是数据库服务的服务器端,也是一个守护进程、网络服务
- mysql本质:基于C(mysql)S(mysqld)模式的一种网络服务 既然是网络服务,启动是要绑定端口的,mysqld绑定了3306端口
mysql是一套给我们提供数据存取的服务的网络程序
数据库一般指的是:在磁盘或者内存中存储的特定结构组织的数据,也可以说是将来在磁盘上存储的一套数据库方案
三、服务器,数据库,表关系
所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多
个数据库,一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如下:
四、数据库创建与使用
4.1 连接服务器
mysql -h 127.0.0.1 -P 3306 -u root -p
-h:指明登陆部署了mysql服务的主机
-P:指明要访问的端口号(这个是可以修改的)
-u:指明登陆的用户(默认为root)
-p:指明要输入的密码,密码输入的时候,是不显示的
如果没有写 -h 127.0.0.1 默认是连接本地
如果没有写 -P 3306 默认是连接3306端口号
4.2 数据库的基本使用
创建数据库:create database 数据库名
使用数据库:use 数据库名
创建表:create table student
数据库建表成功后,在
/var/lib/mysql/数据库名
下,会多出两个文件(红框内)
在数据库内建立表,本质就是在Linux下创建对应的文件,只不过mysqld帮我们做了
添加数据并查看表
五、MySQL架构
mysql依旧是一个文件系统,但他是处于OS系统提供的文件系统之上的文件系统
六、存储引擎
存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎(如上图架构模型)
通过
show engines
命令可以查看mysql的存储引擎
七、SQL分类
- DDL【data definition language】 数据定义语言,用来维护存储数据的结构 代表指令: create(创建表), drop(去除表), alter(修改表)
- DML【data manipulation language】 数据操纵语言,用来对数据进行操作 代表指令: insert,delete,update
- DML中又单独分了一个DQL,数据查询语言,代表指令: select
- DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务 代表指令: grant,revoke,commit
版权归原作者 阿浩啊z 所有, 如有侵权,请联系我们删除。