[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迭代器操作符重载[]::> > < < !:reverse与resizereverseresizepush_back与append复用实现insert和erasec_str与流插入、流提取eraseswap(s1,s2)与s1.swap(s2)结语前言 这次我们分几个部分来实现string类…...
CorelDRAW2023最新版序列号使用教程
CorelDRAW2023用起来非常顺手,旨在为用户解决因在工作上带来的问题,在业内可谓享有极高的声誉,是业内人士常用的一款工具,有了它,可以更好的帮助用户把握好各个方面的细节,减少其他方面的失误,让…...
【一天一门编程语言】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 散度,是一个用来衡量两个概率分布的相似性的一个度量指标。 现实世界里的任何观察都可以看成表示成信息和数据,一般来说,我们无法获取数据的总体,我们只能拿到数据的部分样本,根据数据的部分样本,我们会…...
TypeError: load() missing 1 required positional argument: ‘Loader‘解决方案
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
