1.数据库概述和三种主要控制语言
我们需要一个数据库管理系统,这个管理系统可以是关系型的,也可以是非关系型的
在管理系统存储数据库,在数据库中存储工作表
### 1. **数据操作语言 (DML) - "日常办公员"**
你可以把它想象成一个**日常在表格里工作的普通员工**。
* **做什么?** 他们的工作就是每天和表格里的**具体数据**打交道。
* **例子:**
* **`SELECT`**:就像你打开表格,用“查找”功能找某个客户的信息,比如“查一下张三的电话号码”。
* **`INSERT`**:就像你新增一条记录,比如“把新来的员工李四的信息填到表格里”。
* **`UPDATE`**:就像你修改已有信息,比如“把王五的电话号码更新为新号码”。
* **`DELETE`**:就像你删掉一条记录,比如“把已经离职的赵六的信息从表格里删掉”。
**总结:** DML 就是处理**数据本身**的增、删、改、查。你不动表格的结构,只操作里面的内容。
---
### 2. **数据定义语言 (DDL) - "表格设计师"**
这就像一个**设计和修改表格结构的工程师**。
* **做什么?** 他不关心表格里填了什么数据,他关心的是**表格长什么样**——有哪些列?每列是什么类型(文字、数字、日期)?哪个是主键?
* **例子:**
* **`CREATE`**:就像你第一次创建一个新表格,比如“新建一个‘员工信息表’,要有姓名、工号、部门、入职日期这几列”。
* **`ALTER`**:就像你发现表格设计得不够好,要修改结构,比如“给‘员工信息表’加一列‘紧急联系人’”。
* **`DROP`**:就像你决定这个表格完全没用了,直接把它整个删掉,比如“把旧的‘实习生名单’表彻底删除”。
**总结:** DDL 就是定义和修改**表格的结构**(建表、改表、删表)。它决定了数据能以什么形式存在。
---
### 3. **数据控制语言 (DCL) - "保安队长"**
这就像公司的**门卫或权限管理员**。
* **做什么?** 他不管你具体填了什么数据,也不管表格怎么设计。他只管**谁能进来,能干什么**。
* **例子:**
* **`GRANT`**:就像给某个员工发门禁卡和权限,比如“允许财务部的小红可以查看和修改‘工资表’”。
* **`REVOKE`**:就像收回权限,比如“小明离职了,收回他对所有数据库的访问权限”。
**总结:** DCL 就是管理**谁有权限**对数据库做什么操作,保证数据安全。
---
**简单一句话总结:**
* **DML**:**操作数据**(增删改查内容)。
* **DDL**:**定义结构**(建表改表删表)。
* **DCL**:**控制权限**(谁可以看、可以改)。