MySQL常用数据类型和表的操作

文章目录

    • (一)常用数据类型
      • 1.数值类
      • 2.字符串类型
      • 3.二进制类型
      • 4.日期类型
    • (二)表的操作
      • 1查看指定库中所有表
      • 2.创建表
      • 3.查看表结构和查看表的创建语句
      • 4.修改表
      • 5.删除表
    • (三)总代码

(一)常用数据类型

1.数值类

BIT([M]) 大小:bit M表示每个数的位数,取值范围为1~64,若M忽略则默认为1。

TINYINT([M]) 大小:byte 取值范围为-2^7
~2^7-1 无符号取值范围为0~2^8-1。

INT([M]) 大小:4byte 取值范围为-2^31
~2^31-1 无符号取值范围为:2^32-1

BIGINT([M]) 大小:8byte 取值范围为-2^63
~2^63-1 无符号取值范围为0~2^64-1

DECIMAL[(M,D)] 大小:动态 M为总位数,D为小数点后面的位数,DECIMAL最大位数(M)为65,D最大为30,
如果省略M则默认为10,如果省略D则默认为0,

DECIMAL大小为动态:可以由其他数值类组成例如一个数123456789123456789123456789.12345678963就可以由4个INT与1个BIT组成(INT可以储存10位数,这里储存38位数就可以由4个INT与1个BIT组成减少空间浪费)

2.字符串类型

CHAR[(M)] 固定长度字符串,M表示长度,以字符为单位,取值范围为0~255,若M省略则默认为1

VARCHAR[(M)] 可变长度字符串,M表示最大长度范围为0~65535(2^16-1)个字节,有效字符个数取决于实际字符个数与使用的其字符集(例如使用utf8mb4字符集最多可以保存65535/4=16383个字符)

TEXT[(M)] 文本类型,最大长度为2^16-1个字节,有效字符个数为使用的字符集

3.二进制类型

BINARY[(M)] 固定长度二进制字节与CHAR类似 储存二进制字节取值范围为0~255,若M省略则默认为1

VARBINARY[(M)] 可变长度二进制字节与VARCHAR类似 M表示长度

BLOB[(M)] 二进制字节类型(存储二进制文件的字段类型), 最大长度为0~2^16-1

4.日期类型

(Byte 是计算机存储和处理信息的基本单位,而 Bytes 通常用来表示多个字节。
Byte(字节):一个字节由8个二进制位(bit)组成,可以存储一个英文字符或半个汉字。在数据存储和传输中,字节是最常用的单位

Bytes:这个词通常用来表示多个字节,比如在描述数据大小时,我们可能会说 “这个文件有128 Bytes”,意思是文件大小为128字节)

DATETIME[(fsp)] 8bytes 日期类型与时间类型结合,⽀持范围 1000-01-01 00:00:00.000000 ~ 9999-12-31
23:59:59.499999
• 显⽰格式为 YYYY-MM-DD hh:mm:ss[.fraction]
• 0值为 0000-00-00 00:00:00

DATE[(fsp)] 3bytes ⽇期类型
• ⽀持范围 1000-01-01 ~ 9999-12-31
• 显⽰格式为 YYYY-MM-DD
• 0值为 0000-00-00

(二)表的操作

1查看指定库中所有表

语法: show tables;
在这里插入图片描述

2.创建表

语法:CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
field datatype [约束] [comment ‘注解内容’]
[, field datatype [约束] [comment ‘注解内容’]] …
) [engine 存储引擎] [character set 字符集] [collate 排序规则];

TEMPORARY: 表⽰创建的是⼀个临时表
• field:列名
• datatype:数据类型
• comment:对列的描述或说明
• engine:存储引擎,不指定则使⽤默认存储引擎
• character set:字符集,不指定则使⽤默认字符集
• collate:排序规则,不指定则使⽤默认排序规则
详细的创建表语法参考官⽅⽹站:
MySQL :: MySQL 8.0 Reference Manual :: 15.1.20 CREATE TABLE Statement

在这里插入图片描述

在这里插入图片描述

展示表在磁盘上的扩展文件:
创建⼀个存储引擎为 InnoDB 的表时,会在对应的数据库⽬录下⽣成⼀个⽤来存储真实数据的物
理⽂件,命名格式为 表名.ibd ,以当前为例会在 java ⽬录下⽣成⼀个 t_student.ibd 的数据
⽂件
• 创建⼀个存储引擎为 MyISAM 的表时,会在对应的数据库⽬录下分别⽣成三个以不同后缀名结尾
的⽂件,分别是 表名.MYD ( MYData )的数据⽂件, 表名.MYI ( MYIndex ) 的索引⽂件,以表名.sdi 的表信息描述⽂件(JSON格式)
在8.0以前的版本中表信息描述⽂件是以.frm为后缀的⼆进制⽂件
在这里插入图片描述

