MySQL的DDL语句

2024-06-22 08:04
文章标签 mysql ddl 语句 database

本文主要是介绍MySQL的DDL语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • ☃️概述
  • ☃️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 是数据库管理的重要组成部分,它定义了数据库的基本结构和属性,直接影响着数据库的性能、安全性和可维护性,因此在数据库设计和管理中起着至关重要的作用。




在这里插入图片描述



这篇关于MySQL的DDL语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1083717

相关文章

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

MySQL多列IN查询的实现

《MySQL多列IN查询的实现》多列IN查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL多列IN查询的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析与优化1.

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

mysql如何查看当前连接数

《mysql如何查看当前连接数》:本文主要介绍mysql如何查看当前连接数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql查看当前连接数查看mysql数据库允许最大连接数总结mysql查看当前连接数查看当前连接数SHOW STATUS LIKE

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

如何解决mysql出现Incorrect string value for column ‘表项‘ at row 1错误问题

《如何解决mysql出现Incorrectstringvalueforcolumn‘表项‘atrow1错误问题》:本文主要介绍如何解决mysql出现Incorrectstringv... 目录mysql出现Incorrect string value for column ‘表项‘ at row 1错误报错

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio