【MySQL】表的基本操作

2023-11-19

1、数据类型

1.1 数值类型

数据类型

大小

说明

bit[(M)]

M指定位数,默认为1

二进制,M范围从1到64,存储数值范围从0到2^M-1

tinyint

1字节

smallint

2字节

int

4字节

bigint

8字节

float(M,D)

4字节

单精度,M指定长度,D 指定小数位数,会发生精度丢失

double(M,D)

8字节

decimal(M,D)

M/D最大值+2

双精度,M指定长度,D表示小数点位数,精确数值

numeric(M,D)

M/D最大值+2

和decimal一样

数值类型可以指定为无符号(unsigned),表示不取负数

decimal可以精确的表示浮点数,因为decimal牺牲了存储空间和运算速度,换来了更精确的表达方式

数值常用的类型:int、double、decimal

1.2 字符串类型

数据类型

大小

说明

varchar(size)

0~65535字节

可变长度字符串,size的单位为字符

text

0~65535字节

长文本数据

mediumtext

0~16777215字节

中等长度文本数据

blob

0~65535字节

二进制形式的长文本数据

varchar最多存128个字符,也就是varchar(128)。一般会根据实际需求来设置空间,这里并不是你设置128字符空间就真的分配这么多空间,会动态适应,但是内存最大不超过128个字符

text、mediumtext这两个类型适合更长的字符串

blob主要用来存储二进制数据

字符串常用类型:varchar

1.3 日期类型

数据类型

大小

说明

datetime

8字节

范围从1000到9999年,不进行时区的检索及转换

timestamp

4字节

范围从1970到2038年,自动检索当前时区并进行转换

timestamp推荐不要使用,因为到了2038年就用尽了

日期常用类型:datetime

2、数据表的基本操作

表是建立在数据库中的,如果想要进行表的操作就需要有个数据库,并且用 use 选中数据库后进行表的操作

2.1 表的创建

要进行表的创建,首先得明确在哪个数据库中存放表,然后选中对应的数据库

选中数据库:use 数据库;

选中数据库后,就可以在这个数据库中创建表了

创建表:create table 表名(列名 类型,列名 类型, ......);

这样就创建了一张学生表,里面包含两列分别为:整型的id,字符串型的name

一张关系型表:竖着的列称为属性,横着的行称为记录

注:同一个数据库中,不允许有相同名字的两个表

2.2 查看指定数据库中的所有表

选中数据库

查看数据库下的所有表:show tables;

这个数据库中,只有一张student表

2.3 查看指定表的结构

选中数据库

查看指定表的结构:desc 表名;

  • id、name:表示列名

  • int(11):11表示显示的宽度

  • varchar(20):20表示最大长度为20个字符

  • Null:表示是否允许为空

  • Default:默认值

  • Extra:额外描述

2.4 表的删除

选中数据库

删除表:drop table 表名;

