MySQL表的操作

news2024/9/21 10:47:07

文章目录

  • MySQL表的操作
    • 创建表
    • 创建表案例
    • 查看表结构
    • 修改表
    • 删除表

MySQL表的操作

表操作至少会涉及如下两类SQL语句:

  • DDL(Data Definition Language)数据定义语言:比如建表、删表、该表、新增列、删除列等。
  • DML(Data Manipulation Language)数据操作语言:比如插入记录、删除记录、修改记录等。

本篇博客讲的是表的DDL操作,也就是操作表结构的SQL语句。

创建表

创建表

创建表的SQL如下:

CREATE TABLE [IF NOT EXISTS] table_name(
	field1 datatype1 [COMMENT '注释信息'],
	field2 datatype2 [COMMENT '注释信息'],
	field3 datatype3  [COMMENT '注释信息']
)[CHARSET=charset_name] [COLLATE=collation_name] [ENGINE=engine_name];

说明一下:

  • SQL中大写的表示关键字,[ ]中代表的是可选项。
  • field表示列名,datatype表示列的类型。
  • CHARSET用于指定表所采用的编码格式,如果没有指定则以所在数据库的编码格式为准。
  • COLLATE用于指定表所采用的校验规则,如果没有指定则以所在数据库的校验规则为准。
  • ENGINE用于指定表所采用的存储引擎。
  • COMMENT用于对指定列添加注释信息。

使用show enginesSQL可以查看当前MySQL支持的存储引擎。如下:

在这里插入图片描述

可以看到我当前的MySQL默认使用的是InnoDB存储引擎,如果我建表时没有指定使用哪种存储引擎,那么就会默认使用InnoDB存储引擎。

创建表案例

创建表案例

在创建表之前需要先选中一个数据库,然后在数据库中创建表,这里我们先创建一个数据库。如下:

在这里插入图片描述

数据库创建完毕后选中数据库,在该数据库中创建一个user表,并在建表时指定采用MyISAM存储引擎。如下:

在这里插入图片描述

表创建完毕后在数据库的数据存储路径下的table_operation目录中,就会对应增加三个文件。如下:

在这里插入图片描述

说明一下:

  • 采用不同的存储引擎,创建表时所产生的文件不一样。
  • 采用InnoDB存储引擎建表,会产生对应的xxx.frm(表结构)和xxx.ibd(表数据+表索引)文件。
  • 采用MyISAM存储引擎建表,会产生对应的xxx.frm(表结构)、xxx.MYD(表数据)和xxx.MYI(表索引)文件。

查看表结构

查看表结构

使用desc 表名SQL可以查看表的结构。如下:

在这里插入图片描述

说明一下:

  • Field表示该字段的名字。
  • Type表示该字段的类型。
  • Null表示该字段是否允许为空。
  • Key表示索引类型,比如主键索引为PRI。
  • Default表示该字段的默认值。
  • Extra表示该字段的额外信息说明。

如果想要查看创建表时的相关细节,可以使用show create table 表名SQL。如下:

在这里插入图片描述

修改表

修改表

修改表的SQL如下:

ALTER TABLE table_name ADD 新增列名 新增列的属性;

ALTER TABLE table_name MODIFY 列名 修改后的列属性;

ALTER TABLE table_name DROP 列名;

ALTER TABLE table_name RENAME [TO] 新表名;

ALTER TABLE table_name CHANGE 列名 新列名 新列属性;

修改表的过程中可能会影响到表中的数据,为了演示这个过程,我们在修改表之前先在user表中插入两条数据。如下:

在这里插入图片描述

一、新增列

在user表中新增一列用于保存用户的照片路径。如下:

在这里插入图片描述

说明一下: 新增列SQL中的after表示将该列新增到哪一列之后,如果想要将新增的列放到第一列,可以将after及其之后的SQL换成not null first

新增列后可以通过desc命令确认新增成功,这时再插入一条用户记录后查看表中信息。如下:

在这里插入图片描述

