MySQL系列之--关系型数据库以及SQL语句分类之DDL数据库和表的操作

文章目录

      • 前言
      • 关系型数据库(RDBMS)
        • 关系型数据库的特点
      • MySQL数据模型
      • SQL介绍
        • 基本语法规则
        • SQL语句的分类
        • DDL的介绍
          • DDL的数据库操作
          • DDL的表操作

前言

 上一节MySQL系列之–详细安装教程和启动方法中介绍了MySQL如何安装,以及如何启动和客户端连接,这一节我们介绍一下MySQL的数据模型,以及基础的语法;

关系型数据库(RDBMS)

  概念:建立在关系模型基础上,有多张相互联系的二维表组成的数据库;
  下面通过一张表来举例说明什么是关系型数据库;
在这里插入图片描述
从左边那张表中第三列中的dept_id,来对应第二个表中的id,就可以知道每个员工所在的部门了;两张表是存在一定的关系的,像这种的存储关系,就叫关系型数据库;

关系型数据库的特点
  • 使用表存储数据,格式统一,便于维护
  • 使用SQL语言,标准统一,使用方便

MySQL数据模型

  了解了关系型数据特点后,我们来看一下关系型数据库;
  特点:一个数据库操作系统中可以有多个数据库;一个数据库中可以有多个二维表;在二维表中又可以存储一条条的数据;

在这里插入图片描述

SQL介绍

  介绍完MySQL,接下来我们介绍一下SQL语言;

基本语法规则
  • 语句书写:SQL语句可以执行单行或多行书写,以分号(;)结尾。
  • 可读性:SQL语句可以使用空格和缩进来增加语句的可读性。
  • 大小写:MySQL数据库的SQL语句不区分大小写,但关键字通常建议使用大写以提高可读性。
  • 注释:
    单行注释:-- 注释内容 或 # 注释内容(MySQL特有)。
    多行注释:/* 注释内容 */。
SQL语句的分类
  • DDL(Data Definition Language,数据定义语言):用于定义数据库对象(如数据库、表、字段等)。
  • DML(Data Manipulation Language,数据操作语言):用于对数据库表中的数据进行增删改。
  • DQL(Data Query Language,数据查询语言):用于查询数据库中表的记录。
  • DCL(Data Control Language,数据控制语言):用于创建数据库用户、控制数据库的访问权限等。
DDL的介绍

  这一章节主要介绍DDL(数据定义语言)的一些基本用法;

DDL的数据库操作
  • 查询
SHOW DATABASES      #查询所有数据库
SELECT DATABASE()      #查询当前数据库

举例1:
在这里插入图片描述
从上图可以看到一共有五个数据库,前四个数据库是安装后自带的,第五个数据库是我测试创建的;

  • 创建数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
#解释
# [IF NOT EXISTS] 数据库名:如果“数据库名”不存在创建,如果存在不创建;
# [DEFAULT CHARSET 字符集]:指定数据库使用的字符集,该选项可以省略,则使用数据库中默认的字符集;
# [COLLATE 排序规则]:指定排列规则,该选项也是可以省略的,使用数据库中默认的排列规则;

举例1:
在这里插入图片描述
从上图可以看到一个名为test_new的数据库,被创建成功;
  大家可以猜测一下如果再次创建一个该名称的数据库会发生什么情况呢?

在这里插入图片描述
没错,会发生报错,上面报错信息是,该数据库已经存在;那如果不想让它报错,数据库存在就不创建,不存在就创建,该怎么办呢?
  我们只需要在数据库名称前面加上一个判断条件即可;
在这里插入图片描述
如上图所示,没有发生报错;

  • 删除数据库
DROP DATABASE [IF EXISTS] 数据库名;

举例1:如果我删除test_new数据库
在这里插入图片描述
在这里插入图片描述
从上图可以看到在所有的数据库中没有test_new数据库,说明数据库删除成功;

  大家猜一下,如果重复删除一个数据库会会出现什么情况呢?
在这里插入图片描述
  正如大家所料会报错,报错信息就是我们所要删除的数据库不存在;那如何避免报错呢?
在这里插入图片描述
  如上图所示添加一个判断条件,就可以,如果数据库存在则执行删除的指令,如果不存在则不执行删除的指令;

  • 使用数据库
USE 数据库名;

  在数据库操作系统中有很多数据库,如果我们想使用其中一个数据库要如何操作呢?
