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

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

1.3 SQL简介

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

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

1.3.1 SQL通用语法

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

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

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

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

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

2. 数据库设计-DDL

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

2.1 项目开发流程

需求文档:

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

设计:

  • 拿到产品原型和需求文档之后,我们首先要做的不是编码,而是要先进行项目的设计,其中就包括概要设计、详细设计、接口设计、数据库设计等等。
  • 数据库设计根据产品原型以及需求文档,要分析各个模块涉及到的表结构以及表结构之间的关系,以及表结构的详细信息。最终我们需要将数据库以及数据库当中的表结构设计创建出来。

开发/测试:

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

部署上线:

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

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

  1. 数据库设计阶段
  • 参照页面原型以及需求文档设计数据库表结构
  1. 数据库操作阶段
  • 根据业务功能的实现,编写SQL语句对数据表中的数据进行增删改查操作
  1. 数据库优化阶段
  • 通过数据库的优化来提高数据库的访问性能。优化手段:索引、SQL优化、分库分表等

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

2.2 数据库操作

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

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

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

2.2.1 查询数据库

查询所有数据库:

show databases;

命令行中执行效果如下:

查询当前数据库:

select database();

命令行中执行效果如果:

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

通过指令: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;

命令执行效果如下:

2.2.4 删除数据库

语法:

drop database [ if exists ] 数据库名 ;

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

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

案例:删除itcast数据库

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

命令执行效果如下:

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

  • 如:create schema db01;
  • 如:show schemas;


相关文章
|
10月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1596 152
|
10月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
759 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
9月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
438 6
|
10月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
571 2
|
设计模式 存储 安全
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象结构型模式比类结构型模式具有更大的灵活性。 结构型模式分为以下 7 种: • 代理模式 • 适配器模式 • 装饰者模式 • 桥接模式 • 外观模式 • 组合模式 • 享元模式
934 140
【23种设计模式·全精解析 | 创建型模式篇】5种创建型模式的结构概述、实现、优缺点、扩展、使用场景、源码解析
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1524 29
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
611 4
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。

推荐镜像

更多
  • DNS