删除一张表,里面的数据也将会全部删除,所有在删表的时候一定要想好

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【MySQL】表的基本操作 的相关文章

  • 外键和索引

    我有 2 张桌子 products and 类别 每个类别有很多产品 一个产品可以属于多个类别 products product id int primary auto increment name unique etc 类别 catego
  • MySQL - 选择一行 - 然后相对于所选行的下一个和上一个

    我会尽力澄清这一点 我需要在不使用 id 的情况下选择特定行和该选定行的前一个相对行以及该选定行的下一个相对行 这可能吗 简而言之 上一篇和下一篇 我不能 也许我只是不知道如何 使用 id 的原因是因为它们不是按顺序排列的 正如您从这个相当
  • Hibernate + MySQL + rewriteBatchedStatements=true

    我有以下 Hibernate 配置
  • Laravel 5.4 升级 - 违反完整性约束 - 列不能为空

    奇怪的是 所有这些都在 5 2 中工作 但我不知道可以改变什么来实现这一点 下面是错误和正在插入的数组 SQLSTATE 23000 Integrity constraint violation 1048 Column gender can
  • MySQL Python 关于重复键更新值

    我正在研究使用 python 将 JSON 数据上传到 MySQL 我需要在插入语句中包含 ON DUPLICATE KEY UPDATE VALUES 但在 Python 中遇到了问题 如果我运行以下代码 一切正常 import json
  • oursql 中的参数化查询

    如果有人能告诉我是否可以使用命名占位符进行参数化查询 我将不胜感激oursql 一个用于与 MySQL 数据库交互的 python 模块 例如 我尝试了一种可以与 sqlite3 一起使用的查询 c execute select from
  • 猪的组连接等效吗?

    试图在 Pig 上完成这个任务 寻找 MySQL 的 group concat 等效项 例如 在我的表中 我有以下内容 3fields userid clickcount pagenumber 155 2 12 155 3 133 155
  • 从 Grib 天气模型中提取数据

    我已经下载了grib1模型数据来自GFS http en wikipedia org wiki Global Forecast System 我使用的是 Mac OS X 并且能够构建wgrib2文件来自NOAA http en wikip
  • MySQL - 多个结果集

    我正在使用 NET Connector 连接到 MySQL 在我的应用程序中 很少有线程使用相同的连接 因此如果 MySQLDataReader 尚未关闭并且某个线程正在尝试执行查询 则会出现该错误 已经有一个打开的 DataReader
  • 日期时间与时间戳字段

    我是 MySQL 数据库的新手 您是否建议在表创建中使用日期时间或时间戳字段以及原因 我正在使用 MySQL 5 7 和 innodb 引擎 Thanks 我会用TIMESTAMP对于任何需要自动管理的事情 因为它支持诸如ON UPDATE
  • 使用连接池后如何处理过多的并发连接?

    Scenario 假设您有一个拥有大量流量的网站或应用程序 即使使用数据库连接池 性能也会受到真正的打击 站点 应用程序甚至可能崩溃 因为并发连接太多 Question 人们有什么选择来处理这个问题 我的想法 我在想有这个问题的人可以创建多
  • MySQL 可选的带有 MATCH 的 LEFT JOIN

    我有以下查询 它对 MySQL Innodb 数据库中同一搜索词的两个不同表中的两列执行全文搜索 SELECT Id MATCH tb1 comment tb2 comment AGAINST search term IN BOOLEAN
  • WHERE NOT EXIST 附近的语法错误

    我在堆栈中搜索 但没有一个达到最终答案 我的查询是这样的 INSERT INTO user username frequence autoSend VALUES feri2 3 1 WHERE NOT EXISTS SELECT FROM
  • 如何在查询语句之外从mysql查询中获取值?

    这是下面的函数console log function quo value value connection query SELECT role from roles where id 1 function error results fi
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver
  • “修改列”与“更改列”

    我知道 我们不能使用重命名列MODIFY COLUMN语法 但我们可以使用CHANGE COLUMN syntax 我的问题是 主要用途是什么modify syntax 例如 ALATER TABLE tablename CHANGE co
  • 如何从表中检索特定列 --- JPA 或 CrudRepository?我只想从用户表中检索电子邮件列

    用户模型 Entity Table name user uniqueConstraints UniqueConstraint columnNames email public class User implements Serializab
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • Django 将 JSON 数据传递给静态 getJSON/Javascript

    我正在尝试从 models py 中获取数据并将其序列化为views py 中的 JSON 对象 模型 py class Platform models Model platformtype models CharField max len
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in

