数据库开发之SQL简介以及DDL的详细解析

1.3 SQL简介

SQL:结构化查询语言。一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。

在学习具体的SQL语句之前,先来了解一下SQL语言的语法。

1.3.1 SQL通用语法

1、SQL语句可以单行或多行书写,以分号结尾。

数据库开发之SQL简介以及DDL的详细解析_第1张图片

2、SQL语句可以使用空格/缩进来增强语句的可读性。

数据库开发之SQL简介以及DDL的详细解析_第2张图片

3、MySQL数据库的SQL语句不区分大小写。

数据库开发之SQL简介以及DDL的详细解析_第3张图片

4、注释:

  • 单行注释:-- 注释内容 或 # 注释内容(MySQL特有)

  • 多行注释: /* 注释内容 */

以上就是SQL语句的通用语法,这些通用语法大家目前先有一个直观的认识,我们后面在讲解每一类SQL语句的时候,还会再来强调通用语法。

1.3.2 分类

SQL语句根据其功能被分为四大类:DDL、DML、DQL、DCL

分类 全称 说明
DDL Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段)
DML Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改
DQL Data Query Language 数据查询语言,用来查询数据库中表的记录
DCL Data Control Language

数据控制语言,用来创建数据库用户、控制数据库的访问权限

数据库开发之SQL简介以及DDL的详细解析_第4张图片

2. 数据库设计-DDL

下面我们就正式的进入到SQL语句的学习,在学习之前先给大家介绍一下我们要开发一个项目,整个开发流程是什么样的,以及在流程当中哪些环节会涉及到数据库。

2.1 项目开发流程

数据库开发之SQL简介以及DDL的详细解析_第5张图片

需求文档:

  • 在我们开发一个项目或者项目当中的某个模块之前,会先会拿到产品经理给我们提供的页面原型及需求文档。

  • 数据库开发之SQL简介以及DDL的详细解析_第6张图片

设计:

  • 拿到产品原型和需求文档之后,我们首先要做的不是编码,而是要先进行项目的设计,其中就包括概要设计、详细设计、接口设计、数据库设计等等。

  • 数据库设计根据产品原型以及需求文档,要分析各个模块涉及到的表结构以及表结构之间的关系,以及表结构的详细信息。最终我们需要将数据库以及数据库当中的表结构设计创建出来。

开发/测试:

  • 参照页面原型和需求进行编码,实现业务功能。在这个过程当中,我们就需要来操作设计出来的数据库表结构,来完成业务的增删改查操作等。

部署上线:

  • 在项目的功能开发测试完成之后,项目就可以上线运行了,后期如果项目遇到性能瓶颈,还需要对项目进行优化。优化很重要的一个部分就是数据库的优化,包括数据库当中索引的建立、SQL 的优化、分库分表等操作。

在上述的流程当中,针对于数据库来说,主要包括三个阶段:

  1. 数据库设计阶段

    • 参照页面原型以及需求文档设计数据库表结构

  2. 数据库操作阶段

    • 根据业务功能的实现,编写SQL语句对数据表中的数据进行增删改查操作

  3. 数据库优化阶段

    • 通过数据库的优化来提高数据库的访问性能。优化手段:索引、SQL优化、分库分表等

接下来我们就先来学习第一部分数据库的设计,而数据库的设计就是来定义数据库,定义表结构以及表中的字段。

2.2 数据库操作

我们在进行数据库设计,需要使用到刚才所介绍SQL分类中的DDL语句。

DDL英文全称是Data Definition Language(数据定义语言),用来定义数据库对象(数据库、表)。

DDL中数据库的常见操作:查询、创建、使用、删除。

2.2.1 查询数据库

查询所有数据库:

show databases;

命令行中执行效果如下:

数据库开发之SQL简介以及DDL的详细解析_第7张图片

查询当前数据库:

select database();

命令行中执行效果如果:

数据库开发之SQL简介以及DDL的详细解析_第8张图片

我们要操作某一个数据库,必须要切换到对应的数据库中。

通过指令:select database() ,就可以查询到当前所处的数据库

2.2.2 创建数据库

语法:

create database [ if not exists ] 数据库名;

案例: 创建一个itcast数据库。

create database itcast;

命令行执行效果如下:

注意:在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。

  • 可以使用if not exists来避免这个问题

-- 数据库不存在,则创建该数据库;如果存在则不创建
create database if not extists itcast; 

命令行执行效果如下:

2.2.3 使用数据库

语法:

use 数据库名 ;

我们要操作某一个数据库下的表时,就需要通过该指令,切换到对应的数据库下,否则不能操作。

案例:切换到itcast数据

use itcast;

命令执行效果如下:

数据库开发之SQL简介以及DDL的详细解析_第9张图片

2.2.4 删除数据库

语法:

drop database [ if exists ] 数据库名 ;

如果删除一个不存在的数据库,将会报错。

可以加上参数 if exists ,如果数据库存在,再执行删除,否则不执行删除。

案例:删除itcast数据库

drop database if exists itcast; -- itcast数据库存在时删除

命令执行效果如下:

数据库开发之SQL简介以及DDL的详细解析_第10张图片

说明:上述语法中的database,也可以替换成 schema

  • 如:create schema db01;

  • 如:show schemas;

  • 数据库开发之SQL简介以及DDL的详细解析_第11张图片

你可能感兴趣的:(Web,数据库开发,sql,数据库,开发语言,状态模式,后端)