sql语法:详解DDL

news/2024/5/19 18:36:37/文章来源:https://blog.csdn.net/siaok/article/details/129775555

Mysql版本:8.0.26
可视化客户端:sql yog

目录

  • 一、DDL是什么?
  • 二、和数据库相关的DDL
    • 2.1 创建数据库
    • 2.2 删除数据库
    • 2.3 查看所有的数据库,当前用户登录后,可以看到哪些数据库
    • 2.4 查看某个数据库的详细定义
    • 2.5 修改数据库的编码
    • 2.6 使用数据库
  • 三、和数据表相关的DDL
    • 3.1 查看某个数据库的所有表格
    • 3.2 创建数据表
    • 3.3 查看表的详细定义信息
    • 3.4 查看表结构
    • 3.5 删除表格,包括表结构和里面的数据
    • 3.6 修改表的字符集和校对规则
    • 3.7 修改表结构:增加字段
    • 3.8 修改表结构:删除字段
    • 3.9 修改一个字段名称
    • 3.10 修改表结构:修改字段的数据类型
    • 3.11 修改表结构:修改字段位置
    • 3.12 修改表名称(重命名表)


提示:以下是本篇文章正文内容,下面案例可供参考

一、DDL是什么?

DDL,英文全称为Data Definition Language,中文释义为“数据库模式定义语言”,即是用于创建库、创建表、修改库和表的结构,虽说有了可视化客户端,可以很方便的使用上述功能,但在批量修改的业务场景下,以此DDL写成的sql脚本比在可视化客户端下执行相比,简直好用太多。


二、和数据库相关的DDL

2.1 创建数据库

👉语法:

CREATE DATABASE 数据库名

案例: 创建数据库0225db

CREATE DATABASE 0225db;

在这里插入图片描述

2.2 删除数据库

👉语法:

DROP DATABASE IF EXISTS 数据库名称

案例:删除数据库0225db

DROP DATABASE IF EXISTS 0225db;

2.3 查看所有的数据库,当前用户登录后,可以看到哪些数据库

👉语法:

SHOW DATABASES:

SHOW DATABASES:

在这里插入图片描述

2.4 查看某个数据库的详细定义

👉语法:

SHOW CREATE DATABASE 数据库名称;

案例:查看0225db的详细定义

代码演示如下:

SHOW CREATE DATABASE 0225db;

在这里插入图片描述

2.5 修改数据库的编码

👉语法

ALTER DATABASE 数据库名 CHARACTER SET 新的字符集名称 COLLATE 校对规则

案例:修改数据库0106db的编码规则

修改之前:

在这里插入图片描述
代码修改如下所示:

ALTER DATABASE 0106db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `0106db` /*!40100 DEFAULT CHARACTER SET utf8 */ /*!80016 DEFAULT ENCRYPTION='N' */

在这里插入图片描述
在这里插入图片描述

注意:

假如你现在修改了数据库的字符集规则,原来已经存放的数据表的字符集规则不变

2.6 使用数据库

👉语法:

use 数据库名;


三、和数据表相关的DDL

一般先要指定在哪个数据库,才能对表进行操作

3.1 查看某个数据库的所有表格

👉语法

USE 数据库名;
SHOW TABLES;

show tables from 数据库名;

案例:查看0106db下的所有数据表

代码演示如下:

USE 0106db;
SHOW TABLES;SHOW TABLES FROM 0106db;

在这里插入图片描述

3.2 创建数据表

👉语法

CREATE TABLE 表名称(字段名1 数据类型,字段名2	数据类型,字段名3 数据类型
)

案例:创建学生表Stu,其中包含学生学号,姓名,出生日期,成绩,体重,性别,电话等字段。

代码演示如下:

CREATE TABLE Stu(sid INT,sname VARCHAR(20),birthday DATE,score INT,gender ENUM('男','女'),weight DOUBLE(4,1),tel CHAR(11)
)

在这里插入图片描述

3.3 查看表的详细定义信息

👉语法:

SHOW CREATE TABLE 表名称;

案例:查看表stu的详细定义信息

SHOW CREATE TABLE STU;

在这里插入图片描述

3.4 查看表结构

👉语法:

DESC 数据表名;

案例:查看数据表stu的表结构

代码演示如下:

DESC stu;

在这里插入图片描述

3.5 删除表格,包括表结构和里面的数据

👉语法:

①DROP TABLE 表名称;

②DROP TABLE stu IF EXISTS;

第二句的意思是:如果数据库中存在stu表,就把它从数据库0102db中删掉。
👉推荐使用第二种,避免出现“Unknown table ‘0106db.stu’”报错信息。

案例:删除学生表stu

代码演示如下:

DROP TABLE  IF EXISTS stu;

在这里插入图片描述

3.6 修改表的字符集和校对规则

👉语法:

ALTER TABLE 表名称 CHARSET=新字符集 COLLATE=新校对规则;

