【MySQL】表的操作【有关表结构的操作】【创建、查看、删除、修改表结构】

news2024/11/15 19:54:57

目录

  • 表的操作
    • 1.创建表
    • 2.查看表结构
    • 3修改表
      • 3.1修改表名
      • 3.2添加字段/列
      • 3.3修改字段/列
      • 3.4删除字段/列
      • 3.5对单一字段/列 重命名
    • 4.删除表

表的操作

1.创建表

创建表的语句语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) charset 字符集 collate 校验规则 engine 存储引擎;
  • field 表示列名

  • datatype 表示列的类型

  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准

  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

  • engine 存储引擎,如果没有指定存储引擎,就会以所在数据库的默认存储引擎为准

实例:

创建两个表,一个user1,一个user2,分别使用不同的存储引擎去创建

create table if not exists user1(
    id int,
    name varchar(20) comment '用户名',
    password char(32) comment '用户的密码',
    birthday date comment '用户的生日'
    )charset=utf8 collate=utf8_general_ci engine=InnoDB;

两个表的区别只有存储引擎不同

create table if not exists user2(
    id int,
    name varchar(20) comment '用户名',
    password char(32) comment '用户的密码',
    birthday date comment '用户的生日'
    )charset=utf8 collate=utf8_general_ci engine=MyIsam;

image-20240909122008725

我们发现,不同的存储引擎,在数据库中创建的文件是不同的

image-20240909122106394

user1 表存储引擎是 InooDB ,在数据目中有两个不同的文件,分别是:

  1. user1.frm:表结构
  2. user1.ibd:表数据和表索引

user2 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

  1. user2.frm:表结构
  2. user2.MYD:表数据
  3. user2.MYI:表索引

具体有关存储引擎的不同带来的区别,要以后在学。这里知道会创建不同的文件就行。

2.查看表结构

查看表结构可以输入:

desc 表名;

查询上面我们创建的user1和user2两个表

image-20240909143038774

image-20240909150742884

但是这个查看有一些信息我们还不能知道,比如说他的字符集和校验规则。

我们输入:

show create table user1;

或者

show create table user1 \G

\G可以去掉格式化,让显示出来的信息更方便我们去阅读

image-20240909145232060

这里的语句,就是mysqld服务器经过词法语法分析之后的标准语句,和我们写的是有点不一样的,只要能查到就说明mysql已经将我写的指令记录下来了。mysql会将我所有的操作都记录下来。

3修改表

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

3.1修改表名

alter table 旧表名 rename to 新表名;

这个to也可以省略

alter table 旧表名 rename 新表名

实例:

image-20240909174946046

修改完之后呢,我们插入两个数据。

insert into user values(1, '张三', '123456', '2021-10-1');
insert into user values(2, '李四', '12286', '2024-10-1');

也可以一次性全部插入

insert into users values(1, '张三', '123456', '2021-10-1'),(2, '李四', '12286', '2024-10-1');

之前我们插入数据要输入对应的字段名字:

比如:

insert into user(id, name, password, birthday) values(1, '张三', '123456', '2021-10-1');
insert into user(id, name, password, birthday) values(2, '李四', '12286', '2024-10-1');

如果不输入字段名字,就说明默认要对全部字段进行插入

插入完表格内多了两个数据.

image-20240909210100401

如果这个时候我们有一个需求,要在这个表中多存储一个张三或者李四的照片的存储路径,那就要多一列,也就是在表中多添加一个字段

3.2添加字段/列

在users表添加一个字段,用于保存图片路径

alter table user add image_path varchar(128) comment '用户的头像路径' after birthday;

对这段指令的一些解析如下图所示:

image-20240909211422290

查看表的数据,可以证实我们的字段被添加进去了,并且添加字段对原数据不会发生影响

image-20240909211535215

详细的也可以输入show create table user;或着desc user;来查看。

3.3修改字段/列

对user的name字段进行长度的扩容

输入下面这个指令将name字段的长度扩容到60

alter table user modify name varchar(60);

image-20240909212237178

也不会对数据造成影响

image-20240909212603663

看着非常完美,实际上,这个name字段的注释已经消失了。因为modify,更像是覆盖,而不是修改,他是创建了一个新的name字段去对原字段进行覆盖

