概念

结构化查询语言(Structured Query Language),简称SQL。是一种数据库查询和程序设计编程语言,用于存储数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的拓展名。

  • SQL就是专门为关系型数据库而设计的

    SQL执行过程

    SQL概念 - 图1

    数据查询语言(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**,此时意味着该字段是空的,没有任何值(不同于零值和其它空白符)。

  • **NULL**字段指的是在添加记录时留空的字段

    SQL约束(Constraint

    约束是指表的数据列必须强行遵守的规则,这些规则用于限制插入表中的数据的值,这样可确保每份数据的准确性和可靠性。

  • 约束可以是列级别,也可以是表级别;

  • 列级约束仅作用某一列,表级约束作用于整张表。 | 约束 | 说明 | | —- | —- | | NOT NULL | 非空约束,确保列中不能有NULL值 | | DEFAULT | 默认约束,如果未指定值,那么列将提供默认值 | | UNIQUE | 唯一约束,确保列中所有的值都不相同 | | PRIMARY KEY | 主键,用来唯一标识数据表中的每一行/记录 | | FOREIGN KEY | 外键,用于将两个表连接在一起让两个表的数据保持同步 | | CHECK | 检查性约束,用于限定列的取值范围 | | INDEX | 索引,用于快速从数据库中检索或获取数据 |

SQL服务端架构

SQL概念 - 图2

  • 数据库管理系统(最外层):DBMS,专门管理服务端的所有内容;
  • 数据库(第二层):DB,专门用于存储数据的仓库(可以多个);
  • 二维数据表(第三层):Table,专门用于存储具体的实体数据;
  • 字段(第四层):Field,具体存储某种类型的数据(实际存储单元)。

    MySQL

    MySQL中用到的指令是SQL指令

    启动和停止MySQL服务

    MySQL是一种C/S结构(客户端/服务端)。
    服务端对应的软件是Mysqld.exe

    Windows下

    开启服务

    1. net start mysql

    关闭服务

    1. net stop mysql

    登录和退出MySQL系统

    登录

    ```python mysql -h 主机名 -P 端口号 -u 用户名 -p

其中:

  1. 主机名是ip地址或域名,如果部署在本地,则可使用localhost;
  2. MySQL端口号默认为3306,端口没修改,指令可不填写;
  3. -p 表示密码。
    1. <a name="cmT04"></a>
    2. ### 退出
    3. ```python
    4. 方式1:exit
    5. 方式2:\q
    6. 方式3:quit