案例:修改表stu的字符集为utf8mb4,校队规则为utf8mb4_0900_ai_ci

修改之前:

在这里插入图片描述

代码修改如下:

ALTER TABLE stu CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

在这里插入图片描述

3.7 修改表结构:增加字段

👉语法:

ALTER TABLE 表名称 ADD COLUMN 字段名 数据类型;

案例:给学生表stu增加一个varchar(50) 的字段address

代码演示如下:

ALTER TABLE stu ADD COLUMN address VARCHAR(50);

在这里插入图片描述

3.8 修改表结构:删除字段

👉语法:

ALTER TABLE 表名称 DROP COLUMN 字段名;

案例:在学生表中删除刚才新加的字段address

代码演示如下:

ALTER TABLE stu DROP COLUMN address ;

在这里插入图片描述

3.9 修改一个字段名称

👉语法:

ALTER TABLE 表名称 CHANGE 旧字段名称 新的字段名称 数据类型;

案例:将stu表的tel字段改名为phone

修改之前:
在这里插入图片描述
代码修改之后;

ALTER TABLE stu CHANGE tel phone CHAR(11);

在这里插入图片描述

3.10 修改表结构:修改字段的数据类型

👉语法:

ALTER TABLE 表名称 MODIFY 字段名称 新数据类型;

案例:将stu表的score字段的数据类型修改为double

修改之前:

在这里插入图片描述

代码修改之后:

ALTER TABLE stu MODIFY score DOUBLE:

在这里插入图片描述

3.11 修改表结构:修改字段位置

👉语法:

①ALTER TABLE 表名 MODIFY 字段名称 数据类型 AFTER 另一个字段;

👉上述代码的意思:将要修改位置的字段挪到指定字段的后面

②ALTER TABLE 表名称 MODIFY 字段名称 数据类型 FIRST;

👉上述代码的意思:将要修改位置的字段挪到表格第一行

案例:在stu表中将phone字段挪到sname字段之后

修改之前:

在这里插入图片描述
代码修改之后:

ALTER TABLE stu MODIFY phone CHAR(11) AFTER sname

在这里插入图片描述

案例:将表stu中的字段gender挪到表格首行

修改之前:

在这里插入图片描述
代码修改之后;

ALTER TABLE stu MODIFY gender ENUM('男','女') FIRST;

在这里插入图片描述

3.12 修改表名称(重命名表)

👉语法;

ALTER TABLE 表名称 RENAME TO 新名称;

案例:将表stu重命名为t_stu

代码演示如下:

ALTER TABLE stu RENAME TO t_stu;

在这里插入图片描述


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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows系统GIT安装与GitHub远程仓库

文章目录Windows系统GIT安装Git是什么windows环境安装环境变量验证安装GitHub与远程仓库GitHub是什么GitHub账号注册创建本地SSH KeyGitHub接入本地电脑公匙创建个人远程库传送门Windows系统GIT安装 Git是什么 Git(读音为/gɪt/)是一个开源的分布式版本…

接口测试之Postman使用全指南(原来使用 Postman测试API接口如此简单)

目录 一、Postman背景介绍 二、Postman的操作环境 三、Postman重要提示: 四、什么是接口测试 五、接口测试工具 六、接口测试流程 七、接口测试执行 八、全局变量和环境变量 九、postman接口关联 十、postman动态参数 十一、postman断言 十二、postman用…

Unity --- Transform类

1.一个很有意思的事实是Transform类不仅用来管理游戏物体的位置缩放旋转,还用来管理游戏物体的父物体与子物体之间的关系 当游戏物体A的trasnform类a是游戏物体B的transform类b的父类的话,游戏物体A就是游戏物体B的父物体 2.如何访问脚本当前挂载的游戏…

手把手教你安装VSCode(附带图解步骤)

一、前端工具vscode 1.1、概述 前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互 [1] 。它从网页制作演变而来,名称上有…

如何用Python对股票数据进行LSTM神经网络和XGboost机器学习预测分析(附源码和详细步骤),学会的小伙伴们说不定就成为炒股专家一夜暴富了

前言 最近调研了一下我做的项目受欢迎程度,大数据分析方向竟然排第一,尤其是这两年受疫情影响,大家都非常担心自家公司裁员或倒闭,都想着有没有其他副业搞搞或者炒炒股、投资点理财产品,未雨绸缪,所以不少…

你单位数字化转型了吗?

写在前面:本文由Bing AI和我一起完成,它完成90%内容,致谢! 1.数字化转型 近两年数字化转型在社会面搞得轰轰烈烈,数字化转型是指,利用新一代信息技术,构建数据的采集、传输、存储、处理和反馈的…

抓取某话题下指定时间内的微博数据,包括博文数据、评论信息等(可通过高级搜索筛选时间)