3.查看表结构和查看表的创建语句

查看表结构语法:desc 表名;
在这里插入图片描述在这里插入图片描述
查看表的创建语句语法:show create table 表名;
在这里插入图片描述

4.修改表

语法:5.1 语法
ALTER TABLE tbl_name [alter_option [, alter_option] …];
alter_option: {
table_options
| ADD [COLUMN] col_name column_definition [FIRST | AFTER注释:FIRST指表中的第一列,AFTER指定列的后一列) col_name]
| MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| RENAME COLUMN old_col_name TO new_col_name
| RENAME [TO | AS] new_tbl_name

• tbl_name:要修改的表名
• ADD:向表中添加列
• MODIFY:修改表中现有的列
• DROP:删除表中现有的列
• RENAME COLUMN:重命名表中现有的列
• RENAME [TO | AS] new_tbl_name:重命名当前的表

详细的创建表语法参考官⽅⽹站:MySQL :: MySQL 8.0 Reference Manual :: 15.1.9 ALTER TABLE Statement

ADD示例演示:
在这里插入图片描述

MODIFY实例演示:
在这里插入图片描述
DROP实例演示:
– 删除最后表中age列
alter table t_student drop age;
在这里插入图片描述
RENAME COLUMN实例演示:
在这里插入图片描述
RENAME实例演示:
在这里插入图片描述

5.删除表

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

TEMPORARY:表⽰临时表
tbl_name:将要删除的表名

在这里插入图片描述
删除表是⼀个危险操作,执⾏删除语句时⼀定要谨慎
• 删除表成功后,磁盘上对应的数据⽂件也会被删除
• ⼀次可以删除多个表,表与表之间⽤逗号隔开

(三)总代码

create table if not exists t_student (
  id bigint comment '编号',
 `name` varchar(15) comment '姓名',
  age int comment '年龄'
  )character set utf8mb4 collate utf8mb4_0900_ai_ci;
  
  #单行注释
  -- 单行注释(--后需要加空格)
  /*
  
  */多行注释
  #添加表中第一列来演示
  alter table t_student add `first` int comment'添加第一行' FIRST;
  #往id后一列添加
  alter table t_student add ids bigint comment'添加到id后一行' after id;
  #修改name这行来演示
  alter table t_student modify `name` varchar(25) comment '姓名' after ids; 
  -- 删除最后表中age列 
  alter table t_student drop age;
  #将表中第一列的first重命名为one
  alter table t_student rename column `first` to one;
  #修改表名
  alter table t_student tbl_name t_newstudent;
  create table if not exists t_engine(
  id bigint comment '编号',
  `engine` varchar(20) comment '引擎'
  )engine MyISAM;
  #删除t_engine这个表
  drop table t_engine;

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

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

相关文章

OpenCV:图像轮廓

目录 简述 1. 什么是图像轮廓? 2. 查找图像轮廓 2.1 接口定义 2.2 参数说明 2.3 代码示例 2.4 运行结果 3. 绘制图像轮廓 3.1 接口定义 3.2 参数说明 3.3 代码示例 3.4 运行结果 4. 计算轮廓周长 5. 计算轮廓面积 6. 示例:计算图像轮廓的面…

C++哈希(链地址法)(二)详解