在这里插入图片描述
如上图所示就切换到了test 数据库中;
在这里插入图片描述
如上图可以看到,当前所处的数据库就是test数据库,就说明我们已经切换成功了;

DDL的表操作
  • 表的查询
SHOW TABLES;   # 查询当前数据库所有表
DESE 表名;     # 查询表结构
SHOW CREATE TABLE 表名;    # 查询指定表的建表语句

例子1:
在这里插入图片描述
从上图可以看到,在系统数据库中有很多表罗列出来;

  • 表的创建
CREATE TABLE 表名 (  字段1 字段1类型[COMMENT 字段1注释],  字段2 字段2类型[COMMENT 字段2注释], 字段3 字段3类型[COMMENT 字段3注释], ......字段n 字段1类型[COMMENT 字段n注释]
)[COMMENT 表注释];

注意事项:最后一个字段后面没有逗号;

  那如何创建一个下面的表呢?接下来将演示如何创建一个具体的表;
在这里插入图片描述
在这里插入图片描述
由上图可见,test_user这个表创建成功了,那如何去验证这个表是否真的创建成功了呢?
在这里插入图片描述
由上图可以看到,test_user这个表已经存在了,说明真的创建成功了。

如果我想看这个表有哪些字段,就用到了表查询里面的语句,如下图所示:
在这里插入图片描述
接下来将介绍,数据类型,表的修改和删除等操作。

如有错误欢迎指正,如果帮到您请点赞加收藏哦!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/390525.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代前端架构介绍(第一部分):App是如何由不同的构建块构成的

远离JavaScript疲劳和框架大战,了解真正重要的东西 几周前,我的同事们对我们的前端架构、代码结构和面临的挑战很感兴趣。在做了几次关于如何构建可扩展且健壮的前端的演讲后,我觉得把它们都总结一下并与社区分享我们的策略是一个不错的主意。…

内网穿透--meterpreter端口转发实验

实验背景 通过公司带有防火墙功能的路由器接入互联网,然后由于私网IP的缘故,公网无法直接访问内部主机,则需要通过已连接会话,代理穿透访问内网主机服务。 实验设备 1.路由器一台 2.内网 Win 7一台 3.公网 Kali 一台 4.网络 …

SuccBI+低代码文档中心 — 低代码应用(SuccAP)(概论)

概述: 低代码是什么? 低代码就是通过易用的、可视化的操作、加上少量的代码或脚本的方式快速的搭建业务应用。 低代码的优势? 低代码可以提升开发人员的效率,也可以让非开发人员也能进行应用开发。 低代码的分类:…

『康之泉活水馆』手游:打造夏日梦幻水世界

设计背景 夏日的热浪与城市的喧嚣困扰着忙碌奔波的人群,康之泉活水馆,作为多功能的室内水上乐园,以其独特的魅力,成为夏日避暑的理想之地,让身心得以彻底放松。 设计理念 优联前端以康之泉品牌IP形象“康康”为灵感&a…

计算机基础(Windows 10+Office 2016)教程 —— 第4章 计算机网络与Internet(上)

第4章 计算机网络与Internet 4.1 计算机网络概述4.1.1 计算机网络的定义4.1.2 计算机网络的发展4.1.3 计算机网络的功能4.1.4 计算机网络体系结构和TCP/IP 参考模型 4.2 计算机网络的组成和分类4.2.1 计算机网络的组成4.2.2 计算机网络的分类 4.3 网络传输介质和通信设备4.3.1 …

奇安信高管合计套现7.7亿,总裁个人套现1.9亿

【文末送:技战法】 昨天网安一哥,奇安信发布《关于中电金投增持公司股份暨持股 5% 以上股东协议转让公司股份的权益变动的提示性公告》,公告显示中国电子将再次收购奇安信5%的股份。 公告显示,奇安壹号合伙人中:天津…

24年电赛——自动行驶小车(H题)基于 CCS Theia -陀螺仪 JY60 代码移植到 MSPM0G3507(附代码)

前言 只要搞懂 M0 的代码结构和 CCS 的图形化配置方法,代码移植就会变的很简单。因为本次电赛的需要,正好陀螺仪部分代码的移植是我完成的。(末尾附全部代码) 一、JY60 陀螺仪 JY60特点 1.模块集成高精度的陀螺仪、加速度计&…

day12 多线程

目录 1.概念相关 1.1什么是线程 1.2什么是多线程 2.创建线程 2.1方式一:继承Thread类 2.1.1实现步骤 2.1.2优缺点 2.1.3注意事项 2.2方式二:实现Runnable接口 2.2.1实现步骤 2.2.2优缺点 2.2.3匿名内部类写法 2.3方式三:实现cal…

