【MySQL】sql语句之表操作(上)

序言

 在上一篇的数据库操作的内容中,学习了两种属性和常用的七种操作,学习是循序渐进的,库的操作学完了,就要开始学习表的操作了,而表可与数据强相关,比如DDL,即数据定义语言,DML,即数据操纵语言,都是与表相关的,而其区别就在于一个是对表结构的操作,而另一个是对表内容的操作,因此表的操作的内容分为上下两部分进行讲解。铺垫完毕,好了话不多说,开始今天的学习吧!

1.创建

create table (if not exists) [表名]([变量名1] [类型],[变量名2] [类型],[变量名3] [类型]
)(charset=[字符集],collate=[校验集],engine=[存储引擎]);

说明:

  • 第一个和第三个()的意思表示其中的内容可省略,第二个()的意思是表的结构都包含哪些类型,不可省略。
  • 请注意从开始的变量名到倒数第二个变量名,末尾都带有,,但是最后一个变量名末尾不带。
  • 字符集和校验集只强调一点,如果没有设置默认与所在的数据库设置的对齐。而存储引擎没有设置跟MySQL默认的对齐。
  • 在MySQL中推荐使用此种类似结构体定义的写法,可读性较高,当然也可以采用一行的写法,具体写法则根据个人喜好来即可。

如下图可得:我所在的MySQL下的默认的存储引擎是InnoDB,通过下图sql语句可进行查看。
在这里插入图片描述


  • 给出一个示例:
    在这里插入图片描述

简要说明一下,此处的类型暂不做讨论,留到后面的文章娓娓道来,而comment,简单理解为给类型做注释,便于用户理解。


此时进入数据库所在的目录/var/lib/mysql/test_db查看一下创建一个表发生了什么,在前面的文章中提及过创建一个数据库的本质就是创建一个目录,创建一个表实际就是在创建文件,那具体创建了什么文件呢?

  • 如图:
    在这里插入图片描述

说明:

  • .sdi为后缀的文件中存放的表的结构。
  • .MYD为后缀的文件中存放的是表的数据。
  • MYI为后缀的文件中存放的是表的索引。

因此可以看出MyISAM采用的索引是一种非聚集索引,即数据和索引分开进行存储。


与此同时,再创建一个InnoDB类型的表,再次查看此目录下的文件与MyISAM进行比较看有什么不同,这里就省略不写了,就是换一个表名,然后将最后的存储引擎换成InnoDB。

  • 如图:
    在这里插入图片描述

相比之下,InnoDB创建的表虽然只建立了一个文件,但这个文件中包含了表的索引和所有数据,因此InnoDB采用的索引是聚集索引。


补充:

  1. MyISAM,MySQL5.5.8版本之前默认的存储引擎,不支持事务,采用非聚集索引。
  2. InnoDB,MySQL数据库5.5.8版本开始,默认的存储引擎,支持事务,采用聚集索引。

2.查看

创建信息

show create table [表名];
#一般将末尾的;换成\G打印出来的效果更好。

在这里插入图片描述

表结构

desc [表名];

在这里插入图片描述
简要说明一下,Field为字段名称,Type为类型,Null为是否可以为控制,Key为是否为索引,Default为是否有默认值,Extra为额外信息。

3.修改

表的重命名

alter table [表名] rename to [新表名]#to可省略不写

如图:

在这里插入图片描述

此处在修改表名其实就是在数据库的目录下将其文件的前缀改为usr

如图:

在这里插入图片描述

增加列

alter table [表名] add [列名] [类型];

如图:

在这里插入图片描述

修改列属性

 alter table [表名] modiy [列名] [新属性];

如图:

在这里插入图片描述

删除列

alter table [表名] drop [列名];

如图:

在这里插入图片描述

补充一个小知识:进入MySQL内部的命令行之后,是不能直接执行系统命令的,如果要执行可在前面加上system,比如system ls;

3.备份和恢复

mysqldump -P [端口号] -u [用户] -p [密码] 数据库 表名,表名,... > [文件].sql#注意:mysql内执行要在mysqldump前加system。

首先向此表中插入一些数据之后,然后进行备份。

如图:

在这里插入图片描述

接着将此表删除之后,进行恢复。

source [指定目录下的.sql文件];

如图:

在这里插入图片描述
说明:恢复数据的过程其实就是将创建表和插入数据的sql语句记录下来,然后再执行一遍,这里Query OK的行有点冗余,为了避免截出来图片过长,我默默P掉了一部分,嘿嘿不用感谢我。


最后从表中查看数据验证结果。

在这里插入图片描述

对比之后结果无误,说明表恢复完毕。

尾序

今天学习了数据定义语言(DDL)中与表结构相关的操作,主要涉及创建,查看,修改,备份和恢复,当然还是一样内容并不难,关键就在于一个熟练度,敲就完事了。我是舜华,期待与你的下次相遇!

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

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

相关文章

MATLAB基础应用精讲-【数模应用】二元Logit分析(最终篇)(附python、MATLAB和R语言代码实现)

目录 算法原理 SPSSAU 1、二元logistic分析思路说明 2、如何使用SPSSAU进行二元logistic操作 3、二元logistic相关问题 算法流程 一、分析前准备 1、确定分析项 2.多重共线性判断 3.数据预处理 二、回归基本情况分析 三、模型拟合评价 1、似然比检验 2、拟合优…

数字后端设计岗位介绍

