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

MySQL 篇-深入了解 DDL 语言(一)

 🔥博客主页: 【小扳_-CSDN博客】
❤感谢大家点赞👍收藏⭐评论✍
   

 

文章目录

        1.0 MySQL 说明

        2.0 DDL 语言

        2.1 DDL 语言 - 定义数据库

        2.1.1 创建数据库操作

        2.1.2 查看数据库操作

        2.1.3 使用数据库操作

        2.1.4 删除数据库操作

        2.2 DDL 语言 - 定义表格

        2.2.1 创建表格操作

        2.2.2 查询表格操作

        2.2.3 删除表格操作

        2.2.4 修改表格操作


        1.0 MySQL 说明

        MySQL 是一种关系型数据库管理系统,它支持使用 SQL(Structured Query Language)来管理和操作数据库。SQL 是一种标准化的数据库查询语言,包括 DDL、DML、DQL、DCL 和 TCL等不同类型的语句。

        2.0 DDL 语言

        DDL 是数据定义语言(Data Definition Language)的缩写,是一种用于定义数据库结构和模式的语言。DDL 包括创建、修改和删除数据库表、视图、索引等数据库对象的语句。常见的 DDL 语句包括 CREATE、ALTER 和 DROP 等。因此,DDL 不是一种独立的编程语言,而是用于管理数据库结构的语言。简单来说, DDL 就是对数据库、表进行增加、删除、查询、修改

        2.1 DDL 语言 - 定义数据库

        用 DDL 语言来对数据库的操作主要有一下四点:创建数据库、查询当前的数据库、使用指定的数据库、删除数据库。

        2.1.1 创建数据库操作

创建数据库的 SQL 语句为:

create database [ if not exists ] 数据库名;

        对于 [ if not exists ] ,翻译为:"如果改数据库不存在" 。这段代码可写可不写,没有强制要求。主要区别是,若没有加上这段代码且存在该数据库,则会报错;若加上这段代码且存在该数据库。则不会报错。

        已知已经存在 db01 这个数据库了,通过 create database db01; 再来创建时,会报错。如果加上 if not exists ,那么及时创建相同的数据库也不会报错,当然也不可能创建一个一摸一样的数据库。

        2.1.2 查看数据库操作

查看全部数据库的 SQL 语句:

 show databases;

        需要注意的是,这里的 databases 记得加上 s 且该后面结尾加上 ";" 。 

查看的结果为:

        在红色框里面的数据库是 MySQL 自带的数据库,万万不可对这四个数据库进行任何危险操作。否则 MySQL 出现问题,需要重新安装了。

        除了这个查看全部数据库操作之外,还有查看当前使用数据库操作。

 查看当前数据库的 SQL 语句:

select database();

        这里的 database 是没有加上 s 的且注意是加上 () 。

操作结果为:

        当前使用的数据库为 db01 。

        2.1.3 使用数据库操作

使用数据库的 SQL 语句:

use 数据库名;

        简单来说,就是选择指点的数据库。

操作结果为:

        2.1.4 删除数据库操作

删除数据库的 SQL 语句:

drop database if exists 数据库名;

        若存在该数据库,删除不会报错;如果没有加上 if exists 这段代码,那么当不存在该数据库而要删除该数据库时,会报错。

操作结果为:

        删除该数据库后,查看全部数据时,不存在 db01 这个库了。显然是删除成功了。

        2.2 DDL 语言 - 定义表格

        在对表进行操作之前,需要先选择数据库。DDL 来定义表格的操作有:创建表格、查询表格、修改表格、删除表格。

        2.2.1 创建表格操作

        1)在创建表格之前,先来简单了解约束

        约束概念:约束是作用与表中字段上的规则,用于限制存储在表中的数据。

        约束目的:保证数据中数据的正确性、有效性和完整性。

约束类型如下:

        2)在创建表格之前,再来简单了解数据类型

        数据类型可以简单理解为,该字段需要存储空间的大小。总共分为三大类:数值类型、字符串类型、日期时间类型。

数值类型如图:

字符串常见类型如图:

         两者区别:举例子 char(10) 与 varchar(10) ,对于 char(10) 来说,不管空间是否占满,都要消耗 10 个字节大小的空间。而对于 varchar(10) 来说,若空间没有占满 10 个字节大小,就会按照消耗实际存储空间大小。

日期时间类型如图:

3)创建表格的 SQL 语句:

create table 表名(字段 1 字段类型 [约束] [ comment 字段1注释 ],......字段 n 字段类型 [约束] [ comment 字段n注释] 
) [comment 表注释];