Cesium 相机控制器(1)-wheel 实现原理简析

Cesium 相机控制器(1)-wheel 实现原理简析 已经做大量简化, 不是代码最终的样子. Viewer┖ CesiumWidget┖ ScreenSpaceCameraController(_screenSpaceCameraController)┣ CameraEventAggregator(_aggregator) // 相机事件代理┃ ┖ ScreenSpaceEventHandler(_eventHandler…

Notion爆红背后,笔记成了AI创业新共识?

在数字化时代,笔记软件已成为我们记录、整理和创造知识的得力助手。本文将带您深入了解Notion以及其他五个AI笔记产品,它们如何通过AI重塑笔记体验,满足我们快速记录、捕捉灵感、智能整理、情感陪伴和自动撰写文章的五大核心需求。 ———— …

golang国内proxy设置

go env -w GOPROXYhttps://goproxy.cn,direct经常使用的两个, goproxy.cn 和 goproxy.io 连接分别是 https://goproxy.cn https://goproxy.io 如果遇到某些包下载不下来的情况,可尝试更换数据源 更推荐使用https://goproxy.cn 速度快,缓存的包多 提醒…

如何建立与众不同的市场洞察能力【深度】

来源:战略研发领航 建立与众不同的市场洞察机制,展示了如何在组织中建立一种以数据和洞察为核心的文化,并通过4S周期(架构、探查、塑造、成型)的洞察工作方法论,指导领导者和团队在各个层级上进行更有效的思…

Upload-labs靶场Pass01-Pass21全解

文章目录 Pass-01 前端JSJS绕过上传或者用burp抓包的方式 Pass-02 MIME检测Pass-03 特殊文件后缀黑白名单绕过特殊文件名绕过 Pass-04 .htacess上传Pass-05 user.ini文件上传Pass-06 大小写绕过Pass-07 空格绕过Pass-08 .绕过Pass-09 ::$DATA绕过Pass-10 .空格.绕过Pass-11 双写…

深度体验:IntelliJ Idea自带AI Assistant,开启面向AI编程新纪元!

首发公众号: 赵侠客 引言 JetBrains AI Assistant 是 JetBrains 集成开发环境(IDE)中嵌入的一款智能开发助手工具,旨在通过人工智能技术来简化和提升软件开发过程,我深度体验了一下在IntelliJ IDEA 2024.2 Beta (Ulti…

hive 中编写生成连续月sql

记录一下 sql 编写生成从一个确定的起始月份到当前月份的连续月份序列 SELECT substr(add_months(table1.start_dt,table2.pos),1,4) AS INDICT_YEAR,substr(add_months(table1.start_dt,table2.pos),1,7) AS INDICT_MON FROM (SELECT 2024-01-01 AS start_dt,substr(CURRE…

CVPR24《Neural Markov Random Field for Stereo Matching》

论文地址: https://arxiv.org/abs/2403.11193 源码地址: https://github.com/aeolusguan/NMRF 概述 手工设计的MRF模型在传统的立体匹配中占据主导地位,但与端到端的深度学习模型相比,其建模准确性不足。尽管深度学习大大改进了MR…

GraphSAGE (SAmple and aggreGatE)知识总结

1.前置知识 inductive和transductive 模型训练: Transductive learning在训练过程中已经用到测试集数据(不带标签)中的信息,而Inductive learning仅仅只用到训练集中数据的信息。 模型预测: Transductive learning只能…

作业练习1

要求:R1-R2-R3-R4-R5 RIP 100 运行版本2 R6-R7 RIP 200 运行版本1 1.使用合理IP地址规划网络,各自创建环回接口 2.R1创建环回 172.16.1.1/24 172.16.2.1/24 172.16.3.1/24 3.要求R3使用R2访问R1环回 4.减少路由条目数量,R1-R2之间增加路由传递…

C++进阶之C++11

个人主页:点我进入主页 专栏分类:C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 C进阶 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂 目录 一.列表初始化 1.1一切皆可用列表初始化 1.2init…

U盘数据丢失?一招教你如何使用四种技巧轻松找回!

每一个打工人可能都是被各种文件所困扰的,而且现在不仅仅是工作上,还有学习以及日常的生活记录也需要接触到各类的数据,拿我们平时用软件时产生的文件、图片、视频等等来说,就占据了磁盘的大部分空间,当然有时候也会选…