【MySQL】表操作

表操作
  • 一、创建表
    • 1、语句
    • 2、语句介绍
    • 3、注意事项
    • 4、介绍
    • 5、示例
  • 二、查看表结构
    • 1、语句
    • 2、介绍
    • 3、返回的信息
    • 4、示例
  • 三、添加字段
    • 1、语句
    • 2、语句介绍
    • 3、示例
  • 四、修改
    • 1、语句
    • 2、语句介绍
    • 3、示例
  • 五、删除
    • 1、语句
    • 2、示例
  • 六、修改表名
    • 1、语句
    • 2、语句介绍
    • 3、示例
  • 七、删除表
    • 1、语句
    • 2、示例
  • 八、注意事项

一、创建表

1、语句

CREATE TABLE 表名 (列名1 数据类型 [约束条件],列名2 数据类型 [约束条件],...[表选项]
);

2、语句介绍

  • CREATE TABLE:创建表的SQL命令。
  • 表名:表的名称,必须是唯一的,并且符合MySQL的命名规则(通常只能包含字母、数字和下划线,不能以数字开头)。
  • 列名:表中的列(字段)名称,每个列都有一个相应的数据类型和可选的约束条件。
  • 数据类型:定义列中数据的类型,如INT(整数)、VARCHAR(可变长度字符串)、DATE(日期)等。
  • 约束条件:可选的,用于限制列中的数据,如NOT NULL(非空)、UNIQUE(唯一)、PRIMARY KEY(主键)、FOREIGN KEY(外键)、AUTO_INCREMENT(自动递增)等。
  • 表选项:可选的,用于设置表的附加属性,如字符集、排序规则和存储引擎等。

3、注意事项

  • 表名和列名尽量使用小写字母和下划线,以符合常见的命名规范。
  • 在设计表结构时,应充分考虑数据的完整性和一致性,合理使用约束条件。
  • 根据具体需求选择合适的存储引擎,例如InnoDB(默认)和MyISAM。

4、介绍

  • 在MySQL中,创建表(table)是数据库设计和数据组织的基础步骤之一。表是存储结构化数据的主要方式,类似于Excel中的工作表或关系数据库中的关系。
  • 默认情况下,使用InnoDB存储引擎在默认数据库中创建表。如果表存在、没有默认数据库或数据库不存在,则会发生错误。
  • MySQL对表的数量没有限制。底层文件系统可能对表示表的文件数量有限制。单个存储引擎可能会施加特定于引擎的约束。InnoDB最多允许40亿个表。

5、示例

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

二、查看表结构

1、语句

DESCRIBE table_name;
  • table_name是要查看的表的名称。

2、介绍

  • 在MySQL中,DESCRIBE命令(或其简写形式DESC)是一个非常实用的工具,用于获取有关数据库表的详细结构信息。该命令仅适用于表对象,不能用于视图、存储过程、函数等其他数据库对象。

3、返回的信息

信息

说明

字段名称(Field)

表的每一列的名称

数据类型(Type)

每列中存储数据的类型,例如INT、VARCHAR、DATE等

是否允许空值(Null)

指示每列是否允许存储NULL值。

键(Key)

指示列是否为主键(PRI)、外键或索引的一部分。如果列是主键,则显示为PRI;如果是索引的一部分,则可能显示为MUL(表示该列在多个索引中出现)或其他相关标识

默认值(Default)

插入新行时,如果未指定列值,则使用默认值。如果列没有默认值,则此列可能为空

附加信息(Extra)

有关列的其他信息,例如是否允许自动增量(auto_increment)、是否具有唯一性约束等

4、示例

在这里插入图片描述

  • 添加数据

在这里插入图片描述

三、添加字段

1、语句

ALTER TABLE table_name
ADD COLUMN column_name column_definition [FIRST | AFTER existing_column];

2、语句介绍

  • table_name:要修改的表的名称。
  • column_name:要添加的新字段的名称。
  • column_definition:新字段的定义,包括数据类型和其他约束(如 NOT NULL、DEFAULT 值等)。
  • FIRST:可选,表示将新字段添加到表的第一个位置。
  • AFTER existing_column:可选,表示将新字段添加到existing_column之后。

3、示例

在这里插入图片描述

四、修改

1、语句

-- 使用 MODIFY COLUMN 修改字段定义
ALTER TABLE table_name
MODIFY COLUMN column_name new_column_definition [FIRST | AFTER existing_column];-- 使用 CHANGE COLUMN 修改字段名称和定义
ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name new_column_definition [FIRST | AFTER existing_column];

