【MYSQL】-表的操作

在这里插入图片描述
💖作者:小树苗渴望变成参天大树🎈
🎉作者宣言:认真写好每一篇博客💤
🎊作者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;

在这里插入图片描述

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

五、总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

acwing-蓝桥杯C++ AB组辅导课Day2-递归习题+递推+二分

感谢梦翔老哥的蓝桥杯C AB组辅导课~ 递归习题: 1.递归实现组合型枚举 题意: 题目要求输出组合枚举,与排列不同,排列具有顺序之分,对于组合来说,是没有顺序之分的,所以[1,2,3]和[3,2,1]被看成同…

PyQt6 QTableWidget表格控件

锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计50条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…

神经网络:优化器和全连接层

SGD(随机梯度下降) 随机梯度下降的优化算法在科研和工业界是很常用的。 很多理论和工程问题都能转化成对目标函数进行最小化的数学问题。 举个例子:梯度下降(Gradient Descent)就好比一个人想从高山上奔跑到山谷最低…

23年12月AI烟火识别系统应用案例-北京梅兰芳故居防火系统

AI烟火识别智能视频分析系统在文化遗产保护领域的应用,尤其是在梅兰芳故居防火系统的部署,是现代科技与传统文化保护结合的典范。这篇文章将详细介绍富维烟火识别系统的设计、实施及其在23年12月在北京梅兰芳故居中的应用。 背景介绍 ● 梅兰芳故居的重要…

Ubuntu20.04.2-mate上Lazarus安装与测试

简言 Lazarus采用RAD方式界面开发,一套代码可交差编译出windows、ios、android、solaris、BSD等 各平台运行的程序,在unbuntu的repo中有2.2.0版本可用,在sourceforge上有2.2.6版本和3.0.0的Rolling版可下载安装,但感觉上2.2.0和2…

【实时绘画】comfyUI 实时绘画工作流 - 投屏

原理:(可用方案) 1:利用DesignDoll(人体控制模型)comfyUI实现 实时绘制人物对话场景 2:利用krita投影 实时绘制 场景人物 3:利用posemy.art进行实时绘画 设置有关模型。如果要开启lora&#xff…

C/C++与MySQL:多线程、大并发和异步操作的实践

C/C与MySQL:多线程、大并发和异步操作的实践 在前面的文章中,我们介绍了如何使用C/C调用MYSQL API进行基本的数据库操作。然而,在实际应用中,特别是面对大量用户请求和高并发场景时,单线程的数据库操作往往显得力不从…

内网离线部署Ant Design离线文档离线api antd离线组件api

我们经常会遇到需要在内网开发不方便查看api的尴尬情况,文本用最简单的nginx,让你十分钟部署好本地的离线antd文档,想在哪用在哪用,妈妈在也不用担心我啦 1.x及以下的只要到官网下载gh-pages分支,放到nginx里&#xf…

在centos7.9上安装Jenkins的安装过程

1.jenkins的安装和配置: 安装JDK: yum install -y fontconfig java-11-openjdk # 安装目录:/usr/lib/jvm # fontconfig 是 Linux 系统中用于配置和管理字体的一种工具 下载jenkins安装包: sudo wget -O /etc/yum.repos.d/jenkins…

2017年第六届数学建模国际赛小美赛B题电子邮件中的笔迹分析解题全过程文档及程序

2017年第六届数学建模国际赛小美赛 B题 电子邮件中的笔迹分析 原题再现: 笔迹分析是一种非常特殊的调查形式,用于将人们与书面证据联系起来。在法庭或刑事调查中,通常要求笔迹鉴定人确认笔迹样本是否来自特定的人。由于许多语言证据出现在电…

Ubuntu 常用命令之 tar 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 tar 命令在 Ubuntu 系统中是用来打包和解包文件的工具。tar 命令可以将多个文件或目录打包成一个 tar 文件,也可以将 tar 文件解包成原来的文件或目录。 tar 命令的常用参数如下 c:创建一个新的 tar 文件…

记一次渗透测试信息收集(证书+c段+历史漏洞搜索)

目录 一、当资产列表挖掘不出漏洞的时候 二、信息收集之证书信息收集(部分方式) 三、信息收集之C段信息收集 四、信息收集之某网关RCE 一、当资产列表挖掘不出漏洞的时候 二、信息收集之证书信息收集(部分方式) Fofa语句&#…

JS常用方法

1、reduce()统计 (1)数组和 计算并返回给定数组 arr 中所有元素的总和 let arr [1,4,3,6,2,6] function sum(){const newArr arr.reduce((pre,item)>{return preitem})console.log(newArr);//22 } sum() 2、filter()过滤器 (1&#…

el-table 实现行拖拽排序

element ui 表格实现拖拽排序的功能&#xff0c;可以借助第三方插件Sortablejs来实现。 引入sortablejs npm install sortablejs --save组件中使用 import Sortable from sortablejs;<el-table ref"el-table":data"listData" row-key"id" …

智能优化算法应用:基于龙格-库塔算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于龙格-库塔算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于龙格-库塔算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.龙格-库塔算法4.实验参数设定5.算法结果…

红队打靶练习:WINTERMUTE: 1

前言 网络扫描&#xff08;Nmap、netdiscover&#xff09; HTTP 服务枚举 使用电子邮件日志文件在浏览器中进行目录遍历 利用 SMTP RCPT 选项中的操作系统命令注入 生成 PHP 后门 (Msfvenom) 执行RCPT选项中嵌入的后门 反向连接&#xff08;Metasploit&#xff09; 导入 pytho…

一键在线获取APP公钥、包名、签名及备案信息方法介绍

​ 目录 一键在线获取APP公钥、包名、签名及备案信息方法介绍 摘要 引言 一键获取APP包信息 操作步骤 ​编辑 解析报告 总结 致谢 关键词 参考资料 声明 摘要 本文介绍了一款在线APP解析工具&#xff0c;可以一键获取APP的公钥、包名、签名等基础信息&#xff0c;…

spring依赖注入对象类型属性----外部bean的引入(bean和bean之间的引入)

文章目录 注入普通属性的方式1、set方法注入2、构造器&#xff08;构造方法&#xff09;注入 总结&#xff1a;注入对象类型属性 注入普通属性的方式 1、set方法注入 2、构造器&#xff08;构造方法&#xff09;注入 总结&#xff1a; set方法注入和构造器方法的注入&#…

C语言——高精度乘法

一、引子 高精度乘法相较于高精度加法和减法有更多的不同&#xff0c;加法和减法是一位对应一位进行操作的&#xff0c;而乘法是一个数的每一位对另一个数的每一位进行操作&#xff0c;需要的计算步骤更多。 二、核心算法 void Calculate(int num1[], int num2[], int numres…

Linux docker安装nacos

1&#xff1a;首先下载安装docker&#xff0c;这里不做描述&#xff0c;可以自行百度安装。 2&#xff1a;通过docker下载nacos&#xff0c; docker pull nacos/nacos-server:latest3&#xff1a;搭建临时nacos容器&#xff0c;此步骤的目的是为了获取nacos的配置文件和日志 …