【MYSQL】-表的操作

news2024/11/18 22:41:48

在这里插入图片描述
💖作者:小树苗渴望变成参天大树🎈
🎉作者宣言:认真写好每一篇博客💤
🎊作者gitee:gitee✨
💞作者专栏:C语言,数据结构初阶,Linux,C++ 动态规划算法🎄
如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧!

文章目录

  • 前言
  • 一、创建表(增)
  • 二、查看表(查)
  • 三、修改表(改)
  • 四、删除表(删)
  • 五、总结


前言

上一篇博主刚介绍过库的操作,其实库的操作还是很简单的,数据库里面就是使用表来管理数据的,当然还有其他的,表是最重要的,所以今天这篇我们就来介绍表的操作,还是在学习DDL数据定义语言,不是数据操纵语言,所以这篇就只是对表的结构做操作,里面的数据怎么处理以及一些字段这篇不做介绍,这个先要了解,话不多说我们开始进入正文的讲解。


一、创建表(增)

语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:
1.datatype 表示列的类型
2.field 表示列名
3.character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
4.collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
5 .需要先进入一个数据库在创建表

在这里插入图片描述

  1. 在创建表的时候设置的字符集和校验规则不写就是默认的,相当于从数据库上继承下来的。
  2. 不同的存储引擎创建表会形成不同的文件,我们目前认为不管使用那种引擎在上层都是无差别的。
  3. user 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
    user.frm:表结构
    user.MYD:表数据
    user.MYI:表索引
  4. 创建表的核心就是定义列属性,他和我们学习到的其他语言定义变量是相反的,这个将在下一篇介绍数据类型的时候详细介绍。

二、查看表(查)

show tables;//查看当前数据库中所有表

在这里插入图片描述

desc 表名;查看表的具体结构

我们只需要关注前两个列就行了,后几个后面会介绍
在这里插入图片描述

show create table 表名 \G;查看定义表时候的语句

在这里插入图片描述

\G选项加不加其实是为了看的简洁而已,没啥其他作用,使用上面的语句可以把我们创建表时候的创建语句显示出来,但是里面有些字段我自己创建的时候并没有写,那这里为什么会出现,原因是我们自己输入的创建语句会被mysql解析的,有的默认的你在创建的时候可以不写,但是执行的时候内部要使用完整的,所以给你展示的也是完整的。

三、修改表(改)

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。
语法:

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename DROP (column)

语法看上去很复杂,所以大家先不要管语法,博主通过案例给大家演示一下,大家在回头看语法就理解了。

前期工作:在user表中插入两条数据

insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-04');

在这里插入图片描述

  1. 在user表添加一个字段,用于保存图片路径(添加列名)
alter table users add assets varchar(100) comment '图片路径' afterbirthday;

在这里插入图片描述

我们新增新的字段的时候和创建表时候定义字段是一样的,after后面是将新增的字段放在已有字段的后面。因为新增,没有数据,所以查询直接为空,并且对原来的数据没有产生影响

  1. 修改name,将其长度改成60(对已有的属性进行修改属性)
alter table users modify name varchar(60);

在这里插入图片描述

我们看到确实修改成功了,但是修改的是整个字段的语句,我们原有的comment也没有了。注意:我们使用这种方式修改数据类型大小变大对员数据没有影响,但是变小可以会出现截断,出现数据错误问题

  1. 删除password列(删除列属性)
alter table user drop password;

在这里插入图片描述

我们看到确实把这一列属性删除了,但是对应的数据也删除了,所以这个操作大家还是要注意的。

  1. 将name列修改为xingming(修改列名)
alter table user change name xingming varchar(60);

在这里插入图片描述

修改名字需要冲顶定义属性,至少有名字和数据类型。

  1. 修改user表明
alter table user rename to ceshibiao;

在这里插入图片描述

to:可以省掉

说明:
我们对表的属性进行修改,可以通过这个区查看对几行数据产生了影响。在这里插入图片描述

四、删除表(删)

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
drop table if exists ceshibiao;

在这里插入图片描述

删除表也是一个需要注意的问题,大家不要轻易删除表,会造成数据丢失。

五、总结

这篇相对来说在修改哪里语句比较多,但是有相通的地方,大家下去多练习就可以,下一篇我们讲解数据类型。

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

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

相关文章

functools.partial:Python中灵活函数部分应用的工具

更多资料获取 📚 个人网站:ipengtao.com 在Python编程中,functools.partial是一个强大的工具,它提供了一种部分应用函数的方式,能够在创建新函数时固定部分参数,从而在后续调用中减少需要传递的参数数量。…

python中random.seed()和random.getstate()用法详解

python中random.seed()和random.getstate()用法详解 摘要 python的random包经常被用于模拟实验的重现,数据集的随机划分的确定性重现。然而,我本人之前对random.seed()什么时候调用,调用之后会对之后多少代码起决定性作用这一块感到云里雾里…

压测方案设计..

01 为什么要做压测 1、什么是压力测试? 不断向被测对象施加压力,测试系统在压力情况下的表现。 2、压力测试的目的是什么? 测试得出系统的极限性能指标,从而给出合理的承诺值或者容量告警; 找出系统的性能瓶颈&am…

清华提出ViLa,揭秘 GPT-4V 在机器人视觉规划中的潜力

人类在面对简洁的语言指令时,可以根据上下文进行一连串的操作。对于“拿一罐可乐”的指令,若可乐近在眼前,下意识的反应会是迅速去拿;而当没看到可乐时,人们会主动去冰箱或储物柜中寻找。这种自适应的能力源于对场景的…

51单片机简易出租车计费系统仿真设计

51单片机简易出租车计费系统仿真设计( proteus仿真程序报告讲解视频) 仿真图proteus 8.9及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0036 1.主要功能: 出租车计费系统设计内容: 1、…