2、语句介绍

  • MODIFY COLUMN 和 CHANGE COLUMN 子句都可以修改字段。
  • MODIFY COLUMN 可以改变字段的定义,但不能改变字段的名称。
  • CHANGE COLUMN 可以改变字段的名称和定义。

3、示例

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

五、删除

1、语句

ALTER TABLE table_name
DROP COLUMN column_name;

2、示例

在这里插入图片描述

六、修改表名

1、语句

RENAME TABLE old_table_name TO new_table_name;
ALTER TABLE old_table_name RENAME TO new_table_name;

2、语句介绍

  • old_table_name:要修改的表的当前名称。
  • new_table_name:修改后的新名称。
  • 上方两条语句都能达到修改表名的目的。在使用ALTER TABLE的语句中,TO可以省略。

3、示例

在这里插入图片描述

七、删除表

1、语句

DROP TABLE table_name;

2、示例

在这里插入图片描述

八、注意事项

  • 备份数据:在执行这些操作之前,最好备份这些数据,以防万一操作出错导致数据丢失。
  • 权限:确保执行这些操作的时候,执行者具有足够的权限来修改表结构。
  • 兼容性:不同版本的MySQL可能对某些语法有不同的支持,确保使用的语法与使用的MySQL版本兼容。
  • 依赖关系:检查是否有其他数据库对象(如视图、触发器、存储过程等)依赖于要修改的表名或要删除的表。如果有,可能需要相应地更新或删除这些依赖对象。
  • 事务处理:如果操作是在事务中进行的,请确保已了解这些操作对事务的影响。在某些情况下,RENAME TABLE 和 DROP TABLE 语句可能会隐式地提交当前事务。

本文到这里就结束了,如有错误或者不清楚的地方欢迎评论或者私信
本文只是在学习过程中所做的总结,不会涉及过深的概念
创作不易,如果觉得博主写得不错,请点赞、收藏加关注支持一下???

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

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

相关文章

[新闻.AI]国产大模型新突破:阿里开源 Qwen2.5-VL-32B 与 DeepSeek 升级 V3 模型

(本文借助 Deepseek-R1 协助生成) 在2025年3月24日至25日的短短24小时内,中国AI领域迎来两大重磅开源更新:阿里通义千问团队发布多模态大模型Qwen2.5-VL-32B-Instruct,而DeepSeek则推出编程能力大幅提升的DeepSeek-V3…

深入剖析C# List<T>的底层实现与性能奥秘

一、动态数组的本质:List的架构设计 在C#的集合类型体系中,List作为最常用的线性数据结构,其核心实现基于动态数组机制。与传统数组不同,List通过智能的容量管理策略,在保持数组高速随机访问优势的同时,突…

【单元测试】

一、框架 不同的编程语言有不同的测试框架,以下是一些常见的测试框架: 1)Java:JUnit、TestNG2)Python:unittest、pytest3)JavaScript:Jest、Mocha4)C#:NUni…

机器学习——XGBoost

XGBoost(极度梯度提升树,eXtreme Gradient Boosting)是基于GBDT的优化模型,其最大特性在于对GBDT的损失函数展开到二阶导数,使得其梯度提升树模型更接近其真实损失 其XGBoost分类树拟合和预测方法的基本思路为: 遍历所有的树&…

响应“一机两用”政策 ,实现政务外网安全

在数字化办公的浪潮下,企业与政务机构面临着既要保障数据安全,又要高效访问互联网的双重需求。“一机两用”成为解决这一难题的关键。 政策驱动,需求迫切 随着《网络安全法》《数据安全法》等法律法规的相继出台,网络安全防护的要…

【后端】【Django】Django DRF API 单元测试完整方案(基于 `TestCase`)

Django DRF API 单元测试完整方案(基于 TestCase) 一、方案概述 使用 django.test.TestCase 和 rest_framework.test.APIClient 进行 API 单元测试,确保 API 正确性、权限控制、数据返回格式、业务逻辑 等。 二、基本步骤 使用 setUp() 初始…

文生图语义识别插件使用(controlnet)

1. 插件下载(github) https://github.com/Mikubill/sd-webui-controlnet https://github.com/lllyasviel/ControlNet2. 模型下载(hugging face) https://github.com/Mikubill/sd-webui-controlnet/wiki/Model-download https://huggingface.co/bdsqlsz/qinglong_controlnet-l…