可以看到在新增列之前插入表中的两条记录对应的path值为NULL,因此新增列后可能还需要对原来插入的记录进行修改。

二、修改列类型

将user表中password列的类型由char(30)改成char(50)。如下:

在这里插入图片描述

说明一下: 如果需要修改列类型后仍然保留comment字段,需要在修改时重新指定comment字段。

三、修改列名

将user表中password列的列名改成passwd。如下:

在这里插入图片描述

四、修改表名

将user表的表名改成employee。如下:

在这里插入图片描述

五、删除列

将employee表中的path列删除。如下:

在这里插入图片描述

注意: 删除列后,该列对应的所有数据都没有了。

删除表

删除表的SQL如下:

DROP [TEMPORARY] TABLE [IF EXISTS] table_name;

说明一下:

  • 在创建表语句中加上TEMPORARY关键字,那么服务器将创建出一个临时表,该表会在你与服务器的会话终止时自动消失。
  • TEMPORARY表的名字可以与某个已有的永久表相同,当有TEMPORARY表存在时,对应的永久表会隐藏起来(即无法访问)。
  • 为了避免重新连接后(TEMPORARY已经不存在),在未做检测的情况下调用DROP误删了对应永久表,因此在使用DROP删除临时表时需要带上TEMPORARY关键字。

将employee表删除。如下:

在这里插入图片描述

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

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

相关文章

电容笔有什么用?电容笔10大品牌排行榜

当电容笔与ipad配合使用时,将会极大地提高我们的工作以及学习效率,同时增加更多的乐趣,而不会让人觉得枯燥。在画画方面,电容笔的重要作用不可忽略。我对电容笔还是很了解的,很多电容笔都是适用于我们的ipad的&#xf…

故障分析 | OceanBase Proxy 无法连接 OBserver 集群

作者:贲绍华 爱可生研发中心工程师,负责项目的需求与维护工作。其他身份:柯基铲屎官。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 一、问题现象&am…

前端一面经典vue面试题(持续更新中)

vuex是什么?怎么使用?哪种功能场景使用它? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。vuex 就是一个仓库,仓库里放了很多对象。其中 state 就是数据源存放地,对应于一般 vue 对象里面的 data 里面存放的数据…

CAS:2590863-00-4;DPPD的理化性质