代码有点长,完整代码放在文章最后了。 最后的数据存储为了3个表,表的各字段如下: # csv头部 writer.writerow((话题链接, 话题内容, 楼主ID, 楼主昵称, 楼主性别, 发布日期,发布时间, 转发量, 评论量, 点赞量, 评论者ID, 评论者昵称,评论者…

低代码开发公司:用科技强力开启产业分工新时代!

实现办公自动化,是不少企业的共同追求。低代码开发公司会遵循时代发展规律,注入强劲的科技新生力量,在低代码开发市场厚积爆发、努力奋斗,推动企业数字化转型升级,为每一个企业的办公自动化升级创新贡献应有的力量。 一…

Matlab仿真,数字基带传输系统的设计实验报告

实验目的 1、提高独立学习的能力; 2、培养发现问题、解决问题和分析问题的能力; 3、学习Matlab 的使用; 4、掌握基带数字传输系统的仿真方法; 5、熟悉基带传输系统的基本结构; 6、理解奈奎斯特第一准则; 7…

echarts入门基础教程

目录 效果图 1.下载资源 新建项目 2.引入echarts 3.准备一个呈现图表的盒子 4.初始化echarts实例对象 5.准备配置项 6.将配置项设置给echarts实例对象 7.完整代码 效果图 1.下载资源 新建项目 去官网下载echarts压缩包,在包里的dist文件里找到echarts.min.j…

sql语法:事务的”那些事“

Mysql版本:8.0.26 可视化客户端:sql yog 目录前言一、事务是什么?二、事务的特点三、如何提交事务和回滚事务?3.1 手动提交3.2 自动提交模式下开启事务3.3 注意事项四、事务的隔离级别4.1 模拟事务安全问题4.1.1 脏读问题模拟如下&#xff1…

【模块介绍】6×6矩阵键盘(硬件部分和扫描方式)

目录 概述 原理图 扫描方式 扫描法 单个按键按下 多个按键按下 行反转法 图解 成品 概述 矩阵键盘非常常见 就是利用键盘组成矩阵来减少IO口的使用 做成66的矩阵键盘可以使用12个IO口读取36个按键 矩阵键盘的优势在于成本低,无需其他芯片即可实现功能 …

Android WMS工作原理浅析(一)

WMS(WindowManagerService)相关概念 window:它是一个抽象类,具体实现类为 PhoneWindow ,它对 View 进行管理。Window是View的容器,View是Window的具体表现内容; windowManager:是一个接口类,继承自接口 ViewManager &…

Mac上初次使用vite新建Vue3项目需要注意,自己的错误记录

执行npm init vitejs/app时 报错: internal/modules/cjs/loader.js:1089 throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath); 一开始网上找原因,以为是node的版本过低,但是看了是自己的弄的版本号是12.1.x.x刚刚好跨过门槛…

ElasticSearch学习(十一)—— es7.2升级log4j版本

下载log4j2.17 下载地址:Apache Logging Serviceshttps://logging.apache.org/ 查找es安装目录下需要替换的log4j文件 /opt/elk# find . -name log4j* ./elasticsearch-7.2.0/lib/log4j-api-2.11.1.jar ./elasticsearch-7.2.0/lib/log4j-core-2.11.1.jar ./elastics…

【VulnHub靶场】——BEELZEBUB: 1

作者名:Demo不是emo 主页面链接:主页传送门创作初心:对于计算机的学习者来说,初期的学习无疑是最迷茫和难以坚持的,中后期主要是经验和能力的提高,我也刚接触计算机1年,也在不断的探索&#xf…

在Windows系统上安装MacOS虚拟机

在Windows上安装MacOS虚拟机,准备工作主要分三个方面:电脑配置、MacOS镜像和虚拟机软件。 目录 电脑配置:开启虚拟化 MacOS镜像:下载一个MacOS镜像 虚拟机安装:安装WMware虚拟机 创建虚拟机:创建MacOS…

Python打包成exe文件_详细操作

Python打包成exe文件前言一、安装pyinstaller1.1 安装pyinstaller,使用安装命令:1.2 如果遇到需要更新版本请输入:1.3 检查是否正确安装1.4 稍等,水一下;二、python打包成exe文件(附带图标打包)2.1 第一种&…

【WSL2教程】WSL迁移到非系统盘

一、问题引入 默认情况下,WSL会安装在C盘(系统盘),而C盘空间有限,随着WSL子系统的使用,C盘空间越来越少,最后有可能出现C盘不足导致WSL系统崩溃。 有效的解决方法是,将WSL子系统迁…

智能生态网络IEN 2022:面向WEB3.0的内容中心链网融合架构

2022年11月25日,在第五届广州IEEE HotICN未来网络大会上,雷凯老师做了视频报告《智能生态网络(IEN)2022:面向Web3.0的内容中心链网融合架构》。报告从NDN和区块链、IEN和Web3.0、IENNFT、IEN和元宇宙、研究进展五个方面…