学者观察 | web3.0产业发展与技术融合——北京大学研究员肖臻

导语 肖臻老师认为在未来很长一段时间内,Web 3.0将和现在的Web 2.0共存。Web 3.0和人工智能(AI)的融合发展前景非常广阔,Web 3.0致力于打造去中心化的互联网生态系统,赋予用户更大的数据所有权和控制权,而…

【模型压缩+推理加速】知识蒸馏综述解读

知识蒸馏综述解读 论文: https://arxiv.org/abs/2006.05525 最近Deepseek R1的技术报告中,训练部分提到使用了知识蒸馏,就像系统性的看看蒸馏算法的原理。看了很多的博客,很多都没有详细把知识蒸馏系统的讲清楚。我们还是读一下…

vivo 湖仓架构的性能提升之旅

作者:郭小龙 vivo互联网 大数据高级研发工程师 导读:本文整理自 vivo互联网 大数据高级研发工程师 郭小龙 在 StarRocks 年度峰会上的分享,聚焦 vivo 大数据多维分析面临的挑战、StarRocks 落地方案及应用收益。 在 即席分析 场景&#xff0c…

代码随想录算法训练营第十四天| 226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

今日题目 226.翻转二叉树 题目链接:226. 翻转二叉树 - 力扣(LeetCode) 思考:翻转二叉树,就是对每一个根节点,都交换左右节点,左右节点进入递归继续交换它们的左右节点。 代码: # De…

Java设计模式--单例模式

单例模式(构造器私有) 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,有以下特点: 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必须给所有其他对象提供这一实例。 反射可以破坏单例模式…

2025年如何避免使用验证码求解器时被IP封禁

引言 2025年,验证码求解器已成为自动化网络抓取和其他在线流程的关键工具。然而,自动化用户面临的一个常见挑战是IP封禁。当网站检测到自动化活动时,通常会阻止发出请求的IP地址,导致验证码挑战无法解决。本文将探讨使用验证码求…

JVM详解(包括JVM内存模型与GC垃圾回收)

📖前言: 学会使用Java对于一个程序员是远远不够的。Java语法的掌握只是一部分,另一部分就是需要掌握Java内部的工作原理,从编译到运行,到底是谁在帮我们完成工作的? 接下来着重对Java虚拟机,也就…

【无标题】大亚湾文化体育场多美啊。

请推荐一些常用并且免费的,可直接在线运行【Python】代码的平台并列出对应网址 好的,用户想让我推荐一些常用且免费的、可以直接在线运行Python代码的平台,并且需要列出对应的网址。我需要先回想一下自己知道的在线Python运行环境&#xff0…

权限提升—Windows权限提升土豆家族溢出漏洞通杀全系

前言 OK,Java安全更新不下去了,实在是太难啦啊,想起来提权这一块没怎么更新过,接下来都主要是更新提权这一块的文章了,Java安全的话以后有耐心再搞了。 手动提权 今天主要是讲这个手动的提权,手动提权相…

Vue3 知识点总结

Vue3 知识点总结 1. 核心概念 1.1 Composition API 1.1.1 setup 函数 setup是Vue3中的新的配置项,是组件内使用Composition API的入口在setup中定义的变量和方法需要return才能在模板中使用setup执行时机在beforeCreate之前,this不可用 export defa…

python --face_recognition(人脸识别,检测,特征提取,绘制鼻子,眼睛,嘴巴,眉毛)/活体检测

dlib 安装方法 之前博文 https://blog.csdn.net/weixin_44634704/article/details/141332644 环境: python3.8 opencv-python4.11.0.86 face_recognition1.3.0 dlib19.24.6人脸检测 import cv2 import face_recognition# 读取人脸图片 img cv2.imread(r"C:\Users\123\…

【bug】[42000][1067] Invalid default value for ‘xxx_time‘

MySQL错误解决:Invalid default value for xxx_time’问题分析与修复方案 问题描述 在MySQL数据库操作中,当尝试创建或修改表结构时,可能会遇到以下错误信息: [bug] [42000][1067] Invalid default value for xxx_time这个错误…

Go环境相关理解

Linux上安装的环境变量 ## set go env export GOPATH$HOME/go_workspace export GOPATH/usr/local/go export PATH$PATH:$GOPATH/bin go.mod 和go.sum的理解 go.mod文件 ‌go.mod文件定义了模块的路径和依赖版本‌。它遵循 语义化版本2.0.0规范,记录了当前项目所依…