数字后端设计岗位是数字芯片设计流程中的关键环节,以下是对该岗位的详细介绍: 一、岗位职责 数字后端设计工程师的主要职责包括: 负责将芯片的逻辑设计转化为物理实现,利用EDA工具进行自动布局布线,完成从netlist到…

Redis系列之淘汰策略介绍

Redis系列之淘汰策略介绍 文章目录 为什么需要Redis淘汰策略?Redis淘汰策略分类Redis数据淘汰流程源码验证淘汰流程Redis中的LRU算法Redis中的LFU算法 为什么需要Redis淘汰策略? 由于Redis内存是有大小的,当内存快满的时候,又没有…

C++初阶学习第十一弹——探索STL奥秘(六)——深度刨析list的用法和核心点

前言: 在前面,我们已经学习了STL中的string和vector,现在就来讲解STL中的最后一个部分——list的使用及其相关知识点,先说明一点,因为我们之前已经讲过了string和vector的接口函数等用法,list的这些用法与它…

HTML静态网页成品作业(HTML+CSS)—— 保护环境环保介绍网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

游戏盾之应用加速,何为应用加速

在数字化时代,用户对于应用程序的防护要求以及速度和性能要求越来越高。为了满足用户的期望并提高业务效率,应用加速成为了不可忽视的关键。 应用加速是新一代的智能分布式云接入系统,采用创新级SD-WAN跨域技术,针对高防机房痛点进…

泽众云真机-上线海外机型测试专栏

泽众云真机平台,2024上半年70机型升级,也包括热门的海外机型。 但是,运营客服反馈,用户找不到平台海外机型在哪里,我们发现海外机型排列位置有问题,用户不易发现。目前问题已解决,上线海外机型测…

SpringBoot 配置文件

SpringBoot 配置文件 配置⽂件作用 配置文件是为了解决硬编码的问题,把一些可能会发生改变的信息放到一个集中的地方当我们启动某个程序时应用程序就从我们配置的文件中读取数据并进行加载运行 硬编码是将数据直接嵌⼊到程序或其他可执⾏对象的源代码中, 也就是我们常说的"…

docker 命令 ps,inspect,top,logs详解

docker常用命令教程-4 docker ps docker ps 命令用于列出当前正在运行的容器。默认情况下,它只显示正在运行的容器,但你可以使用 -a 或 --all 选项来显示所有容器(包括已停止的容器)。 常用的选项和示例: -a 或 --…

Spring Boot中整合Jasypt 使用自定义注解+AOP实现敏感字段的加解密

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

小程序 UI 风格美不胜收

小程序 UI 风格美不胜收 小程序 UI 风格美不胜收

python基础——-多任务-正则-装饰器

一、多任务 1-进程和线程 进程是操作系统分配资源的最小单元 线程执行程序的的最小单元 线程依赖进程,可以获取进程的资源 一个程序执行 先要创建进程分配资源,然后使用线程执行任务 默认情况下一个进程中有一个线程 2-多任务介绍 运行多个进程或线程执…

软件杯 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基…

discuz点微同城源码34.7+全套插件+小程序前端

discuz点微同城源码34.7全套插件小程序前后端 模板挺好看的 带全套插件 自己耐心点配置一下插件 可以H5可以小程序

MySQL与PostgreSQL关键对比一(整体篇)

目录 1 快速参考表:MySQL 与 PostgreSQL 功能表 2 快速参考表:MySQL 与 PostgreSQL 功能表 MySQL 和 PostgreSQL 提供许多相同的特性和功能 - 但是这两个关系数据库管理系统 (RDBMS) 之间存在不容忽视的关键差异。 如果您不熟悉这些差异,这…

SCARA机器人中旋转花键的维护和保养方法!

作为精密传动元件的一种,旋转花键在工作过程中承受了较大的负荷。在自动化设备上运用广泛,如:水平多关节机械手臂(SCARA)、产业用机器人、自动装载机、雷射加工机、搬运装置、机械加工中心的ATC装置等,最适…

苗情灾害监测站

TH-MQ1随着现代农业技术的不断进步,苗情灾害监测站在农田管理中扮演着越来越重要的角色。这种先进的监测技术为农民提供了实时的苗情信息和灾害预警,帮助他们更有效地进行农田管理和决策。 一、苗情灾害监测站的基本概述 苗情灾害监测站是一种集传感器…

CAD 文件(DXF / DWG)转换为(DXF / PDF / PNG / SVG)

方法一Github 这个是ezdxf出品的&#xff0c;可以使用命令行的方式进行转换 ezdxf draw -o file.<png|svg|pdf> <file.dxf>也可以自己改动代码 examples/addons/drawing/pdf_export.py 但是直接运行会有误&#xff0c;以下是我改动后的代码&#xff1a; from ez…

U-Mail:企业邮箱系统安全解决方案

在数字化浪潮的推动下&#xff0c;互联网技术正日新月异&#xff0c;企业的信息通信需求亦随之升华。作为企业沟通的重要媒介&#xff0c;企业邮箱已被广泛应用&#xff0c;然而随着其应用范围的不断扩展&#xff0c;也给企业带来了一系列挑战&#xff1a; 一、统一身份认证管…

小程序集arcgis地图显示自定义坐标的功能实现记录!(学习笔记)

最近再做一个新能源回收项目&#xff0c;项目中有个根据回收点坐标数据显示区域内回收点位置&#xff0c;点击图标直接导航到该位置&#xff0c;及分布的需求&#xff0c;研究了一下&#xff0c;实现效果如下&#xff0c;实现起来很简单&#xff0c;代码及效果 回收点位置及分…