MySQL的DDL语句

news2024/11/27 8:40:33

文章目录

  • ☃️概述
  • ☃️DDL(数据定义语言)
  • ☃️数据库操作
  • ☃️表操作
  • ☃️DDL的重要性


在这里插入图片描述


☃️概述

MySQL 通用语法分类

● DDL: 数据定义语言,用来 定义数据库对象(数据库、表、字段)
● DML: 数据操作语言,用来对数据库表中的数据进行增删改
● DQL: 数据查询语言,用来 查询 数据库中表的记录
● DCL: 数据控制语言,用来创建数据库用户、控制数据库的控制权限


☃️DDL(数据定义语言)

DDL 指的是数据定义语言(Data Definition Language),它是用来定义数据库结构和布局的语言。通常用于创建和修改数据库对象,比如表、视图、索引等。DDL 包括了一些常见的命令,比如 CREATEALTERDROP 等,这些命令可以用来创建、修改和删除数据库对象,从而定义数据在数据库中的结构。


☃️数据库操作

数据库操作有如下语法:

● 查询所有数据库:
SHOW DATABASES;

● 查询当前数据库:
SELECT DATABASE();

● 创建数据库:
CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];
CREATE DATABASE test_snow DEFAULT CHARSET utf8mb4;

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

● 使用数据库:
USE 数据库名;

注意事项
UTF8字符集长度为3字节,有些符号占4字节,所以推荐用 utf8mb4 字符集


☃️表操作

● 查询当前数据库所有表:
SHOW TABLES;

● 查询表结构:
DESC 表名;

● 查询指定表的建表语句:
SHOW CREATE TABLE 表名;

创建表:

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

最后一个字段后面没有逗号.

添加字段 ADD:

ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称';

//	在 字段A 后面/前面 添加一个新的字段 nickname
ALTER TABLE emp ADD nickname varchar(20) COMMENT '昵称' [AFTER/BEFORE] 字段A ;

修改数据类型 MODIFY:

ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

修改字段名和字段类型 CHANGE:

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
//	例:将emp表的nickname字段修改为username,类型为varchar(30)
ALTER TABLE emp CHANGE nickname username varchar(30) COMMENT '昵称';

删除字段:

ALTER TABLE 表名 DROP 字段名;

修改表名:

ALTER TABLE 表名 RENAME TO 新表名

删除表:

DROP TABLE [IF EXISTS] 表名;

删除表,并重新创建该表:

TRUNCATE TABLE 表名;

☃️DDL的重要性

DDL 的重要性在于它是数据库管理的基础。通过DDL,你可以定义数据库中的各种对象,如表、视图、索引等,从而决定了数据在数据库中的结构和组织方式。这种结构的定义对于数据库的性能、安全性和可维护性都至关重要。

具体来说,DDL 的重要性体现在以下几个方面:

数据库结构定义:DDL 允许你定义数据库中的各种对象及其属性,如表的字段、数据类型、约束等,这直接影响了数据的存储和组织方式。

数据完整性:DDL 中可以定义各种约束条件,如主键约束、外键约束、唯一约束等,这有助于确保数据的完整性,防止无效或不符合规范的数据进入数据库。

数据库性能优化:通过合理地设计数据库结构和索引,可以提高数据库的查询性能和响应速度。DDL 提供了创建和管理索引的命令,使得优化数据库性能成为可能。

数据安全性:DDL 允许你设置访问权限和安全控制,限制用户对数据库对象的操作和访问权限,保护敏感数据不被未经授权的用户访问。

数据库版本控制和管理:DDL 脚本记录了数据库对象的创建和修改过程,可以作为数据库版本控制的一部分,帮助团队协作和管理数据库变更。

DDL 是数据库管理的重要组成部分,它定义了数据库的基本结构和属性,直接影响着数据库的性能、安全性和可维护性,因此在数据库设计和管理中起着至关重要的作用。




在这里插入图片描述



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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

天擎客户端卸载 自我保护异常

问题:客户端卸载失败提示“检测到自我保护状态异常,停止卸载” 下列操作,均在客户端进行,别改成服务端的了 进入天擎客户端主目录,默认路径为 C:\Program Files (x86)\Qianxin\Tianqing 将avsecbase.dll 重命名为 1…

JAVA NIO(二) Buffer和Channel

一,基本使用 1, 一个Socket连接使用一个Channel来表示,以前直接操作Socket文件描述符来对读写缓冲区操作,比如读数据到用户空间的一个byte数组,NIO中Channel对这个过程作了封装,其中用户空间的byte数组就类…

电商数据:准确性与覆盖率的关键意义

在当今的电商环境下,以电商数据为驱动,品牌能够开展诸多与渠道相关的工作,像是电商数据监测、数据分析以及低价治理等。然而,所有这些工作的首要前提便是数据的准确性必须达到较高水平。倘若准确性无法得到有效保障,那…

C语言 | Leetcode C语言题解之第172题阶乘后的零

题目: 题解: int trailingZeroes(int n) {int ans 0;while (n) {n / 5;ans n;}return ans; }

【STM32】时钟树系统

1.时钟树简介 1.1五个时钟源 LSI是低速内部时钟,RC振荡器,频率为32kHz左右。供独立看门狗和自动唤醒单元使用。 LSE是低速外部时钟,接频率为32.768kHz的石英晶体。这个主要是RTC的时钟源。 HSE是高速外部时钟,可接石英*/陶瓷谐振…

el-input-number 限制输入正整数

vue 页面 限制输入最小值为0 :min"0" <el-input-number v-model"scope.row.num" change"handleNumChange(scope)" keydown.enter.prevent style"width: 200px; " :min"0" />methods 里面限制输入的数字不为小数 使…

DPDK与传统收发报文的区别

