当前位置: 首页 > 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名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…...

【设计模式】 观察者模式介绍及C代码实现

【设计模式】 观察者模式介绍及C代码实现 背景 在软件构建过程中&#xff0c;我们需要为某些对象建立一种“通知依赖关系”&#xff0c;即一个对象&#xff08;目标对象&#xff09;的状态发生改变&#xff0c;所有的依赖对象&#xff08;观察者对象&#xff09;都将得到通知。…...

01-Maven基础-简介安装、基本使用(命令)、IDEA配置、(写jar,刷新自动下载)、依赖管理

文章目录0、Maven1、Maven 简介2、Maven 安装配置安装配置步骤3、Maven 基本使用Maven 常用命令Maven 生命周期IDEA 配置 MavenMaven 坐标详解IDEA 创建 Maven 项目IDEA 导入 Maven 项目配置 Maven-Helper 插件 (非常实用的小插件)依赖管理使用坐标导入 jar 包依赖范围0、Maven…...

一、前端稳定性规约该如何制定

前言 稳定性是数学或工程上的用语&#xff0c;判别一系统在有界的输入是否也产生有界的输出。若是&#xff0c;称系统为稳定&#xff1b;若否&#xff0c;则称系统为不稳定。 前端稳定性的体系建设大约可以分为了发布前&#xff0c;发布后&#xff0c;以及事故解决后三个阶段…...

Docker(三)Docker网络

目录1 结论知识2 link3 自定义网络1 结论知识 每一个容器启动时都会被分配一个ip地址&#xff1b;宿主机可以ping通任何一个docker容器&#xff1b;启动docker之后&#xff0c;宿主机默认网卡docker0&#xff0c;启动容器在宿主机注册网卡&#xff0c;使用的evth-pair技术&…...

Js高级API

Decorator装饰器 针对属性 / 方法的装饰器 // decorator 外部可以包装一个函数&#xff0c;函数可以带参数function Decorator (type) {/*** 这里是真正的decorator* description: 装饰的对象的描述对象* target:装饰的属性所述类的原型&#xff0c;不是实例后的类。如果装饰…...

团队:在人身上,你到底愿意花多大精力?

你好&#xff0c;我是叶芊。 今天我们讨论怎么带团队这个话题&#xff0c;哎先别急着走&#xff0c;你可能跟很多人一样&#xff0c;觉得带团队离我还太远&#xff0c;或者觉得我才不要做管理&#xff0c;我要一路技术走到底&#xff0c;但是你知道吗&#xff1f;带团队做事&am…...

Linux-Poolkit提权

Linux-Poolkit提权 漏洞复现- Linux Polkit 权限提升漏洞&#xff08;CVE-2021-4034&#xff09; 0x00 前言 polkit是一个授权管理器&#xff0c;其系统架构由授权和身份验证代理组成&#xff0c;pkexec是其中polkit的其中一个工具&#xff0c;他的作用有点类似于sudo&#x…...

【React全家桶】React Hooks

React Hookshooks介绍useState(保存组件状态)useEffect()useCallback(记忆函数)useMemo() 记忆组件useRef(保存引用值)useReducer()useContext(减少组件层级)自定义hookshooks介绍 在react类组件&#xff08;class&#xff09;写法中&#xff0c;有setState和生命周期对状态进…...

CLIP论文阅读

Learning Transferable Visual Models From Natural Language Supervision 利用自然语言的监督信号学习可迁移的视觉模型 概述 迁移学习方式就是先在一个较大规模的数据集如ImageNet上预训练&#xff0c;然后在具体的下游任务上再进行微调。这里的预训练是基于有监督训练的&am…...

华为OD机试真题Python实现【身高排序】真题+解题思路+代码(20222023)

身高排序 题目 小明今年升学到了小学一年级, 来到新班级后,发现其他小朋友身高参差不齐, 然后就想基于各小朋友和自己的身高差,对他们进行排序, 请帮他实现排序 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Python)真题目录汇总 输入 第一行为正整数H…...