MySQL数据库之表操作

2023-11-06 21:28

本文主要是介绍MySQL数据库之表操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

目录

  • 表的操作
    • 1.创建表
      • 创建表案例
    • 2.查看表结构
    • 3.修改表
    • 4.删除表

表的操作

1.创建表

语法:

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

说明:

  • field 表示列名

  • datatype 表示列的类型

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

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

创建表案例

create table users (id int,name varchar(20) comment '用户名',password char(32) comment '用户的密码',birthday date comment '用户的生日'
)character set utf8 engine MyISAM;

说明:

  • commnt为给改信息添加注释

  • 不同的存储引擎,创建表的文件不一样。
    users 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
    users.frm:表结构
    users.MYD:表数据
    users.MYI:表索引

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.查看表结构

desc 表名;

示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • Field :字段名字
  • Type :字段类型
  • Null:是否允许为空
  • Key:索引类型
  • Default:默认值
  • Extra:扩充

数据类型后续会详细介绍

show create table 表名;

一个MySQL查询语句,用于获取指定表的创建语句,即用于创建该表的SQL 语句。这个查询将返回一个包含表的创建语句的结果集,通常包括表的结构、列定义、索引和约束等信息。
常用于以下情况:

  1. 备份表结构:您可以使用此语句获取表的创建语句,以便稍后可以使用它来恢复表的结构,例如,在不同的MySQL数据库中创建相同的表。
  2. 调试和分析:有时,您可能需要查看表的创建语句,以了解其结构和约束,以便进行调试或性能分析。
  3. 数据库文档:此语句的输出可以用于生成数据库文档,以记录表的结构和其他相关信息。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

展示结果里面存在许多分隔符,我们可以使用另外一条语句格式化成都为有用的信息

show create table 表名 \G;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

用此语句查询表能将最完整的属性展示出来(包括注释)

3.修改表

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

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);

案例:

  • 在user1表添加二条记录
mysql> insert into user1 values(1,'a','b','1982-01-04');

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在user1表添加一个字段,用于保存用户成绩

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 修改name,将其长度改成60
mysql> alter table user1 modify name varchar(60);

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用修改语句后name的长度从20变为60
这时我们使用展示所有属性的查询语句看看:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对比上文我们查询的结果,这里的属性注释不见了
说明修改语句是直接将原有信息覆盖了,假如有注释等其他信息需要留意⭕

  • 删除password列
mysql> alter table user1 drop password;

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 修改表名为User
mysql> alter table users rename to employee;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

to:可以省掉

4.删除表

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例:

drop table User;

这篇关于MySQL数据库之表操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/359146

相关文章

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据