在这里插入图片描述

永远记住,你的存在是有意义的,
你很重要,
你是被爱着的,
而且你为这个世界带来了无可取代的东西。
-- 麦克西 《男孩、鼹鼠、狐狸和马》--

从零开始了解数据库开发

  • 创建数据表
  • 查看表结构
  • 修改数据表结构
  • 重命名表
  • 复制表
  • 删除表

今天我们来学习数据表的操作

创建数据表

创建数据表的语法:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name
[
(create_definition,...)
][table_options][select_statement]

说明:

  • TEMPORARY:表示创建的表是一个临时表
  • IF NOT EXISTS:避免创建重复的表
  • create_definition:这是表的列属性,MySQL要求创建表时至少存在一列
  • table_options:表的一些特性参数,其中大多数选项涉及的是表数据的存储方式和储存位置,比如ENGINE指定储存引擎,多数情况下用户无需指明表选项
  • select_statement:SELECT语句描述部分,用于快速创建表

接下来来看白属性create_definition的具体格式:

col_name type[NOT NULL | NULL] [DEFAULT default_value][AUTO_INCREMENT][PRIMARY KEY][reference_definition]
  • col_name:列名称
  • type:字段类型
  • NOT NULL | NULL :指出列是否允许为空值,系统一般默认允许为空值,所以当不允许为空值时,必须使用NOT NULL
  • DEFAULT default_value:表示列的默认值
  • AUTO_INCREMENT:表示是否自动编号,每个表只能有一个 AUTO_INCREMENT列,并且必须被索引
  • PRIMARY KEY:是否为主键,一个表只能有一个主键,如果表中没有PRIMARY KEY ,而某些应用程序需要主键,那么MySQL将会返回第一个没有任何NULL列的UNIQUE键作为主键
  • reference_definition:为字段添加注释

查看表结构

对于一个创建成功的数据表可以使用

SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名]
# 或者是
SHOW [FULL] COLUMNS FROM 数据库名.数据表名

进行查看。同样也可以选择使用DESCRIBE语句查看数据表结构

DESCRIBE 数据表名 [列名]

修改数据表结构

修改表结构是指增加/修改/删除字段,修改字段名/类型以及修改表名,这可以使用ALTER TABLE语句来实现,语法格式如下。

ALTER [IGNORE] TABLE 数据表名 alter_spec[,alter_spec]... | table_options

说明:

  • IGNORE:可选项,表示如果出现重复关键的行,则执行一行,其他重复的行被删除。
  • 数据表名:用于指定要修改的数据表的名称。
  • alter_spec:用于定义要修改的内容,其语法格式为
    ADD [COLUMN] col_name create_definition [FIRST | AFTER col_name]           -- 添加新列,可指定位置(FIRST表示第一列,AFTER表示在某列之后)
    ADD [COLUMN] ( col_name create_definition, ...)                              -- 同时添加多列
    ADD INDEX [index_name] (index_col_name, ...)                                    -- 添加普通索引
    ADD PRIMARY KEY (index_col_name, ...)                                          -- 添加主键
    ADD UNIQUE [INDEX] [index_name] (index_col_name, ...)                           -- 添加唯一索引
    ALTER [COLUMN] columnname {SET DEFAULT literal | DROP DEFAULT}               -- 修改列的默认值(设置或删除)
    CHANGE [COLUMN] old_col_name new_column_name col_definition [FIRST | AFTER col_name]  -- 修改列名和列定义,可指定位置
    MODIFY [COLUMN] col_name col_definition [FIRST | AFTER col_name]      -- 修改列定义,可指定位置
    DROP [COLUMN] col_name                                                     -- 删除指定列
    DROP PRIMARY KEY                                                             -- 删除主键
    DROP INDEX index_name                                                         -- 删除索引
    RENAME [TO] new_table_name                                                     -- 重命名表

重命名表

重命名表的语法为:

RENAME TABLE 数据表名1 to 数据表名2

修改数据表名的操作与修改数据库名一样,不建议使用,因为底层一旦修改啊,上层的所有业务都要进行修改,可能会造成意料之外的问题。

复制表

创建表的CREATE TABLE语句还有另一种语法结构:在一个已经存在的数据表的基础上创建该表的备份,也就是复制表。这种语法的格式如下

CREATE TABLE [IF NOT EXISTS] 数据表名 , {LIKE 源数据表名 | (LIKE 源数据表名)}

该语句的功能是根据源数据表生成一个数据表。注意这个数据表只是复制结构,并没有拷贝内容:
在这里插入图片描述

如果要拷贝内容的话可以使用:

CREATE TABLE 数据表名 AS SELECT * from 源数据表

删除表

删除表的语法很简单:

DROP TABLE [IF EXISTS]

实际使用时避免真正删除数据表!

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

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

相关文章

MySQL底层架构设计原理详细介绍

文章目录一、MySQL体系结构概览二、连接层(Connection Layer)1. 连接器(Connectors)2. 连接池(Conncction Pool)三、服务层(Server Layer)1. SQL接口组件(SQL Interface&…

QB/T 4674-2021 汽车内装饰用聚氨酯束状超细纤维合成革检测

汽车内饰品聚氨酯束状超细纤维合成革是指以海岛型双组份或多组分纤维加工成飞织造布,再经水性聚氨酯树脂或溶剂型聚氨酯树脂浸渍、湿法凝固、溶剂或碱液萃取及后整理等工艺制成的汽车内装饰皮革。QB/T 4674-2021 汽车内装饰用聚氨酯束状超细纤维合成革检测项目测试项…

QML和Qt Quick

QML和Qt Quick QML 和 Qt Quick 是 Qt 框架中紧密相关但概念不同的两个部分,它们之间的关系可以用如下方式清晰说明: 核心区别概览​​特性​​​​QML​​​​Qt Quick​​​​本质​​声明式编程​​语言​​基于 QML 的​​框架/库​​​​作用​​定…

JavaScript 结构型设计模式详解

1. 代理模式1.1. 使用场景代理模式在不改变原始对象的前提下,通过代理对象控制对其访问,通常用于权限控制、延迟加载、远程调用等场景。在前端开发中,可以通过代理模式对网络请求、缓存机制等进行控制。1.2. 代码实现class ApiService {reque…

摄像头模块在运动相机中的特殊应用

运动相机作为记录高速运动场景的专用设备,其摄像头模块的设计与普通消费电子产品存在显著差异。根据行业资料和技术发展,摄像头模块在运动相机中的特殊应用主要体现在以下五个维度:一、极端环境适应性设计运动相机的摄像头模块针对户外运动场…

SpringBoot + MinIO/S3 文件服务实现:FileService 接口与 FileServiceImpl 详解

在企业项目中,文件上传和管理是非常常见的需求。本文基于 芋道源码 的实现,介绍如何封装一个通用的 文件服务 FileService,支持:文件上传(保存数据库记录 存储文件到 S3/MinIO 等对象存储)文件下载与删除文…

Oracle RAC认证矩阵:规避风险的关键指南

RAC Certification Matrix(RAC认证矩阵) 是Oracle官方发布的硬件、软件与操作系统兼容性清单,明确规定了哪些平台、组件和版本可以正式支持Oracle RAC(Real Application Clusters)的部署。它是搭建或升级RAC环境时必须…

【自然语言处理与大模型】如何通过微调来agent性能?

虽然大模型本身具备一定的指令理解和工具调用潜力,但在实际应用中,尤其是在复杂或专业领域,往往需要通过微调来提升Agent的工具调用能力。问题一:基座模型无法准确识别或选择特定领域的工具当Agent需要在医疗、金融、法律、工业控…

在 Keil 中将 STM32 工程下载到 RAM 进行调试运行

在 Keil 中将 STM32 工程下载到 RAM 进行调试运行 在使用 STM32 进行调试时,默认情况下代码会被烧写到 Flash 中运行。然而,Flash 写入速度较慢,擦写次数有限,且调试过程中频繁烧写可能影响开发效率。在某些场景下(如快…

【51单片机】【protues仿真】基于51单片机宠物投食系统

目录 一、主要功能 二、使用步骤 三、硬件资源 四、软件设计 五、实验现象 一、主要功能 1、LCD1602液晶显示时间、温度、食物重量 2、按键手动投喂食物​ 3、称重模块检测当前食物重量 4、食物重量小于阈值会声光警报并自动投喂 二、使用步骤 基于51单片机的宠物投食…

腾讯云负载均衡增加访问策略后访问失败

为了测试,在负载均衡的安全组添加2条安全策略,限制办公室内IP可访问,其他IP地址拒绝所有访问。结果,访问失败。经过反复测试,主要是js问价加载失败,动态接口访问代码返回正常。再进行测试,发现去…

CSS的文本样式

1.文本样式的分类注意&#xff1a;必须先建立标签&#xff0c;再在head中修改1.1字体样式1.1.1字体颜色代码演示<head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title&g…

R语言读取excel文件数据-解决na问题

文章目录安装R语言运行环境实现代码遇到的问题总结安装R语言运行环境 安装教程连接, 包含国内镜像快速下载 实现代码 实现思路&#xff1a;使用python将文件的空字符的位置变成0&#xff0c;生成csv文件后交给R语言处理python实现代码如下&#xff1a; import pandas as pd…

【Nginx 运维实战】版本替换:强制 vs 平滑升级全解析

【Nginx 运维实战】版本替换&#xff1a;强制 vs 平滑升级全解析一&#xff1a;版本替换的两种思路二&#xff1a;使用场景对比三&#xff1a;实战1&#xff09;强制替换1.备份旧版本2.替换为新版本3.**赋予执行权限**4.**重启 Nginx**2&#xff09;平滑替换1.确认进程文件2.备…

MQ-消息队列

定义 Mssage Queue&#xff1a;消息队列。它是一种“先进先出”&#xff08;FIFO&#xff09;的数据结构&#xff0c;用于在分布式系统或应用程序之间进行异步通信。组成1. 生产者&#xff08;Producer&#xff09;定义&#xff1a;消息的发送方&#xff0c;负责将业务系…

NVIDIA驱动程序核心的“即时编译器”(Just-in-Time, JIT Compiler)详细介绍

我们来详细、深入地剖析这个位于NVIDIA驱动程序核心的“即时编译器”&#xff08;Just-in-Time, JIT Compiler&#xff09;。它堪称CUDA生态系统成功的“幕后英雄”&#xff0c;是连接软件稳定性和硬件飞速发展的关键桥梁。 第一部分&#xff1a;JIT编译器的本质 首先&#xff…

【PS2025全网最新版】稳定版PS2025保姆级下载安装详细图文教程(附安装包)(Adobe Photoshop)

今天&#xff0c;给大家带来PS2025的保姆级下载安装图文教程。 前言&#xff1a; Adobe Photoshop 作为业界领先的图像处理与设计软件&#xff0c;持续推动着数字创意领域的发展。其应用涵盖平面设计、摄影后期、UI/UX 设计、影视特效等多个专业方向&#xff0c;为用户提供强…

分享TWS充电仓方案开发设计

TWS耳机市场“卷”到最后&#xff0c;拼的早已不只是音质&#xff0c;而是续航、交互、体积、成本四位一体。传统充电仓用多颗IC堆砌&#xff1a;升压、电量计、霍尔、LED驱动、保护IC……BOM高、贴片复杂、调试周期长。8位MCU把上述功能“一锅端”&#xff1a;单芯片即完成电源…

【Java实战㉖】深入Java单元测试:JUnit 5实战指南

目录一、单元测试概述1.1 单元测试概念1.2 单元测试优势1.3 JUnit 5 框架组成1.4 JUnit 5 环境搭建二、JUnit 5 核心功能实战2.1 测试类与测试方法2.2 测试生命周期2.3 断言方法2.4 异常测试三、单元测试进阶实战3.1 参数化测试3.2 测试套件3.3 Mockito 框架3.4 单元测试实战案…

分布式微服务--ZooKeeper作为分布式锁

看这篇博客之前可以先去了解博主的另一篇讲解ZooKeeper的博客&#xff1a;分布式微服务--ZooKeeper的客户端常用命令 & Java API 操作-CSDN博客 1. 为什么需要分布式锁&#xff1f; 在分布式系统中&#xff0c;多个服务节点可能同时访问或修改同一份共享资源&#xff08;例…