输入show create table user \G;查看

image-20240909212749343

因此在对字段进行修改的时候,要加上注释

alter table user modify name varchar(60) comment '用户名';

3.4删除字段/列

删除password列

注意:删除字段一定要小心,删除字段及其对应的列数据都没了

输入指令将password字段给删除掉

alter table user drop password;

image-20240909213626511

3.5对单一字段/列 重命名

比如将name列重命名为 xingming

alter table user change 旧字段名name 新字段名xingming varchar(60); --新字段需要完整定义

image-20240909214704653

4.删除表

还是要注意,尽管我们学习了对表的修改和对表的删除,这些都是对表的结构进行修改(属于DDL类的sql语句),但是我们还是尽量不要去对表的结构进行改动,因为数据库属于比较底层的东西,底层改了上层就要跟着动,而且对数据也有丢失的风险。

删除表的操作很简单。

drop table 表名

实例:
删除名为user2的表

image-20240909233329360

如果只想删除数据,保留表结构,就输入:

delete from 表名

类的sql语句),但是我们还是尽量不要去对表的结构进行改动,因为数据库属于比较底层的东西,底层改了上层就要跟着动,而且对数据也有丢失的风险。

删除表的操作很简单。

drop table 表名

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

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

相关文章

基于SSM的在线家用电器销售系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSSMVueMySQL的在线家…

【学习笔记】SSL/TLS安全机制之HSTS

1、What:HSTS全称HTTP Strict Transport Security,HTTP严格传输安全。 2、Why:因为HTTP 在重定向到 HTTPS 之前存在漏洞 用户在浏览时很少明确输入 https:// 有时,用户正好通过http来访问网站,网站服务器知道这应该是…

43.哀家要长脑子了!

1.53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int maxSubArray(vector<int>& nums) {int pre 0, maxRes nums[0];for(int x : nums){pre max(pre x, x);maxRes max(maxRes, pre); }return maxRes;} }; 其实弄懂也就挺简…

初写MySQL四张表:(3/4)

我们已经完成了四张表的创建&#xff0c;学会了创建表和查看表字段信息的语句。 初写MySQL四张表:(1/4)-CSDN博客 初写MySQL四张表:(2/4)-CSDN博客 接下来&#xff0c;我们来学点对数据的操作&#xff1a;增 删 查&#xff08;一部分&#xff09;改 先来看这四张表以及相关…

python-简单的数据结构

题目描述 小理有一天在网上冲浪的时候发现了一道很有意思的数据结构题。 该数据结构形如长条形。 一开始该容器为空&#xff0c;有以下七种操作。 1 a从前面插入元素 a ; 2 从前面删除一个元素; 3 a从后面插入一个元素; 4 从后面删除一个元素; 5 将整个容器头尾翻转; 6 输出个…

存储数据的树形结构

目录 1、二叉查找树 2、平衡二叉树AVL Tree 3 、平衡多叉树B-Tree 4、BTree树 5 、红黑树 红黑树的应用 6.平衡树的旋转 mysql 索引数据结构&#xff1a; Btree 索引是B树在数据库中的一种实现&#xff0c;最为常见的。B树 中的B代表平衡&#xff0c;而不是二叉 1、二…

火山引擎数智平台:高性能ChatBI的技术解读和落地实践

导读&#xff1a;大模型能力的发展和成熟&#xff0c;催生出新一代智能化 BI—— ChatBI&#xff0c;即通过自然语言处理&#xff08;NLP&#xff09;与大型语言模型&#xff08;LLMs&#xff09;的结合&#xff0c;极大简化数据分析过程&#xff0c;提高效率并降低分析门槛。火…

剪画:视频怎么去水印?分享几个简单实用的视频去水印方法!

亲爱的小伙伴们&#xff0c;在视频创作的道路上&#xff0c;水印问题是不是常常让你感到困扰呢&#xff1f; 别担心&#xff0c;今天就来为大家详细介绍七种超实用的视频去水印方法&#xff0c;让你的视频制作更加顺畅。 一、剪画 - 短视频去水印 剪画是一款非常强大的视频处理…

双向NAT=源NAT+NAT Server,有这么6?

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 你们好&#xff0c;我的网工朋友。 随着移动设备的普及和云计算技术的发展&#xff0c;网络流量的规模和复杂度不断增加。网络地址转换&#xff…