1.去除中断 传统的收发报文方式都必须采用硬中断来做通讯&#xff0c;每次硬中断大约消耗100微秒&#xff0c;这还不算因为终止上下文所带来的Cache Miss。 DPDK采用轮询模式驱动(PMD)。 PMD由用户空间的特定的驱动程序提供的API组成&#xff0c;用于对设备和它们相应的…

Swoole_loader扩展安装图文教程 Swoole扩展文件下载

Swoole_loader扩展安装图文教程 Swoole扩展文件下载 安装和配置Swoole Loader 1 - 下载Swoole Loader 请下载兼容PHP7.2和非线程安全的Swoole Loader扩展&#xff0c;点击下载适配环境的扩展文件 2 - 安装Swoole Loader 将刚才下载的Swoole Loader扩展文件&#xff08;swo…

Redis—List数据类型及其常用命令详解

文章目录 一、Redis概述List类型1 LPUSH:将一个或多个值插入到列表头部2 RPUSH:将一个或多个值插入到列表尾部3 LPOP:从列表头部弹出并移除一个或多个元素4 RPOP&#xff1a;从列表尾部弹出一个或多个元素5 LLEN:获取 Redis 列表的长度6 LRANGE:获取 Redis 列表中指定范围内的元…

SpringCloud 基于Nacos和Eureka 实现双注册双订阅

一、使用场景/原因 过渡期迁移: 当系统从一个服务注册中心迁移到另一个时&#xff0c;例如从 Eureka 迁移到 Nacos&#xff0c;可以在过渡期内同时使用两个注册中心&#xff0c;确保服务平稳迁移&#xff0c;逐步过渡&#xff0c;避免一次性切换带来的风险。 兼容性考虑: 不同的…

http/2 二进制分帧层 (Binary Framing Layer)讲解

文章目录 二进制帧HTTP/2 中的帧、消息和流1. 帧&#xff08;Frame&#xff09;2. 消息&#xff08;Message&#xff09;3. 流&#xff08;Stream&#xff09;总结示例&#xff1a; 二进制帧结构1.帧头部结构2.帧负载数据 请求和响应多路复用 链接参考&#xff1a;https://web.…

C#修改 EXE 文件图标和 winForm 窗口图标

修改 EXE 文件图标 1.准备好图片&#xff0c;转换为 Icon 图片&#xff1b; 2.右键工程&#xff0c;选择属性&#xff1b; 3.选择 Icon 图标即可&#xff1b; 4.重新生成可执行文件&#xff0c;查看。 修改 winForm 窗口图标 1.选中 winForm &#xff0c;查看属性&#x…

天马学航——智慧教务系统(移动端)开发日志三

天马学航——智慧教务系统(移动端)开发日志三 日志摘要&#xff1a;更新了学生选课模块、我的课程模块以及退课的功能&#xff0c;优化了后端数据库的缓存 1、学生选课模块 学生选课模块主要实现&#xff0c;学生根据需求进行选课操作&#xff0c;通过后端查询到所有教师的课…

mysql 主从延迟

mysql 主从延迟 精华推荐 | 【MySQL技术专题】「主从同步架构」全面详细透析MySQL的三种主从复制&#xff08;Replication&#xff09;机制的原理和实战开发&#xff08;原理实战&#xff09; https://blog.csdn.net/l569590478/article/details/128329929 mysql主从之多线程复…

Nuxt 3 路由系统详解:配置与实践指南

title: Nuxt 3 路由系统详解&#xff1a;配置与实践指南 date: 2024/6/21 updated: 2024/6/21 author: cmdragon excerpt: 摘要&#xff1a;本文是一份关于Nuxt 3路由系统的详尽指南。它从介绍Nuxt 3的基本概念开始&#xff0c;包括Nuxt 3与Nuxt 2的区别和选择Nuxt 3的理由。…

创建OpenWRT虚拟机

环境&#xff1a;Ubuntu 2204&#xff0c;VM VirtualBox 7.0.18 安装必备软件包&#xff1a; sudo apt update sudo apt install subversion automake make cmake uuid-dev gcc vim build-essential clang flex bison g gawk gcc-multilib g-multilib gettext git libncurses…

供应链投毒预警 | utilitytool系列Py包开展XenoRAT远控木马投毒

概述 上周&#xff08;2024年6月14号&#xff09;&#xff0c;悬镜供应链安全情报中心在Pypi官方仓库&#xff08;https://pypi.org/&#xff09;中捕获2起针对Windows系统的Python包投毒事件&#xff0c;涉及Python组件包utilitytool及utilitytools&#xff0c;投毒者&#x…

C++开发基础之频繁使用`std::endl`可能导致性能问题

前言 你是否曾经注意过这个问题&#xff0c;频繁使用std::endl可能导致性能问题。在C开发中&#xff0c;许多开发者习惯于使用std::endl来换行输出并刷新缓冲区。然而&#xff0c;这种习惯性操作可能会在高频率输出场景中带来显著的性能瓶颈。接下来&#xff0c;我们将深入探讨…

2.XSS-存储型

储存型XSS 或持久型 XSS 交互的数据会被存在在数据库里面,永久性存储,具有很强的稳定性。 在留言板里面进行测试一下是否有做过滤 "<>?&66666点击提交 查看元素代码&#xff0c;已经提交完成&#xff0c;并且没有做任何的过滤措施 接下来写一个javascrip…

由于没有远程桌面授权服务器怎么办?

在现代的工作环境中&#xff0c;远程访问和远程桌面控制已经成为一项日益重要的需求。随着企业和组织的扩张&#xff0c;人们经常需要在不同的地点之间共享文件和应用程序。由于缺乏远程桌面授权服务器&#xff0c;这一过程可能会变得困难和不安全。 远程桌面授权服务器是一种…