中文名 4,4-(2,2-二苯基乙烯-1,1-二基)双([1,1-联苯]-4-羧酸) 英文名 4,4-(2,2-Diphenylethene-1,1-diyl)bis([1,1-biphenyl]-4-carboxylic acid) 物理化学性质 分子式 C40H28O4 分子量 572.65 AIE聚集诱导发光材料的特点: 1.在固态下有强发光特性(粉末…

Wordhero AI智能写作工具:购买、攻略、资源 -揭秘如何根据关键词和标题生成段落

Wordhero AI是我经过仔细对比,实际应用之后获得相应效果之后,坚持使用的AI写作工具。为了持续获得这方面的提升和反馈,我建立了两个渠道去让自己不断获得国内外同样工具使用者的反馈和建议: AI Content Hacker - AI Writing Guid…

[附源码]Python计算机毕业设计Django医学图像管理平台

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

持续跟踪九大行业营销应用,神策《2022 营销自动化应用基准报告》正式发布...

以人为本的时代为营销人员带来了新的机会:与客户建立更紧密的连接,更多地基于品牌与客户的双向参与,以创造更好的产品和体验,而不仅仅是基于大众传播渠道的推广策略传递品牌信息。后疫情时代,市场充满不确定性&#xf…

公益校园网页制作 大学生网页设计作业 HTML CSS公益网页模板 大学生校园介绍网站毕业设计

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

【C++】STL——string的使用

大家好我是沐曦希💕 文章目录一、STL简介1.STL版本2.STL的组成3.如何学习STL二、编码三、string类四、常见构造五、operator[]六、iterator迭代器1.正向迭代器2.反向迭代器3.const迭代器七、Capacity容量操作1.接口2.扩容八、Modifiers修改操作九、非成员函数重载一…

前端Nodejs框架koa/egg和es6入门

故事从一个小需求开始,有一天我们美丽可爱的运营MM拿出来了一份Excel表格,希望在一些特定场景能让小蜜按照她定制的样子来交互,并且每一条问题或答案都带一些值来影响处理过程最终能对用户看到的结果起到一定作用。Excel里包含两个sheet页&am…

【C++类型转换】4种类型转换:static_cast、reinterpret_cast、const_cast、dynamic_cast

目录 1. C语言中的类型转换 2.1.类型转换:static_cast 2.2.类型转换:reinterpret_cast 2.3.类型转换:const_cast 2.4.类型转换:dynamic_cast 1. C语言中的类型转换 隐式类型转换:编译器在编译阶段自动进行&#x…

第9章 无监督学习

系列文章目录 第1章 绪论 第2章 机器学习概述 第3章 线性模型 第4章 前馈神经网络 第5章 卷积神经网络 第6章 循环神经网络 第7章 网络优化与正则化 第8章 注意力机制与外部记忆 第9章 无监督学习 第10章 模型独立的学习方式 第11章 概率图模型 第12章 深度信念网络 第13章 深…

两种形式的import

两种形式 import … 后面只能是模块或包 from … import … from 后面只能是模块或包,import 后面可以是任何变量 总结 可以简单的记成:第一个空只能填模块或包,第二个空填啥都行。 看一个实例 通过from import可以正常都模块 import方式不…

安装head

版本 github地址:https://gitcode.net/mirrors/mobz/elasticsearch-head?utm_sourcecsdn_github_accelerator 下载zip 解压zip得到文件夹elasticsearch-head-master 打开head命令行,依次按命令下载 下载淘宝镜像: npm install -g cnpm -…

程序员需知的9个编程学习官网,建议收藏

毫无疑问,一项技术,最权威的文档一定是它的官方文档,所有的教程、书籍都是直接或者间接在官方相关文档的基础上完成。所以,编程学习,后面最好还是要看官网的。当然,官网大部分都是英文——其实配合一些翻译…

Ubuntu下Petalinux安装流程与常见问题解决

一. 简介 由于近期需要对ZYNQ ARM端做Linux开发测试,需要用到Petalinux工具进行定制,所以本文对Petalinux安装过程进行简要总结,并对安装过程中遇到的一些问题进行解释并解决。 Petalinux是Xilinx公司开发的嵌入式Linux定制软件,…

「C#」异步编程玩法笔记-async、await

C#5.0的时候引入了async和await两个修饰符,成为异步编程的核心关键字。 async 是修饰符,表明方法含有异步操作,但并不是说整个方法是异步的。async修饰的方法会先同步执行到第一处await的地方而后开始异步。 await可以理解为一异步特有的“re…

使用Python制作内马尔的胜利之舞代码版

不知道大家最近有没有被球星内马尔所吸引,反正我是对他的胜利之舞上瘾了。今天,我以程序猿的视角将他的胜利之舞做成代码版的视频。话不多说,先看看最终效果图: 哈哈哈哈,是不是看着还不错的样子。 之前我做过类似的教…

小程序游戏 vs h5游戏,技术优势分别有哪些

从“跳一跳”到“羊了个羊”微信小游戏上线4年时间,除了涌现出不少火爆全网的小游戏之外,也有类似于“动物餐厅”、“口袋奇兵”等游戏得以在此孵化繁荣,凭借着微信强大的社交属性小游戏成为游戏厂商在桌面端、App 端、H5 端之外争夺的另一个…

微软宣布 S2C2F 已被 OpenSSF 采用

开源供应链安全对大多数 IT 领导者来说是个日益严峻的挑战,围绕确保开发人员在构建软件时如何使用和管理开源软件 (OSS) 依赖项的稳健策略至关重要。Microsoft 发布安全供应链消费框架 (S2C2F) 是一个以消费为中心的框架,它使用基于威胁的风险降低方法来…