像JSON一样使用ProtoBuf,空间还能缩小60%,性能提升100%

首发公众号:【赵侠客】 引言 在前面《释放你九成的带宽和内存&#xff1a;GZIP在解决Redis大Key方面的应用》一文中我使用GZIP算法可以将JSON格式数据的大小缩小88%从而节省了大量的存储和带宽资源&#xff0c;本文介绍另一种JAVA对象序列化神器——ProtoBuf&#xff08;Proto…

打破服务提供商的数据中心自动化障碍

在通信服务提供商&#xff08;CSP&#xff09;不断变革的背景下&#xff0c;数据中心发挥着越来越重要的作用。这些数据中心不仅是部署基于云的5G基础设施的重要组成部分&#xff0c;还在促进边缘计算和下一代企业解决方案的过程中发挥着关键作用。然而&#xff0c;随着数据中心…

YOLOv10改进系列,YOLOv10损失函数更换为Powerful-IoU(2024年最新IOU),助力高效涨点

改进前训练结果: 改进后的结果: 摘要 边界框回归(BBR)是目标检测中的核心任务之一,BBR损失函数显著影响其性能。然而,观察到现有基于IoU的损失函数存在不合理的惩罚因子,导致回归过程中锚框扩展,并显著减缓收敛速度。为了解决这个问题,深入分析了锚框扩展的原因。针…

PyCharm安装和使用教程(Windows系统)

一、pycharm基本使用 说明&#xff1a; PyCharm 是一款功能强大的 Python 编辑器&#xff0c; 本文简单的介绍下PyCharm 在 Windows下是如何安装的。 PyCharm 的下载地址&#xff1a;http://www.jetbrains.com/pycharm/download/#sectionwindows 如果进入网页时间过长或进不…

OpenAI震撼发布o1大模型!RL深度思考,技术差距拉开

openai放大招了&#xff0c;是奥特曼在推上宣传了很久的草莓真身&#xff0c;这次它真的来了。 又给大家带来一点小小的震撼&#xff0c;国内大模型老板们也不再迷茫了&#xff0c;4o的多模态的还没赶上呢&#xff0c;这下怎么又回到纯文本了&#xff0c;不是说大家都搞得差不多…

神经网络通俗理解学习笔记(1)

神经网络通俗理解学习笔记&#xff08;1&#xff09; 神经网络原理激活函数前向传播和反向传播多层感知机代码实现加载数据网络结构损失函数优化器训练测试保存 回归问题一元线性回归多元线性回归多项式回归 线性回归代码实现数据生成设置超参数初始化参数可视化Pytorch模型实现…

性能测试的五大目标

性能测试的目的其实是为了验证软件系统是否能够达到用户的性能指标&#xff0c;发现软件系统中存在的性能瓶颈&#xff0c;随后优化软件&#xff0c;最后起到优化系统的目的。 主要有以下几点&#xff1a; 评估系统的能力 测试中得到的负荷和响应时间数据可以被用于验证所计…

AI+智能监控实训平台

基本介绍 中智讯“AI智能监控实训平台” &#xff08;AI-Monitor&#xff09;是中智讯公司面向于人工智能等相关专业设计的一款工程实训平台&#xff0c;该产品基于基于行业内主流的TensorFlow深度学习框架来实现&#xff0c;同时&#xff0c;通过机器视觉技术和边缘计算技术实…

【新手上路】衡石分析平台使用手册-系统管理员手册

用户管理​ 用户管理页面可以创建管理用户、对用户进行分组管理、组织架构管理及用户属性的维护和管理。下面详细介绍用户管理相关功能。 用户管理​ 用户管理子页面展示了当前系统中所有用户的信息&#xff0c;可以添加新用户&#xff0c;查看、编辑已有用户&#xff0c;可…

C++设计模式(更新中)

文章目录 1、创建型模式1.1 简单工厂&#xff08;Simple Factory&#xff09;&#xff08;1&#xff09;示例&#xff08;2&#xff09;总结 1.2 工厂方法&#xff08;Factory Method&#xff09;&#xff08;1&#xff09;示例&#xff08;2&#xff09;总结 1.3 抽象工厂&…