实际例子演示: 

create table tb_user(id tinyint unsigned auto_increment primary key comment '唯一标识',username varchar(20) not null unique comment '用户名',name varchar(20) not null comment '名字',age tinyint unsigned comment '年龄',gender char(1) default '男' comment '性别,默认为男性'
)comment '用户表';

操作结果为:

        这就可以得到一个表格。之后就可以在表格中添加数据了。

        2.2.2 查询表格操作

查询当前该数据库中的全部表的 SQL 语句:

-- 查看表
show tables;

操作结果为:

查询该表的结构的 SQL 语句:

-- 查看表的结构
desc 表名;

操作结果为:

        注意查询两者的区别:一个是查询所有的表、另一个是查询指定表的结构

        2.2.3 删除表格操作

删除表格的 SQL 语句为:

-- 删除表
drop table 表名;

        2.2.4 修改表格操作

1)添加字段的 SQL 语句:

alter table 表名 add 字段名 类型 [约束];

 2)修改字段类型的 SQL 语句:

alter table 表名 modify 字段名 新数据类型;

3)修改字段名和字段类型的 SQL 语句:

alter table 表名 change 旧字段名 新字段名 类型 [约束];

4)删除字段的 SQL 语句:

alter table 表名 drop column 字段名;

5)修改表名的 SQL 语句:

rename table 旧表名 to 新表名;

 结合以上操作举个修改例子:

-- 增加表中的列
alter table tb_user add qq char(10) comment 'QQ号';-- 修改字段类型
alter table tb_user modify qq char(22);-- 修改字段名和字段类型
alter table tb_user change qq qq_name char(20);-- 删除表中的指定的字段
alter table tb_user drop column qq_name;-- 修改表中的名字
rename table tb_user to tb_user2;
rename table tb_user2 to tb_user;

 

相关文章:

MySQL 篇-深入了解 DDL 语言(一)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 MySQL 说明 2.0 DDL 语言 2.1 DDL 语言 - 定义数据库 2.1.1 创建数据库操作 2.1.2 查看数据库操作 2.1.3 使用数据库操作 2.1.4 删除数据库操作 2.2 DDL 语言 …...

MT8788|MTK8788安卓核心板参数_4G联发科MTK模块

MT8788核心板是一款功能强大的4G全网通安卓智能模块。该模块采用了联发科AIOT芯片平台,具有长达8年的生命周期。MT8788模块内置了12nm制程的八核处理器,包括4个Cortex A73和4个Coretex A53,主频最高可达2.0GHZ。标配内存为4GB64GB&#xff0c…...

EXCEL 在列不同单元格之间插入N个空行

1、第一步数据,要求在每个数字之间之间插入3个空格 2、拿数据个数*(要插入空格数1) 19*4 3、填充 4、复制数据到D列 5、下拉数据,选择复制填充这样1-19就会重复4次 6、全选数据D列排序,这样即完成了插入空格 以…...

Linux快速修改ip地址

Linux修改IP配置 一 、查找ip配置文件 ifcfg-ens33二、编辑 vi ifcfg-ens33文件三、重启网络或者重启系统 一 、查找ip配置文件 ifcfg-ens33 cd /etc/sysconfig/network-scripts/ls //查看network-scripts文件夹下面的文件二、编辑 vi ifcfg-ens33文件 vi ifcfg-ens33注意&…...

采用遗传算法搜索MAC效率最高的矩阵乘规模

如何采用遗传算法搜索MAC效率最高的矩阵乘规模 具体实现MAC效率评估代码(eval.py)遗传算法实现 本文介绍了采用遗传算法搜索MAC效率最高的矩阵乘规模 需求背景: 一些AI加速卡在做矩阵乘时,因硬件或软件的约束,并不是规模越大MAC效率越高在测试AI加卡的实际算力时,采用MAC效率最…...

流计算之Flink

文章目录 概要有界无界流集群JobManagerTaskManagersTasks 和算子链Task Slots 和资源 小结 概要 Apache Flink 是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模…...

【Linux基础】Linux自动化构建工具make/makefile

背景 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后…...

问题慢慢解决-通过android emulator调试android kernel-内核条件断点遇到的问题和临时解决方案

起因 在摸索到这个方案之后,mac m1调试aarch64 android kernel最终方案,就准备调试内核了,预备下断点的地方是 b binder_poll b ep_ptable_queue_proc b remove_wait_queue但是由于是android系统,上面三个函数会被频繁的触发&am…...

社区发现之标签传播算法(LPA)

