当前位置: 首页 > news >正文

[SQL Statements] 基本的SQL知识 之DDL针对数据库的基本操作

SQL Statements SQL语句的学习 之 DDL针对数据库的基本操作

什么是database

在 MySQL 中,Database(数据库)是一组有组织的数据集合,可以存储和管理相关数据的容器。一个数据库可以包含多个表(Table),每个表可以包含多个数据行(Row),每行可以包含多个数据列(Column),用于存储数据的字段。通过对数据库进行操作,可以轻松地对其中存储的数据进行添加、删除、更新和查询等操作。

MySQL 中的数据库还有一些其他的特性,例如可以创建索引来优化查询性能,可以创建视图来方便查询和使用,可以创建存储过程和触发器来执行复杂的业务逻辑等。

MySQL 中的 Database 是一个非常重要的概念,它是存储和管理数据的基本单位,为开发人员和数据库管理员提供了非常方便的工具和功能来处理数据。

总之,一个安装好的MySQL里可以创建多个Database,一个Database里面有多个表,一个表里有多行数据。database除了有表之外还有视图、存储过程、触发器等。

什么是DDL

DDL代表数据定义语言(Data Definition Language),是用于管理数据库结构和模式的语言。DDL命令允许您创建、修改、删除数据库对象,如表、索引、约束等。常见的DDL命令包括CREATE(创建)、ALTER(修改)和DROP(删除)等。

查看自己的数据库并切换到指定数据库中

查看自己有哪些数据库: show databases;

在这里插入图片描述

切换到指定数据库中:use [指定数据库]

比如我想切换到taskplatform数据库中

use taskplatform

在这里插入图片描述

提示Database changed 表示切换成功

如果我想要切换到一个不存在的数据库呢?

在这里插入图片描述

抛出 ERROR 1049 (42000): Unknown database ‘study6666’ 异常

DATABASE 相关语句

在下面的语句中 {|}表示内部的多个选一个,[]表示可选项

创建数据库语句

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [相关操作] ...相关操作: [默认] {
CHARACTER SET [=] charset_name | COLLATE [=] collation_name | ENCRYPTION [=] {'Y' | 'N'}
}

创建数据库将创建具有给定名称的数据库。要使用此语句,您需要使用数据库的创建权限。 create schema 和 create database 是一个意思。

如果数据库存在且您没有指定IF NOT EXISTS,则会发生错误。

不允许在具有存在LOCK表语句的会话中创建数据库。

相关参数

字符集和排序规则参数

[DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name

字符集选项将更改默认的数据库字符集。一般会将字符集编码设置为 utf8 或者 utf8mb4

排序规则选项会更改默认的数据库排序规则。一般情况下不会修改这个排序规则,用默认的。

要查看可用的字符集和排序规则,请分别使用SHOW字符集和SHOW排序规则语句。

例如: SHOW COLLATION WHERE Charset = 'latin1'

加密参数

在MySQL 8.0.16中引入的加密选项定义了默认的数据库加密,该加密将由数据库中创建的表继承。允许的值为“Y”(启用加密)和“N”(禁用加密)。只有新创建的表才会继承默认的数据库加密。对于与数据库关联的现有表,它们的加密将保持不变。

MySQL中的数据库被实现为一个包含与数据库中的表对应的文件的目录。因为在最初创建数据库时没有表,所以创建数据库语句只在MySQL数据目录下创建一个目录。如果数据库名称包含特殊字符,则数据库目录的名称包含这些字符的编码版本。

在MySQL 8.0中,不支持通过手动创建数据目录下的目录(例如,使用mkdir)来创建数据库目录。

在创建数据库时,请允许服务器管理该目录和其中的文件。直接操作数据库目录和文件可能会导致不一致和意外的结果。

MySQL对数据库的数量没有限制。底层文件系统可能对目录的数量有限制。

举例

创建一个名为"mydatabase"的MySQL数据库,并将其编码集设置为"utf8mb4"

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

解释一下:

  • CREATE DATABASE 是用来创建数据库的命令;
  • mydatabase 是要创建的数据库的名称;
  • CHARACTER SET utf8mb4 指定了编码集为 utf8mb4,这是一种支持更广泛的字符集和表情符号的编码集;
  • COLLATE utf8mb4_unicode_ci 是用于排序和比较字符数据的规则,这里采用了基于 Unicode 的 utf8mb4_unicode_ci 规则。

更改数据库语句

ALTER {DATABASE | SCHEMA} [db_name] alter_option ...alter_option: {[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}| READ ONLY [=] {DEFAULT | 0 | 1}
}

更改数据库允许您更改数据库的总体特征。这些特征被存储在数据字典中。此语句需要对数据库的更改权限。

如果省略了该数据库名称,则该语句将应用于默认数据库。在这种情况下,如果没有默认的数据库,就会发生一个错误.

对于从语句中省略的任何alter_option ,数据库将保留其当前的选项值,但更改字符集可能会更改排序规则,反之亦然。

相关参数

除了创建时提到的参数外还新增了只读选项

只读选项

故名思意,该数据库只读,在MySQL8.0.22中引入只读属性来控制是否允许修改数据库和数据库中的内容,0(非只读)和1(只读)

举例

修改一个名为"mydatabase"的MySQL数据库编码集为"utf8mb4"的SQL命令

ALTER DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

解释一下:

  • ALTER DATABASE 是用来修改数据库的命令;
  • mydatabase 是要修改的数据库的名称;
  • CHARACTER SET utf8mb4 指定了要将数据库的编码集修改为 utf8mb4,这是一种支持更广泛的字符集和表情符号的编码集;
  • COLLATE utf8mb4_unicode_ci 是用于排序和比较字符数据的规则,这里采用了基于 Unicode 的 utf8mb4_unicode_ci 规则。

删除数据库语句

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

DROP数据库将删除该数据库中的所有表,并删除该数据库。要使用DROP数据库,您需要使用该数据库上的DROP权限。DROP模式是DROP数据库的同义词。

执行这句的时候一定一定要非常小心,确保数据库名称一定是正确的,也务必确保你就是要删掉该数据库!!!

请注意,一旦数据库被删除,其中的所有数据都将被永久删除且不可恢复。因此,在执行删除操作之前,请确保您已经备份了重要的数据或者已经确认不再需要这个数据库中的任何数据。

IF EXISTS ,用于防止在数据库不存在时发生错误。

举例

删除一个名为"mydatabase"的MySQL数据库的SQL命令:

DROP DATABASE mydatabase;

解释一下:

  • DROP DATABASE 是用来删除数据库的命令;
    据。

IF EXISTS ,用于防止在数据库不存在时发生错误。

举例

删除一个名为"mydatabase"的MySQL数据库的SQL命令:

DROP DATABASE mydatabase;

解释一下:

  • DROP DATABASE 是用来删除数据库的命令;
  • mydatabase 是要删除的数据库的名称。





对于在窗口中输入命令时,需要注意,切勿忘写;不然不知道这个语句是否结束

相关文章:

[SQL Statements] 基本的SQL知识 之DDL针对数据库的基本操作

SQL Statements SQL语句的学习 之 DDL针对数据库的基本操作 什么是database 在 MySQL 中,Database(数据库)是一组有组织的数据集合,可以存储和管理相关数据的容器。一个数据库可以包含多个表(Table)&…...

Qt的MOC机制

Qt的MOC机制 Qt扩展了C,使得开发者拥有很多方便使用的工具。如何使用Qt提供的特性呢?比如信号与槽,那就需要开发者在类中声明Q_OBJECT宏,这样程序员就能使用Qt提供的功能了。为什么这样可以呢?先从C文件的编译过程开始…...

Linux驱动——设备模型

目录 一、起源 二、新方案 2.1 sysfs: 2.2 uevent 三、代码中自动mknod 四、实例 一、起源 仅devfs,导致开发不方便以及一些功能难以支持:(硬编) 1. 热插拔(插上usb设备就立马能安装驱动) 2. 不支持…...

.NET基础加强第一课--面向对象(OO)

.NET基础加强第一课--面向对象(OO)面向对象什么是类?封装--属性封装字段2, 方法的多个参数封装成一个类3, 把一堆代码封装到一个方法中4, 将一些功能封装到几个类中5, 将一些具有共有功能封装到…...

从Linux源码角度看套接字的Listen及连接队列

今天就从Linux源码的角度看下Server端的Socket在进行listen的时候到底做了哪些事情(基于Linux 3.10内核),当然由于listen的backlog参数和半连接hash表以及全连接队列都相关,在这里也一块讲了。 Server端Socket需要Listen 众所周知,一个Serv…...

cesium: 显示闪烁的点(004)

第004个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置闪烁的点。主要是介绍entity>point 相关的属性设置 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共107行)相关API参考:专栏目标示例效果 配…...

