MySQL: 自动添加约束、更改(删除)表名和字段、删除表
目录
自动添加表的属性:
向表内插入数据:
查看表中的数据:
查看表结构:
查看表的详细结构:
更改表名和字段:
更改表名:
更改字段数据类型:
修改字段名:
添加字段:
删除字段:
修改字段排列位置:
更改储存引擎:
删除表的外键约束:
删除表:
前言:自学记录。
自动添加表的属性:
这里应该接入笔者写的上一篇的内容,会更好一些。
MySQL:创建数据库,数据表,主键和外键_豆包的戳苏的博客-CSDN博客
自动添加的字段可以是任何整数类型。
(语句中包含CONTRAINT 就是约束语句。)

选择数据库,在库中建立一个新的数据表 tb6
在表中添加相关的字段,将 id 设置为 主键,并设置成 自动约束。
自动约束可以自动生成数据,如果了解过python中第三方库pandas的话,可以参考里面的DataFrame 或 中的 index,因为 index 是自动生成的。
向表内插入数据:
INSERT INTO <表名称> (<字段1>, <字段2>);
# 括号内部可以添加多个字段,如果字段设置为“NOT NULL”,就必须添加;如果没有“非空约束”,就可以不用添加。同时注意“唯一约束”。

查看表中的数据:
SELECT * FROM <表名称>;

继续按这个方式插入:

证明该语句可以查看完整的表格,而不是只显示插入的部分。
这里插播一条:
查看表结构:
DESCRIBE <表名称>; 或 DESC <表名称>;


查看表的详细结构:
SHOW CREATE TABLE <表名称>;

从中我们可以知道:id 数据类型为INT,每一条不可为空,自动填充;name 字符串->utf8mb4;deptID 数据类型为整数型,默认为空,salary同之;主键为id;引擎为InnoDB;自动填充了7个内容(包括最开头的一行)
DEFAULT 指的是默认约束,这里面默认的是NULL。
做了一个小测试,又插入了两行数据,这回再看看:

这里的AUTO_INCREMENT 是 9,但是我插入了8个数据,算上字段行,一共生成了9行。
更改表名和字段:
更改表名:
ALTER TABLE <旧名字> RENAME <新名字>;
# 书上教材的写法是在RENAME 后面加了一个 [TO],我这里删掉了,是为了能够更好的理解。
# 更改表名 和 更改字段名称一定要区别开来!

最后通过查看全部表名进行检验。
更改字段数据类型:
这个句法和更改表名的类似,所以放在一起说了。
ALTER TABLE <表名> MODIFY <字段> <新数据类型>;
依然是tb11作为例子,查看最初的数据类型:

接下来进行修改:将name字段的数据类型改为int
ALTER TABLE <> MODIFY <> <>;

显示表格信息,进行查看:

将name字段的int类型更改回varvhar(25):
ALTER TABLE <> MODIFY <> <>;

如果不清楚数据类型,可以在修改的最初,展示一下表格中的各字段细节。
修改字段名:
# 数据库中含有数据的时候,不要轻易更改数据类型。
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新字段数据类型>;

添加字段:
ALTER TABLE <表名> ADD <新字段> <新字段数据类型> [FIRST/AFTER <这部分可有可无,如果没有则放在所有字段最末尾,如果是FIRST则放在开头,如果想要放在指定位置,则用AFTER,你想要放在哪个字段后面,AFTER后面就写哪个字段的名称>];

加上AFTER 参数:

# 当然可以发现,数据类型这里,不区分大小写。
删除字段:
ALTER TABLE <表名> DROP <字段名>;

修改字段排列位置:
ALTER TABLE <表名> MODIFY <字段名> <字段数据类型> [FIRST/AFTER] <如果使用AFTER,排列在哪个字段后面,就写哪个字段的名称,FIRST就不需要了>
把school字段放在 id 的后面。

把NAME 放在第一个后,再放到最后一个