JDK17 SpringBoot3 整合常见依赖

JDK版本:17 SpringBoot 整合Mybatis Plus 、Redis等 依赖文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xs…

数据链路程协议

目录 数据链路层 介绍 以太网帧格式 目的地址 源地址 类型 CRC 数据 如何封装和解包 如何向上交付 MAC地址与IP地址 MTU 局域网数据转发 局域网数据碰撞 数据包转发 ARP协议 构建ARP请求 ARP请求的处理 ARP响应的构建 ARP欺骗 DNS域名解析 域名解析是什么…

标准IO与文件IO

标准IO通过缓冲机制减少系统调用&#xff0c;实现更高的效率 全缓冲&#xff1a;当流的缓冲区无数据或无空间时才执行实际IO操作 行缓冲&#xff1a;当在输入和输出中遇到换行符&#xff08;\n&#xff09;时&#xff0c;进行IO操作 当流和一个终端关联时&#xff0c;典型的行缓…

【06】GeoScene海图或者电子航道图数据自动化质检

1 S-58错误管理器验证产品 在你编辑数据时进行快速的质量检查可以使用S-58错误管理器&#xff0c;S-58错误管理器工具允许您使用IHO S-58验证标准来验证海事数据库中的产品。你可以验证整个产品&#xff0c;或验证产品的当前范围。 1.1验证产品 使用S-58错误管理器工具完成以…

服务器解析漏洞是什么?攻击检测及修复

服务器解析漏洞&#xff08;Server-side Include Vulnerability&#xff0c;SSI漏洞&#xff09;是一种安全漏洞&#xff0c;通常出现在支持服务器端包含&#xff08;SSI&#xff09;功能的Web服务器上。SSI是一种在Web页面中嵌入动态内容的技术&#xff0c;允许开发人员将外部…

Java 数据结构篇-实现二叉搜索树的核心方法

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 二叉搜索树的概述 2.0 二叉搜索树的成员变量及其构造方法 3.0 实现二叉树的核心接口 3.1 实现二叉搜索树 - 获取值 get(int key) 3.2 实现二叉搜索树 - 获取最小…

监控k8s controller和scheduler,创建serviceMonitor以及Rules

目录 一、修改kube-controller和kube-schduler的yaml文件 二、创建service、endpoint、serviceMonitor 三、Prometheus验证 四、创建PrometheusRule资源 五、Prometheus验证 直接上干货 一、修改kube-controller和kube-schduler的yaml文件 注意&#xff1a;修改时要一个节…

neo4j安装报错:neo4j.bat : 无法将“neo4j.bat”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

neo4j安装报错&#xff1a; neo4j.bat : 无法将“neo4j.bat”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果包括路径&#xff0c;请确 保路径正确&#xff0c;然后再试一次。 解决办法&#xff1a; 在环境变量中的&#xff0c;用户…

手把手教你搭建谷歌Gemini

前言 谷歌上周推出了一款名为 Gemini 的多模态大模型&#xff0c;并且现在发布了免费开放的 Gemini API 供开发者使用。根据谷歌提供的定价信息&#xff0c;Gemini 有两种收费方式。免费版本每分钟可以进行 60 次请求&#xff0c;足够满足个人用户的需求。收费版本目前暂不可用…

你了解Redis中的跳跃表吗?

跳跃表的基本内容&#xff1a; 对于一个有序序列&#xff0c;链表相对于数组来说&#xff0c;删除和插入的效率要快很多&#xff0c;只需要改变指针的指向&#xff0c;但是在查找的时候&#xff0c;数组就要更占优势一些&#xff0c;可以随机访问&#xff0c;然而链表需要从头…

连接SSH报错 / 连接容器SSH

连接SSH报错 / 连接容器SSH 前言被控端主控端连接失败 前言 本文介绍如何通过SSH方式远程连接Linux被控端&#xff0c;并介绍如何解决连接失败问题。 此方法同样适用于SSH连接Docker容器。 被控端 被控端一般为Linux&#xff0c;默认已安装ssh&#xff0c;但需要手动安装ope…

C++ OJ题测试—排序算法效率

目录 OJ链接 一、直接插入排序 二、希尔排序 三、直接选择排序 常规&#xff1a; 第二种&#xff1a; 四、 堆排序 五、冒泡排序 六、快速排序 常规&#xff1a; 三路划分优化效率 七、归并排序 八、计数排序 OJ链接 ​ 一、直接插入排序 class Solution { pub…

Gateway No servers available for service

springCloud集成网关测试报错找不到服务&#xff0c;如下 造成这种错误可能是下面两种原因 1、nacos注册的服务不在一个命名空间内&#xff0c;导致找不到服务503 spring cloud:nacos:discovery:server-addr: 127.0.0.1:8848config:server-addr: 127.0.0.1:8848file-extensio…

探索Qt 6.3:了解基本知识点和新特性

学习目标&#xff1a; 理解Qt6.3的基本概念和框架&#xff1a;解释Qt是什么&#xff0c;它的核心思想和设计原则。学会安装和配置Qt6.3开发环境&#xff1a;提供详细的步骤&#xff0c;让读者能够顺利安装和配置Qt6.3的开发环境。掌握Qt6.3的基本编程技巧&#xff1a;介绍Qt6.…

欧洲版OpenAI疑似将在24年发布并开源GPT-4级别模型!

大家好&#xff0c;我是二狗。 今天在推特上看到一条振奋人心的消息&#xff1a; “ 欧洲版OpenAI、法国初创公司 Mistral 首席执行官 Arthur Mensch 在法国国家广播电台宣布&#xff0c;Mistral 将在 2024 年发布开源 GPT-4 级别模型。” 这位老哥接着表示甚至可能是免费的&a…