在Graph领域,社区发现(Community detection)是一个非常热门且广泛的话题,后面会写一个系列,该问题实际上是从子图分割的问题演变而来,在真实的社交网络中,有些用户之间连接非常紧密,有些用户之间的连接较为稀疏,连接紧密的用户群体可以看做一个社区,在风控问题中,可…...

【前端素材】推荐优质后台管理系统Dashy平台模板(附源码)

一、需求分析 后台管理系统(或称作管理后台、管理系统、后台管理平台)是一种专门用于管理网站、应用程序或系统后台运营的软件系统。它通常由一系列功能模块组成,为管理员提供了管理、监控和控制网站或应用程序的各个方面的工具和界面。以下…...

MFC 配置Halcon

1.新建一个MFC 工程,Halcon 为64位,所以先将工程改为x64 > VC 目录设置包含目录和库目录 包含目录 库目录 c/c ->常规 链接器 ->常规 > 链接器输入 在窗口中添加头文件 #include "HalconCpp.h" #include "Halcon.h"…...

xss-跨站脚本攻击漏洞

前备知识: Cookie和Session是Web开发中用于维持用户状态、跟踪用户会话的核心技术,它们的主要目的是在无状态的HTTP协议基础上实现有状态的用户交互。 **Cookie**: - Cookie是一种由服务器发送到客户端(通常是用户的浏览器&#x…...

在MFC对话框中嵌入web网页时事件失效问题

2010-04-20 日志 在MFC对话框中嵌入web网页时,网页初始化中添加事件无效 document.body.onkeydown function () {//onkeydown"keydownbody()" 不能激发alert(event.keyCode);if(event.keyCode 27)//VK_ESCAPE //String.fromcharcode(A);{if (external…...

【Leetcode】235. 二叉搜索树的最近公共祖先

文章目录 题目思路代码结果 题目 题目链接 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度…...

python 基础语法及保留字

编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码: # -*- coding: cp-1252 -*-上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语…...

Parade Series - NVR Stat

获取文件夹占用空间信息 DIR %NVRHOME% /W /SDIR %NVRHOME% /s | tail -n2 | sed s/,//g | awk {if(NR1){key"Used";}else{key"Free";};sum$3/(1024*1024);unit"MB";if(sum^>1024){sumsum/1024;unit"GB";}printf("{\"Ty…...

【shell脚本实战学习笔记】#2

场景描述 你负责一个Web应用的运维工作,该应用部署在一组Linux服务器上。你需要编写一个Shell脚本来自动化以下任务: 检查Web服务器进程: 确保Web服务器(例如Apache或Nginx)正常运行。如果没有运行,则尝试…...

docker 安装nacos 一脚shell脚本

要创建一个用于安装Nacos的Docker的Shell脚本,你可以按照以下步骤进行。这个脚本会执行以下操作: 拉取Nacos的Docker镜像。创建一个Docker容器并映射必要的端口。设置Nacos的环境变量。如果需要,可以持久化存储数据到本地目录。 以下是一个…...

mysql的隔离级别,和实现

参考链接 https://xiaolincoding.com/mysql/transaction/mvcc.html#%E4%BA%8B%E5%8A%A1%E7%9A%84%E9%9A%94%E7%A6%BB%E7%BA%A7%E5%88%AB%E6%9C%89%E5%93%AA%E4%BA%9B 事务特性(ACID) 原子性(Atomicity): 事务是原子的&…...

Linux的信号

Linux的信号是一种用于进程之间通信的机制。它们用于向进程发送通知,告知进程发生了某种事件或请求进程执行某个操作。信号可以由内核、其他进程或进程自身发送。 信号的作用有以下几个方面: 通知进程某个事件的发生,如进程的终止、挂起、恢…...

Spring数据脱敏实现

在当今的数字化时代,数据安全和个人隐私保护变得日益重要。为了遵守各种数据保护法规,如欧盟的GDPR(通用数据保护条例),企业在处理敏感信息时需要格外小心。数据脱敏是一种常见的技术手段,用于隐藏敏感数据…...

Java核心-核心类与API(4)

话接上回,继续核心类与API的学习,最后介绍一下Object类以及与数学、日期/时间有关的类,就结束该部分的学习了,其他的根据需要自行了解。 一、Object类 1、概述 Object 是 Java 类库中的一个特殊类,也是所有类的父类…...

【C语言】详解计算机二级c语言程序题

文章目录 前言资料相关程序题 一(字符串)程序题 二(数组)程序题 三(基础)程序题 四(结构体)程序题 五(结构体)程序题 六(基础) 前言 …...

限流算法

下面对常见的限流算法进行讨论。目前,常用的限流算法主要有三种:计数器法、滑动窗口算法、漏桶算法和令牌桶算法。下面分别介绍其原理。 1. 计数器法 计数器法是通过计数对到来的请求进行选择性处理。如系统限制一秒内最多有X个请求,则在该…...

备战蓝桥杯 Day10(背包dp)

01背包问题 1267:【例9.11】01背包问题 【题目描述】 一个旅行者有一个最多能装 M� 公斤的背包,现在有 n� 件物品,它们的重量分别是W1,W2,...,Wn�1,�2&#…...

Sora 使用教程,新手小白可用

Sora 使用教程,新手小白可用 参考文章:Sora 使用教程,OpenAI 的文生视频模型 为了在激烈的行业竞争中保持领先地位,OpenAI 在 2024 年 2 月 15 日发布了其革命性的文本至视频转换模型——Sora。这个先进的工具能够将文本描述转化…...

【洛谷千题详解】P1031 均分纸牌

目录 题目描述 思路点拨 AC代码 题目描述 题目网址:[NOIP2002 提高组] 均分纸牌 - 洛谷 有 N 堆纸牌,编号分别为 1,2,……,N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若干张纸牌,然后移动。 移牌规则为&a…...

基于文本提示和语义分割的快速抠图

基于文本提示和语义分割的快速抠图 1. 介绍2. 效果展示3. 安装模型4. 命令行调用5. 代码调用5.1 模型加载5.2 可视化函数定义5.3 图像语义分割 6. 参考资料7. 结语服务 1. 介绍 传统的图像语义分割模型通常固定类别进行分割,而基于文本提示的语义分割模型则具有更高…...

什么是媒体发稿?发稿媒体分类及发稿流程

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体发稿是一种企业推广和宣传的手段,通过媒体渠道传递企业信息和形象。 媒体发稿的含义在于,当企业有新闻、事件或其他消息需要对外公布时,可以选择…...

安全测试自学手册之软件安全测试基础

安全测试的概念 定义:指有关验证应用程序的安全等级和识别潜在安全性缺陷的过程。】 应用软件的安全性测试:软件自身设计中存在的安全隐患,并检查软件对非法入侵的防御能力。系统级别的安全性测试:确保只有具备系统平台访问权限…...

黄页b2b网站大全免费/怎样进入12345的公众号

小文:今天面试又搞砸了? 小 k:怎么了? 小文:又一个大小写转换的题目感觉答错了。 小 k:说来听听。 小文:将"hello world"转换为首字母大写"Hello World" 小 k:你的答案是什么? 小文:用 capitalize 方法啊。 小 k:capitalize 方法只能将第一个单…...

如何用asp.net做网站/市场宣传推广方案

this简介 在Java中this可以完成三件事情:表示本类属性、表示本类方法、当前对象(只是先介绍概念) 调用本类属性 在一个类中定义的方法中可以直接访问类中的属性,但是很多时候有可能会出现方法参数名称与属性名称重复的情况&#x…...

做什网站推广真实有效/网店代运营公司

昨天做了什么:昨天把登录界面写出来了,用户能够进行注册登录,并且注册的时候用户名、手机号不能相同,否则注册失败。 今天做了什么:今天准备把登录界面优化一下,于是我从网上找了一个登录界面的demo&#x…...

家居企业网站建设新闻/临沂网站建设方案服务

学php必收藏的几个经典代码第1/2页2021-01-23 15:24:19261经典循环例子经典循环例子for($counter1;$counter<6;$counter)//循环6次{print("counteris$counter\n");//打印6次}?>for的高级运用for的高级运用/***打印必要的说明文字*/print("距离星期一还有…...

宁波seo博客/seo推广顾问

今日课程大纲&#xff1a; 01 上周内容回顾 02 闭包 03 装饰器 04 可迭代对象 与 迭代器 05 生成器 06 生成器表达式 列表推导式 07 匿名函数 08 内置函数01 上周内容回顾1 #!/usr/bin/env python32 #author:Alnk(李成果)3 """4 深浅copy:5 浅copy&…...

常用的oa系统办公软件/如何进行搜索引擎优化

正确理解单周期处理器的“数据通路” 这种是属于不懂会一脸懵逼&#xff0c;但理解了就会清晰畅快的知识点。 记录一下自己的理解&#xff1a; 建立数据通路的目的是为了让指令更好的执行&#xff0c;最基本的五个步骤&#xff1a;取指、译码、执行、访存、回写。与之相应的&am…...