放到最后一个依然应用AFTER
更改储存引擎:
ALTER TABLE <表名> ENGINE=<更改后的引擎> ;

删除表的外键约束:
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;

以上是我创建的带有外键约束的表,现在删除外键:
# 注意外键名称!是:fk_emp_tb3, 不是 septID(这个是字段)

删除表:
DROP TABLE IF EXISTS <表名>;

# 如果存在外键,父表无法直接删除,必须取消外键约束,才能进行删除!!!
以上,就是数据表的基本操作,复盘:
首先学习了自动添加表格属性,这个直接在创建表格,设置字段的时候进行标注:AUTO_INCREMENT
查看表结构 DESCRIBE 简写为DESC
查看详细内容: SHOW CREATE TABLE <表名>;
修改表名: ALTER TABLE <旧表名> RENAME <新表名>;
修改表内字段数据类型: ALTER TABLE <表名> MODIFY <字段名> <新数据类型>;
修改表内字段名: ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新字段数据类型>;
添加字段:ALTER TABLE <表名> ADD <字段名> [FIRST/LATER<>];
删除字段:ALTER TABLE <表名> DROP <字段名>;
改变字段位置:ALTER TABLE <表名> MODIFY <字段> FIRST/AFTER <字段>;
删除外键约束:ALTER TABLE <表名> DROP FOREIGN KEY <外键>;
删除表:DROP TABLE IF EXISTS <表名(可以是多个)>;
# 前提是不能删除带有外键约束的父表,必须取消约束才能删除!
日拱一卒,功不唐捐。
相关文章:
MySQL: 自动添加约束、更改(删除)表名和字段、删除表
目录 自动添加表的属性: 向表内插入数据: 查看表中的数据: 查看表结构: 查看表的详细结构: 更改表名和字段: 更改表名: 更改字段数据类型: 修改字段名: 添加字段…...
基于微博评论的细粒度的虚假信息识别软件
任务 目标:能检测单模态的虚假信息就可以,是个软件就可以 参考文章:基于多模态深度融合的虚假信息检测 Multi-modal deep fusion for false information detection 思路 多模态指的是多种不同类型的数据,比如图像、文本、音频等。虚假信息识别软件可以从这些不同类型的数据…...
Android 11.0 系统systemui状态栏下拉左滑显示通知栏右滑显示控制中心模块的流程分析
1.前言 在android11.0的系统rom定制化开发中,在系统原生systemui进行自定义下拉状态栏布局的定制的时候,需要在systemui下拉状态栏下滑的时候,根据下滑坐标来 判断当前是滑出通知栏还是滑出控制中心模块,所以就需要根据屏幕宽度,来区分x坐标值为多少是左滑出通知栏或者右…...
ROS学习第三十二节——xacro构建激光雷达小车
https://download.csdn.net/download/qq_45685327/87718396 在前面小车底盘基础之上,添加摄像头和雷达传感器。 0.底盘实现 deamo02_base.xacro <!--使用 xacro 优化 URDF 版的小车底盘实现:实现思路:1.将一些常量、变量封装为 xacro:property比如…...
中厂,面试就问了4道题,凉了!
你好,我是田哥 所谓的金三银四,已变成铜三铁四了。很多人基本上莫有面试机会,更可惜的是机会有了,却没有把握住。 加入我知识星球:免费做简历优化、简历包装、模拟面试... 今天早上,一个朋友和我说面试中被…...
22.轮播模块
学习要点: 1.轮播模块 本节课我们来开始了解 Layui 的内置模块:轮播模块。 一.轮播模块 1. 轮播模块,即跑马灯等轮播交互场景,先来看下基本设置; <div id"test" class"layui-carousel&qu…...
MYSQL命令小总结
一、创建查看 1.输入cmd,打开控制器,输入如下,打开MYSQL C:\Users\ASUS> mysql -u root -p 2.查看已有数据库 mysql> show databases; 3.建立数据库 4.使用数据库 use englishword;5.建立表单 CREATE TABLE user ( id INT primar…...
Java常见开发工具和Object类
Java是一种面向对象的编程语言,被广泛应用于各种应用程序和软件开发中。在Java开发过程中,使用一个好的开发工具可以大大提高开发效率和代码质量。Eclipse是一个功能强大、灵活易用的Java集成开发环境(IDE),被广泛使用…...
Linux 配置YUM源(FTP方式获取软件源、使用阿里云yum源、同时使用本地源与在线源)YUM获取安装包并生成YUM软件仓库
YUM介绍 YUM(yellow dog updater modified) 基于RPM包构建的软件更新机制 自动解决依赖关系 yum软件仓库集中管理软件包 RPM软件包的来源 centos发布的RPM包集合第三方组织发布的RPM包集合用户自定义的RPM包集合 软件仓库的提供方式 FTP服务:…...
Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务
Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…...
养老保障金查询系统【GUI/Swing+MySQL】(Java课设)
系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设!!! 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址:https://download.csdn.net/download/qq_50954361/87700421 更多系统资源库…...
国考省考行测:词句理解,词的对象指代,就近原则,主语一致法,语意语境分析上下文找出指代含义
国考省考行测:词句理解,词的对象指代,就近原则,主语一致法,语意语境分析上下文找出指代含义 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国…...
部署YUM仓库
部署YUM仓库 YUM概述软件仓库的提供方式RPM软件包的来源FTP源的配置方法本地源配置方法在线源配置方法本地源和在线源一起使用的方法数据包缓存方法 自己配置本地yum源时需要使用createrepo来生成依赖关系库 YUM概述 YUM(Yellow dog Updater Modified) 基于RPM包构建的软件更…...
SpringBoot框架(邮件发送Mail|持久层框架JPA|Extra前后端分离跨域处理|接口管理Swagger)这一篇就够了(超详细)
🙈作者简介:练习时长两年半的Java up主 🙉个人主页:老茶icon 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,计…...
chatGPT对话R语言
文章目录 R语言介绍R语言基本语法R语言常用函数有哪些R语言数据结构向量矩阵数组和列表数组列表 数据框因子 R如何导入数据如何在R语言中导出数据?R语言图形绘制描述性统计描述统计也可以这样来计算 统计推断配对设计t检验样本均数和总体均数t检验两(独立…...
代码随想录--字符串--替换空格题型
①这道题可以直接申请一个临时数组,然后遍历字符串,是空格则加入20%,最后再把临时数组转化为字符串。 怎么把一个数组转化为字符串? 如数组arry[], string newstr new string(arry,0,arry.size()-1); return newstr; 而且临时数…...
Spring JDBC和事务控制
目录 Spring JDBC 和 事务控制主要内容Spring 整合 JDBC 环境构建项目添加依赖坐标添加 jdbc 配置文件编写 spring 配置文件配置数据源C3P0 数据源配置DBCP 数据源配置 模板类配置Spring JDBC 测试 (入门)创建指定数据库创建数据表使用 JUnit 测试JUnit …...
【音视频第16天】详解STUN协议
一个webRTC传输协议搞得自己云里雾里的。现在主动攻克一下。先看看STUN协议。好,我们开始吧 目录 1.讲讲什么是NAT?2.NAT有啥问题?3.四种NAT类型4.STUN Server5.TURN ServerSTUN和TURN的实现:什么是STUN?为什么需要ST…...
C++算法初级11——01背包问题(动态规划2)
C算法初级11——01背包问题(动态规划2) 文章目录 C算法初级11——01背包问题(动态规划2)问题引入0-1背包问题分析0-1背包问题的形式化分析优化 问题引入 辰辰采药 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大…...
Python 库大全(下)
格式化输出 模块 reprlib 提供了一份定制的 repr(),用于简洁 地展示各种大的或者多层嵌套的容器变量: >>> import reprlib >>> reprlib.repr(set(\supercalifragilisticexpialidocious\)) "{\a\, \c\, \d\, \e\, \f\, \g\, ...…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