随机推荐

  • docker的入门使用指南

    前段时间把docker装到了虚拟机上 今天学一学怎么使用docker 是照着这个up在B站的视频学习的链接 Docker快速入门 讲得非常好 我这里就是记一下笔记 一 docker的简介 1 1什么是Docker 简单来说是一个应用打包 分
  • Linux04-yum

    一 CentOS 镜像修改为阿里云yum 配置步骤如下 1 备份 mv etc yum repos d CentOS Base repo etc yum repos d CentOS Base repo backup 2 下载新的 Cent
  • C++11知识点——{}大括号的用法

    C 11提出 大括号新用法 如下 std vector
  • 智慧教室--智能管控系统

    智慧教室系统是一款基于AIOT数字化平台的智能教育解决方案 该系统实现了全面数字化 自动化管理和智能化控制 可大大提高教学效率和质量 为学生带来更加优质的教育体验 智能管控是智慧教室系统的核心功能之一 通过物联网技术 将教室内各种设备和设施
  • VUE 移动端只获取当前拍摄照片,不允许相册获取 及 input标签capture属性详解

    一 VUE移动端简单实现只获取当前拍摄照片demo
  • Snipaste介绍、安装、使用技巧(截图贴图工具)

    一 简介 Snipaste 是一个简单但强大的截图贴图工具 也可以让你将截图贴回到屏幕上 下载并打开 Snipaste 按下 F1 来开始截图 再按 F3 截图就在桌面置顶显示了 就这么简单 你还可以将剪贴板里的文字或者颜色信息转化为图片窗
  • mysql longblob binlog 解析_解析MYSQL BINLOG 二进制格式(4)--TABLE_MAP_EVENT

    展开阅读全文 原创 转载请说明出处谢谢 上接 http blog itpub net 7728585 viewspace 2133188 解析MYSQL BINLOG 二进制格式 1 准备工作 http blog itpub net 772
  • java 模拟电梯 状态模式_设计模式 状态模式

    状态模式允许一个对象在其内部状态改变时改变它的行为 用电梯来举例 电梯可以认为具有开门 关门 运行 停止四种状态 这四种状态之间的切换具有多种限制 比如在开门状态下不电梯不能运行 只能转为关门状态 在运行状态下 电梯只能转为停止状态 设想一
  • 使用javassist动态生成类

    目录 说明 配置环境 使用javassist生成类 使用javassist生成类并实现接口 说明 Javassist JAVA 编程 ASSISTant 使 Java 字节码操作变得简单 它是一个用 Java 编辑字节码的类库 它使 Jav
  • 常量池垃圾回收:判断类的存活

    方法区中的常量池也需要进行垃圾回收 主要回收对象是废弃的常量和无用的类 其中 判断类的存活需要同时满足以下3个条件 1 该类所有的实例已经被回收 即Java堆中已经不存在任何该类的实例 2 加载该类的ClassLoader已经被回收 3 该
  • jquery实现checkbox全选、取消全选

  • Mac用自带软件QuickTime Player进行录屏

    Mac电脑用自带软件QuickTime Player进行录屏的教程 几步就可以学会 挺简单的 1 首先 找到并打开QuickTime Player软件 可以鼠标右键这个图标 选择 选项 在程序坞中保留 这样 软件就固定在了Dock栏 方便以
  • 一串有趣的代码

    啊哈 已经来学校四五天了 日子还不错 前些天遇见一段蛮有趣的 代码段 在 窗口输出常量 给大家分享分享 称的上是程序员的一点小浪漫吧 Protected Sub Button1 Click sender As Object e As Eve
  • 人体姿态估计数据集

    数据集 1 PASCAL VOC challenge voc挑战在2005年至2012年间展开 该数据集中有20个分类 该数据集包含11530张用于训练和验证的图像 以下是数据集中20个分类 人 鸟 猫 牛 狗 马 羊 飞机 自行车 船 巴
  • 打包工具 Inno Setup 介绍

    Inno Setup 详解中文资料 其一 使用教程 一 Inno Setup 是什么 InnoSetup 是一个免费的 Windows 安装程序制作软件 第一次发表是在 1997 年 Inno Setup 今天在功能设置和稳定性上的竞争力可
  • CPU缓存一致性动态图

    https www scss tcd ie Jeremy Jones VivioJS caches MESI htm
  • mysql常用工具

    1 mysql 该mysql不是指mysql服务 而是指mysql的客户端工具 语法 mysql options database 参数 u user name 指定用户名 p password name 指定密码 h host name
  • js中精确判断对象类型--关于typeof 和Object.prototype.toString方法的区别

    在javascript中可以使用typeof来判断数据类型 但typeof只能判断区分基本类型 即number string boolean undefinded和object这5种
  • STM32定时器详解

    目录 前言 一 定时器基本介绍 1 STM32定时器 2 通用定时器功能和特点 3 计数器模式 4 定时器工作原理 a 定时器框图 b 时钟产生器部分 c 时基单元 d 输入捕获通道 e 输出比较通道 PWM 二 定时器中断应用 1 内部时
  • 【MySQL】表的基本操作

    1 数据类型 1 1 数值类型 数据类型 大小 说明 bit M M指定位数 默认为1 二进制 M范围从1到64 存储数值范围从0到2 M 1 tinyint 1字节 smallint 2字节 int 4字节 bigint 8字节 floa