文章目录 1.开放地址法1.1key不能取模的问题1.1.1将字符串转为整型1.1.2将日期类转为整型 2.哈希函数2.1乘法散列法(了解)2.2全域散列法(了解) 3.处理哈希冲突3.1线性探测(挨着找)3.2二次探测(跳…

记6(人工神经网络

目录 1、M-P神经元2、感知机3、Delta法则4、前馈型神经网络(Feedforward Neural Networks)5、鸢尾花数据集——单层前馈型神经网络:6、多层神经网络:增加隐含层7、实现异或运算(01、10为1,00、11为0)8、线性…

增删改查(CRUD)操作

文章目录 MySQL系列:1.CRUD简介2.Create(创建)2.1单行数据全列插入2.2 单行数据指定插入2.3 多⾏数据指定列插⼊ 3.Retrieve(读取)3.1 Select查询3.1.1 全列查询3.1.2 指定列查询3.1.3 查询字段为表达式(都是临时表不会对原有表数据产生影响)…

python 语音识别

目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…

openssl 生成证书 windows导入证书

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

深度学习编译器的演进:从计算图到跨硬件部署的自动化之路

第一章 问题的诞生——深度学习部署的硬件困境 1.1 计算图的理想化抽象 什么是计算图? 想象你正在组装乐高积木。每个积木块代表一个数学运算(如加法、乘法),积木之间的连接代表数据流动。深度学习框架正是用这种"积木拼接…

Agentic Automation:基于Agent的企业认知架构重构与数字化转型跃迁---我的AI经典战例

文章目录 Agent代理Agent组成 我在企业实战AI Agent企业痛点我构建的AI Agent App 项目开源 & 安装包下载 大家好,我是工程师令狐,今天想给大家讲解一下AI智能体,以及企业与AI智能体的结合,文章中我会列举自己在企业中Agent实…

论文阅读:Realistic Noise Synthesis with Diffusion Models

这篇文章是 2025 AAAI 的一篇工作,主要介绍的是用扩散模型实现对真实噪声的仿真模拟 Abstract 深度去噪模型需要大量来自现实世界的训练数据,而获取这些数据颇具挑战性。当前的噪声合成技术难以准确模拟复杂的噪声分布。我们提出一种新颖的逼真噪声合成…

Baklib揭示内容中台与人工智能技术的创新协同效应

内容概要 在当今信息爆炸的时代,内容的高效生产与分发已成为各行业竞争的关键。内容中台与人工智能技术的结合,为企业提供了一种新颖的解决方案,使得内容创造的流程更加智能化和高效化。 内容中台作为信息流动的核心,能够集中管…

Spring Boot 中的事件发布与监听:深入理解 ApplicationEventPublisher(附Demo)

目录 前言1. 基本知识2. Demo3. 实战代码 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 基本的Java知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全&am…

DeepSeek 第二弹:Janus-Pro 文生图模型

最近,DeepSeek 可谓是科技圈的焦点,还火出了圈外,掀起了一场全民创作热潮。大家纷纷借助 DeepSeek R1 挥洒才情,实现诗人、小说家的梦想。然而,就在这场文字狂欢之际,DeepSeek 又悄然推出了一款重磅产品——…

leetcode 2563. 统计公平数对的数目

题目如下 数据范围 显然数组长度最大可以到10的5次方n方的复杂度必然超时,阅读题目实际上就是寻找两个位置不同的数满足不等式即可(实际上i j无所谓是哪个 我们只要把位置小的想成i就行)。 按照上面的思路我们只需要排序数组然后从前往后遍历数组然后利用二分查找…

2024第十五届蓝桥杯网安赛道省赛题目--cc(CyberChef)/crypto

打开链接后是: 通过题目界面可以知道是AES加密,并且告诉我们key是gamelabgamelab,IV是gamelabgamelab,Mode是CBC模式,输入是flag,输出为Hex十六进制4da72144967f1c25e6273950bf29342aae635e2396ae17c80b1b…

【视频+图文详解】HTML基础4-html标签的基本使用

图文教程 html标签的基本使用 无序列表 作用&#xff1a;定义一个没有顺序的列表结构 由两个标签组成&#xff1a;<ul>以及<li>&#xff08;两个标签都属于容器级标签&#xff0c;其中ul只能嵌套li标签&#xff0c;但li标签能嵌套任何标签&#xff0c;甚至ul标…

Python-基于PyQt5,wordcloud,pillow,numpy,os,sys等的智能词云生成器

前言&#xff1a;日常生活中&#xff0c;我们有时后就会遇见这样的情形&#xff1a;我们需要将给定的数据进行可视化处理&#xff0c;同时保证呈现比较良好的量化效果。这时候我们可能就会用到词云图。词云图&#xff08;Word cloud&#xff09;又称文字云&#xff0c;是一种文…

自制虚拟机(C/C++)(二、分析引导扇区,虚拟机读二进制文件img软盘)

先修复上一次的bug&#xff0c;添加新指令&#xff0c;并增加图形界面 #include <graphics.h> #include <conio.h> #include <windows.h> #include <commdlg.h> #include <iostream> #include <fstream> #include <sstream> #inclu…

工作流引擎Camunda

一&#xff0c;什么是Camunda&#xff1f; Camunda是一个开源的工作流引擎和业务流程管理平台&#xff0c;基于Java和Spring框架构建。它支持BPMN 2.0标准&#xff0c;允许用户通过图形界面或编程方式定义复杂的工作流和业务流程。Camunda可以嵌入到任何Java应用程序中&#x…

C++,STL,【目录篇】

文章目录 一、简介二、内容提纲第一部分&#xff1a;STL 概述第二部分&#xff1a;STL 容器第三部分&#xff1a;STL 迭代器第四部分&#xff1a;STL 算法第五部分&#xff1a;STL 函数对象第六部分&#xff1a;STL 高级主题第七部分&#xff1a;STL 实战应用 三、写作风格四、…

【已解决】黑马点评项目Redis版本替换过程的数据迁移

黑马点评项目Redis版本替换过程的数据迁移 【哭哭哭】附近商户中需要用到的GEO功能只在Redis 6.2以上版本生效 如果用的是老版本&#xff0c;美食/KTV的主页能正常返回&#xff0c;但无法显示内容 上次好不容易升到了5.0以上版本&#xff0c;现在又用不了了 Redis 6.2的windo…