常见代码审计工具,代码审计为什么不能只用工具?

代码审计是一种发现程序漏洞,安全分析为目标的程序源码分析方式。今天主要分享的是几款常用的代码审计工具,以及代码审计工具有哪些优缺点? 代码审计工具 seay代码审计工具,是一款开源的利用C#开发的一款代码审计工具。主要有SQ…...

es8集群模式部署

准备3台机器 192.168.1.41 192.168.1.42 192.168.1.43因为es集群有几个节点,所以我对应node1,node2,node3.这几个名称并不是主机名,而是es节点名称 2. 开始部署,基础配置 (三台都做) systemctl stop firewalld syste…...

OAuth2

1.什么是OAuth2 OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript&…...

一、简单排序

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、Comparable接口介绍 1.描述 2.Comparable使用 二、冒泡排序 1.排序原理 2.冒泡排序实现 2.1 冒泡排序API 2.2 冒泡排序实现 3.冒泡排序时间复杂度 三…...

慢SQL出现原因、优化、开启慢查询日志

文章目录慢SQL:出现原因:解决方式:开启慢查询日志:慢SQL: 出现原因: (1)数据库表索引设置不合理 (2)SQL语句有问题,需要优化 解决方式: (1&am…...

要理解网络,其实不就是理解这三张表吗

我们如果要理解数据是如果在网络世界中穿梭的,那其实只要了解其中的三张表就可以了。这三张表分别为路由表、转发表、ARP 表。 假设我们用聊天工具聊天的时候,我在北京,你在广东,当我给你发送一条消息的时候。搭载这这条消息的数据…...

Java异常架构与异常关键字

Java异常简介 Java异常是Java提供的一种识别及响应错误的一致性机制。 Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, why这3个问…...

【阅读笔记】SecureML: A System for ScalablePrivacy-Preserving Machine Learning

1. Motivation 针对机器学习中的出现的数据隐私泄露的风险,提出了线性回归、逻辑回归以及简单神经网络的隐私保护模型。 2. Contributions 2.1 为线性回归、逻辑回归以及神经网络设计安全计算协议 2.1.1.1 线性回归 线性回归损失函数为: , 采用SG…...

【2023美赛】C题Wordle预测27页中文论文及Python代码详解

【2023美赛】C题Wordle预测27页中文论文及Python详解 相关链接 (1)2023年美赛C题Wordle预测问题一建模及Python代码详细讲解 (2)2023年美赛C题Wordle预测问题二建模及Python代码详细讲解 (3)2023年美赛C题…...

【C++修行之路】STL——模拟实现string类

文章目录前言类框架构造与析构c_str迭代器操作符重载[]&#xff1a;&#xff1a;> > < < !:reverse与resizereverseresizepush_back与append复用实现insert和erasec_str与流插入、流提取eraseswap(s1,s2)与s1.swap(s2)结语前言 这次我们分几个部分来实现string类…...

CorelDRAW2023最新版序列号使用教程

CorelDRAW2023用起来非常顺手&#xff0c;旨在为用户解决因在工作上带来的问题&#xff0c;在业内可谓享有极高的声誉&#xff0c;是业内人士常用的一款工具&#xff0c;有了它&#xff0c;可以更好的帮助用户把握好各个方面的细节&#xff0c;减少其他方面的失误&#xff0c;让…...

【一天一门编程语言】Python 语言程序设计极简教程

文章目录 Python 语言程序设计极简教程一、Python语言简介1.1 Python的优势1.2 Python的应用二、Python基础语法2.1 Python基础2.1.1 注释2.1.2 变量2.1.3 运算符2.1.4 控制流2.1.5 函数2.2 Python数据类型2.2.1 数字2.2.2 字符串2.2.3 列表2.2.4 元组2.2.4.1 元组的基本操作创…...

14、KL散度

KL 散度&#xff0c;是一个用来衡量两个概率分布的相似性的一个度量指标。 现实世界里的任何观察都可以看成表示成信息和数据&#xff0c;一般来说&#xff0c;我们无法获取数据的总体&#xff0c;我们只能拿到数据的部分样本&#xff0c;根据数据的部分样本&#xff0c;我们会…...

TypeError: load() missing 1 required positional argument: ‘Loader‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…...

解锁创意:obs-composite-blur插件的视觉魔法

解锁创意&#xff1a;obs-composite-blur插件的视觉魔法 【免费下载链接】obs-composite-blur A comprehensive blur plugin for OBS that provides several different blur algorithms, and proper compositing. 项目地址: https://gitcode.com/gh_mirrors/ob/obs-composite…...

遥感图像质量评价实战:用imgvision 1.7.3计算SAM、ERGAS等指标(附Python代码)

遥感图像质量评估实战&#xff1a;从理论到代码的完整指南 遥感图像处理是地理信息系统、环境监测和农业估产等领域的关键技术。当我们对高光谱图像进行压缩、融合或重建时&#xff0c;如何客观评价处理后的图像质量&#xff1f;本文将深入探讨五种核心评价指标(SAM、PSNR、MSE…...

Nunchaku FLUX.1-dev 文生图技术解析:卷积神经网络在图像生成中的角色

Nunchaku FLUX.1-dev 文生图技术解析&#xff1a;卷积神经网络在图像生成中的角色 最近在尝试各种文生图模型时&#xff0c;Nunchaku FLUX.1-dev 的表现让我印象深刻。它生成的图片不仅细节丰富&#xff0c;而且风格多样&#xff0c;从写实到抽象都能驾驭得很好。这让我不禁好…...

工业质检新革命:无需标注数据,用ChatGPT式对话完成目标定位

工业质检新革命&#xff1a;无需标注数据&#xff0c;用ChatGPT式对话完成目标定位 1. 传统工业质检的痛点与挑战 在制造业的质检环节中&#xff0c;目标定位一直是个技术难题。传统方法通常需要&#xff1a; 大量标注数据训练专用模型针对每种产品定制算法频繁调整参数适应…...

OpenClaw多语言支持:GLM-4.7-Flash跨语言任务处理

OpenClaw多语言支持&#xff1a;GLM-4.7-Flash跨语言任务处理 1. 为什么需要多语言自动化助手 上周我需要整理一份包含中英日三语的会议纪要时&#xff0c;突然意识到一个问题&#xff1a;传统自动化工具往往只擅长处理单一语言环境。当我尝试用Python脚本批量处理日语邮件时…...

【Docker】容器生命周期管理:从优雅停止到高效清理的实战技巧

1. 为什么需要关注容器生命周期管理&#xff1f; 第一次接触Docker时&#xff0c;很多人会把容器当成"轻量级虚拟机"来用。直到某天深夜&#xff0c;我的生产环境突然报警——磁盘空间爆满了。排查后发现&#xff0c;原来过去三个月创建的测试容器都没清理&#xff0…...

从零构建企业级Text2Sql应用:Vanna私有化部署与Dify工作流集成

1. 企业级Text2Sql应用的核心价值 想象一下&#xff0c;财务部门的同事对着Excel表格发愁&#xff1a;"能不能帮我找出上季度华东区销售额超过50万的所有客户&#xff1f;"传统做法需要找IT部门提需求&#xff0c;等开发人员写SQL查询&#xff0c;流程可能长达数三天…...

保姆级教程:在Ubuntu上复现‘easy溯源’靶场,手把手教你分析反弹Shell和内网穿透痕迹

在Ubuntu上复现‘easy溯源’靶场&#xff1a;从环境搭建到痕迹分析实战指南 当你第一次接触应急响应时&#xff0c;是否曾被各种专业术语和复杂场景搞得晕头转向&#xff1f;本文将带你从零开始&#xff0c;在Ubuntu系统上完整复现一个名为easy溯源的靶场环境。这不是简单的解题…...

组合导航(五):惯性导航系统的误差分析与校正方法

1. 惯性导航系统误差的根源剖析 刚接触惯性导航的朋友们常会遇到这样的困惑&#xff1a;为什么同样的设备&#xff0c;在不同环境下定位精度差异这么大&#xff1f;这就像用同一把尺子测量物体&#xff0c;有时准有时不准&#xff0c;问题往往出在尺子本身的误差上。惯性导航系…...

Vue3 + Cornerstone3D:从零构建支持本地Nifti文件上传与四视图联动的医学影像查看器

1. 为什么选择Vue3Cornerstone3D开发医学影像查看器 医学影像处理一直是前端开发中颇具挑战性的领域&#xff0c;特别是当需要处理专业格式如Nifti时。我在实际项目中尝试过多种技术方案后&#xff0c;发现Vue3和Cornerstone3D的组合特别适合快速构建高性能的医学影像应用。 …...