什么是数据库?
存储数据用文件就可以了,为什么还要弄个数据库?
文件保存数据有以下几个缺点:
文件的安全性问题
文件不利于数据查询和管理
文件不利于存储海量数据
文件在程序中控制不方便
数据库存储介质:
磁盘
内存
为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。
软件角度
文件角度
数据库构成:
数据库服务器 (musqld)
数据库+表结构
数据库客户端 (mysql:是一个客户端软件)
数据库是一个网络服务器
mysql或者数据库 属于应用层
mysql OS:需要我们安装,底层一定是直接或者间接访问OS的文件接口
基本使用
服务器,数据库,表关系
所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库, 一般开发人员会针对每一个应用创建一个数据库。
为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
数据库服务器、数据库和表的关系如下:
所谓的创建数据库,本质就是在Linux下创建一个目录
所谓的创建数据库表,本质就是在特定目录下创建特定的文件!
常见基本操作
数据库常见操作
# 显示你的所有数据库
show databases;
# 创建数据库(建议不要使用系统自带的那些数据库)
create database (你想使用的数据库名字);
# 使用数据库
use (你想使用的数据库名字);
# 先使用你创建的数据库,然后显示你的这个数据库中有哪些表
show tables;
# 显示表结构
desc tables_name(表名);
尝尝鲜
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
当前系统支持的存储引擎