概念
结构化查询语言(Structured Query Language),简称SQL。是一种数据库查询和程序设计编程语言,用于存储数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的拓展名。
-
SQL执行过程
数据查询语言(DQL)
专门用于查询数据,代表指令是
**select**
、**show**
。数据操作语言(DML)
专门用于写数据,代表指令是
**insert**
、**update**
和**delete**
。事务处理语言(TPL)
专门用于事务安全处理,代表指令是
**transaction**
。数据控制语言(DCL)
专门用于权限管理,代表指令是
**grant**
和**revoke**
。数据定义语言(DDL)
专门用于结构管理,代表指令是
**create**
、**drop**
、**alter**
。DBMS/RDBMS
表(
Table
)表是关系型数据库中最常见、最简单的数据存储形式。
RDBMS中,数据存储在一种称为表(
**Table**
)的数据库对象中,它和Excel表格类似,由许多行(Row
)和列(Column
)构成;每一行是一条数据(记录),每一列是一个属性(字段),整个表是若干条相关数据的集合。
字段(
Field
)每个表都由若干列构成,每一列都称为一个字段(
**Field**
)。-
列(
Column
)列(
Column
)是从垂直方向观察表中的数据,它包含了与某个字段相关联的所有信息。 一般可以把字段(
**Field**
)与列(**Column**
)等价。记录(
Record
)数据表中的每一行数据,都称为一条记录(
**Record**
),有多少行数据,就有多少行记录。-
空值(
NULL
)字段的取值可以是
**NULL**
,此时意味着该字段是空的,没有任何值(不同于零值和其它空白符)。 -
SQL约束(
Constraint
)约束是指表的数据列必须强行遵守的规则,这些规则用于限制插入表中的数据的值,这样可确保每份数据的准确性和可靠性。
约束可以是列级别,也可以是表级别;
- 列级约束仅作用某一列,表级约束作用于整张表。 | 约束 | 说明 | | —- | —- | | NOT NULL | 非空约束,确保列中不能有NULL值 | | DEFAULT | 默认约束,如果未指定值,那么列将提供默认值 | | UNIQUE | 唯一约束,确保列中所有的值都不相同 | | PRIMARY KEY | 主键,用来唯一标识数据表中的每一行/记录 | | FOREIGN KEY | 外键,用于将两个表连接在一起,让两个表的数据保持同步 | | CHECK | 检查性约束,用于限定列的取值范围 | | INDEX | 索引,用于快速从数据库中检索或获取数据 |
SQL服务端架构
- 数据库管理系统(最外层):DBMS,专门管理服务端的所有内容;
- 数据库(第二层):DB,专门用于存储数据的仓库(可以多个);
- 二维数据表(第三层):Table,专门用于存储具体的实体数据;
- 字段(第四层):Field,具体存储某种类型的数据(实际存储单元)。
MySQL
MySQL中用到的指令是SQL指令。启动和停止MySQL服务
MySQL是一种C/S结构(客户端/服务端)。
服务端对应的软件是Mysqld.exe。Windows下
开启服务
net start mysql
关闭服务
net stop mysql
登录和退出MySQL系统
登录
```python mysql -h 主机名 -P 端口号 -u 用户名 -p
其中:
- 主机名是ip地址或域名,如果部署在本地,则可使用localhost;
- MySQL端口号默认为3306,端口没修改,指令可不填写;
- -p 表示密码。
<a name="cmT04"></a>
### 退出
```python
方式1:exit
方式2:\q
方式3:quit