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;

 

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

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

相关文章

芯片开发erp软件有哪些优势?

随着科技的飞速发展,芯片开发行业正逐渐成为推动科技进步的关键力量。在这一领域中,企业资源规划(ERP)软件的应用正逐渐普及,为芯片开发企业带来了许多显著的优势。下面,我们将详细介绍芯片开发ERP软件的优势。 一、提升管理效率 …

python JZ35 复杂链表的复制(剑指offer)

题目要求: 思路: 思路1:引入dict 思路1:双指针 代码如下: 思路1代码: # -*- coding:utf-8 -*- # class RandomListNode: # def __init__(self, x): # self.label x # self.next None # self.random None …

第十二章 Linux——日志管理

第十二章 Linux——日志管理 基本介绍系统常用日志日志管理服务日志轮替基本介绍日志轮替文件命名logrotate配置文件自定义加入日志轮转应用实例 日志轮替机制原理查看内存日志 基本介绍 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包…

Vue.js+SpringBoot开发生活废品回收系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容三、界面展示3.1 登录注册3.2 资源类型&资源品类模块3.3 回收机构模块3.4 资源求购/出售/交易单模块3.5 客服咨询模块 四、免责说明 一、摘要 1.1 项目介绍 生活废品回收系统是可持续发展的解决方案,旨在鼓…

音视频数字化(数字与模拟-电影)

针对电视屏幕,电影被称为“大荧幕”,也是娱乐行业的顶尖产业。作为一项综合艺术,从被发明至今,近200年的发展史中,无人可以替代,并始终走在时代的前列。 电影回放的原理就是“视觉残留”,也就是快速移过眼前的画面,会在人的大脑中残留短暂的时间,随着画面不断地移过,…

【X806开发板试用】PWM呼吸灯、无刷电调、按键测试样例

环境配置 通过我上篇文章:【XR806开发板试用】Ubuntu环境配置,将配置摸清楚后,就可以开始愉快的编写代码了😄 视频演示 https://www.bilibili.com/video/BV1NF411B74o/?aid295027788&cid467687216&page1 https://www…

v-on监听多个方法

方法1&#xff1a; 这个方法可以使用多个事件&#xff0c;比如点击事件、右击事件&#xff0c;左边的是事件名称&#xff0c;右边的是方法名称 <el-button type"success" v-on"{contextmenu:box,click:click}" round>成功按钮</el-button>co…

Python实现力扣经典面试题——删除有序数组中的重复项 II

题目:删除有序数组中的重复项 II 给你一个有序数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使得出现次数超过两次的元素只出现两次 &#xff0c;返回删除后数组的新长度。不要使用额外的数组空间&#xff0c;你必须在 原地 修改输入数组 并在使用 O(1) 额外…

12. Springboot集成Dubbo3(三)Dubbo-Admin

目录 1、前言 2、安装 2.1、下载Dubbo-admin 2.2、修改配置 2.3、编译前端 2.4、访问 2.5、加载自己的服务 2.6、服务测试 2.7、其他 3、小结 1、前言 Dubbo Admin是用于管理Dubbo服务的基于Web的管理工具。Dubbo Admin提供了一个用户友好的界面&#xff0c;用于在分…

初学学习408之数据结构--数据结构基本概念

初学学习408之数据结构我们先来了解一下数据结构的基本概念。 数据结构&#xff1a;是相互之间存在一种或多种特定关系的数据元素的集合。 本内容来源于参考书籍《大话数据结构》与《王道数据结构》。除去书籍中的内容&#xff0c;作为初学者的我会尽力详细直白地介绍数据结构的…

Java面试——锁

​ 公平锁&#xff1a; 是指多个线程按照申请锁的顺序来获取锁&#xff0c;有点先来后到的意思。在并发环境中&#xff0c;每个线程在获取锁时会先查看此锁维护的队列&#xff0c;如果为空&#xff0c;或者当前线程是等待队列的第一个&#xff0c;就占有锁&#xff0c;否则就会…

7zip压缩工具的Linux命令

Macos系统自带的压缩工具&#xff0c;压缩效果一点都不好&#xff0c;压缩效果不明显&#xff0c;果断用7ZIP软件&#xff0c;但是在mac系统下&#xff0c;7zip是没有可视化界面的&#xff0c;只有通过命令是操作。 1 安装方式 &#xff08;1&#xff09;源码安装 https://ww…

vuex配置和使用(vue3配置)

个人理解可能会有所偏差 1、基础使用 首先在创建项目时可以选择vuex和一些其他的配置&#xff0c;如果选择那么他会自动创建store文件夹生成默认格式&#xff0c;如果没有选择可以使用指令&#xff1a; npm install vuexnext --save 然后手动创建即可 import { createStore }…

SpringBoot 学习笔记

文章目录 一、IoC二、AOP三、bean3.1 bean 生命周期3.2 三种依赖注入方式3.3 bean 线程安全 四、SpringMVC五、常用注解5.1 Scope5.2 PostConstruct 和 PreDestroy5.3 Component 和 Bean5.4 Autowired 和 Resource 六、基于 ApplicationContextAware 实现工厂模式七、事务失效八…

docker创建mongodb数据库容器

介绍 本文将通过docker创建一个mongodb数据库容器 1. 拉取mongo镜像 docker pull mongo:3.63.6版本是一个稳定的版本&#xff0c;可以选择安装此版本。 2. 创建并启动主数据库 容器数据卷配置 /docker/mongodb/master/data # 数据库数据目录&#xff08;宿主机&am…

下载huggingface数据集到本地并读取.arrow文件遇到的问题

文章目录 1. 524MB中文维基百科语料&#xff08;需要下载的数据集&#xff09;2. 下载 hugging face 网站上的数据集3. 读取 .arrow 文件报错代码4. 纠正后代码 1. 524MB中文维基百科语料&#xff08;需要下载的数据集&#xff09; 2. 下载 hugging face 网站上的数据集 要将H…

springboot+vue前后端分离适配cas认证的跨域问题

0. cas服务搭建参考:CAS 5.3服务器搭建_cas-overlay-CSDN博客 1. 参照springsecurity适配cas的方式, 一直失败, 无奈关闭springssecurity认证 2. 后端服务适配cas: 参考前后端分离项目(springbootvue)接入单点登录cas_前后端分离做cas单点登录-CSDN博客 1) 引入maven依赖 …

Word页码怎么设置?6个提升效率好方法!

“我刚刚编辑完一个Word文档&#xff0c;想给它加上页码&#xff0c;但是我还不知道应该怎么操作。大家平常是怎么给Word设置页码的呢&#xff1f;” 在使用Word编辑文档时&#xff0c;页码的设置是一个常见的需求。无论是为了方便阅读&#xff0c;还是为了符合特定的格式要求&…

亿道丨三防平板丨如何从多方面选择合适的三防加固平板?

在如今这个信息爆炸的时代&#xff0c;移动设备已经成为我们生活和工作的必备工具。然而&#xff0c;在一些特殊的场合中&#xff0c;普通的平板电脑可能无法满足需求&#xff0c;比如工厂车间、野外作业、极端天气等环境下。此时&#xff0c;三防平板就成了不二之选。那么&…

怎么免费找回误删文件?这5个数据恢复工具能救你一命

如果不小心删除了文件&#xff0c;不要慌张&#xff0c;今天这个视频将为大家推荐5个最好的文件恢复软件。 误删文件是很多人在日常生活中都会遇到的问题&#xff0c;而找回丢失的数据更是至关重要。现在&#xff0c;有许多文件恢复软件可以帮助您快速找回丢失的重要文件。这些…