DDL、DML

文章目录

    • 一、字段
      • 1.1 添加字段
      • 1.2 给列添加默认值
      • 1.3 修改列的属性
      • 1.4 更新
      • 1.5 删除
      • 1.6 同时修改多列
    • 二、索引
      • 2.1 普通索引
      • 2.2 唯一键
    • 三、创建表
    • 四、字段json
    • 不是json类型,但是也可以按照json存储内容
      • 补充 default 0 和 default '0'没区别

一、字段

1.1 添加字段

ALTER TABLE `user` ADD `gmv` decimal(20,6) NOT NULL DEFAULT '0.000000' COMMENT '销售金额' after `count`;

1.2 给列添加默认值

ALTER TABLE user ALTER COLUMN name SET DEFAULT '';

1.3 修改列的属性

alter table user modify column name varchar(510) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '名称';

1.4 更新

update user set age = 1 , money = 50.0 where id = 1;

1.5 删除

ALTER TABLE user DROP COLUMN `name`;

1.6 同时修改多列

alter table `user` modify column `age` int(11) NOT NULL COMMENT '年龄',
modify column `iphone` bigint(20) NOT NULL DEFAULT '0' COMMENT '手机号',
add `extra` json DEFAULT NULL COMMENT '额外字段';

二、索引

2.1 普通索引

ALTER TABLE user ADD index idx_name (`name`) COMMENT '名称索引';

2.2 唯一键

创建:

alter table user add unique index `uniq_name_age` (`name`,`age`) COMMENT 'xxx唯一键';  

删除:

ALTER TABLE user DROP INDEX `uniq_name_age`;

三、创建表

CREATE TABLE sku_detail (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`sku_id` int NOT NULL  COMMENT 'SKUID',
`sku_temperature_zone` tinyint(4) DEFAULT '0' COMMENT 'Sku温层:0未知,1冷冻,2冷藏,5常温,7高温',
`sku_name` varchar(128) NOT NULL DEFAULT '' COMMENT 'SKUNAME',
`ctime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`utime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_by` varchar(64) NOT NULL COMMENT '创建人',
`change_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新人,默认值为空字符串',
`valid` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否有效,0:无效,1:有效',
PRIMARY KEY (`id`),
KEY `sku_id` (`sku_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='sku_detail表';

四、字段json

  • DB
alter table `user` add `extra` json DEFAULT NULL COMMENT 'json字符串';
  • 对应DO或PO属性
    private String extra;

  • 集合转为json字符串

    userDO.setExtra(GsonUtils.toJsonString(Long类型的集合));
    

    其中GsonUtils参考GsonUtils内容

  • json字符串转为List集合

List<Long> extraList = GsonUtils.fromJson(jsonStr, new TypeToken<List<Long>>() {}.getType());

不是json类型,但是也可以按照json存储内容

  • 后端数据DO存入db
private Map<Long, Map<String, Long>> map = 你后端的内容;
String json = GsonUtil.toJson(map);
userDO.setExtra(json);
  • 从db中取数据,将json数据转为List
Map<String,Long> json2Map = changeJsonString2Map(userDO.getExtra());
    private Map<String, Long> changeJsonString2Map(String str) {if (StringUtils.isBlank(str)){return Collections.emptyMap();}return new Gson().fromJson(str,new TypeToken<HashMap<String,Long>>(){}.getType());}

补充 default 0 和 default '0’没区别

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

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

相关文章

【深度学习推荐系统 工程篇】三、浅析FastTransFormer看 GPU推理优化 思路

前言 在搜索/推荐场景中&#xff08;一般是CTR/CVR预估&#xff09;Serving的模型一般是稀疏参数占比比较大&#xff0c;工程落地方面会遇到两方面的困难&#xff1a; 稀疏参数的存储/IO网络结构的优化 对于稀疏参数的存储/IO&#xff0c;在上一篇【深度学习推荐系统 工程篇…

电子信息工程专业课复习知识点总结:(五)通信原理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 第一章通信系统概述——通信系统的构成、各部分性质、性能指标1.通信系统的组成&#xff1f;2.通信系统的分类&#xff1f;3.调制、解调是什么&#xff1f;有什么用…

详解MySQL存储引擎

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、MySQL存…

【Excel函数】Vlookup的函数的使用

VLOOKUP(垂直查找)是Microsoft Excel中一种非常有用的函数,用于查找并返回一个特定值所在列的相关信息。它通常用于在大型数据表中查找数据。 以下是VLOOKUP函数的基本语法: (lookup_value, table_array, col_index_num, [range_lookup]) lookup_value:这是您要查找的值或…

rust枚举

一、定义枚举 1.使用enum关键字定义枚举。 语法格式如下 enum enum_name {variant1,variant2,variant3 }例如 enum Fruits {Banana, // 香蕉Pear, // 梨Mandarin, // 橘子Eggplant // 茄子 }2.可以为枚举成员添加属性 enum Book {Papery(u32),Electronic(String), } let bo…

【CNN-FPGA开源项目解析】卷积层01--floatMult16模块

文章目录 (基础)半精度浮点数的表示和乘运算16位半精度浮点数浮点数的乘运算 floatMult16完整代码floatMult16代码逐步解析符号位sign判断指数exponent计算尾数fraction计算尾数fraction的标准化和舍位整合为最后的16位浮点数结果[sign,exponent,fraction] 其他变量宽度表alway…

系统运维工程师

文章目录 引言I 任职要求II Sentinel2.1 安装2.2 开放防火墙端口:III zipkinsee also引言 云效devops部署解决方案: Java应用构建并部署ECS、K8s、SAE、EDAS。 部署微服务的服务器选择。域名劫持:网站被拦截到特定网址,如何解决。你认为初级运维工程师和高级运维工程师的区…

管理公司和管理工作室

有一段时间在写小游戏&#xff0c;最近unity3d 闹出一则荒唐事情&#xff0c;其实说白一点。老贼就要收费这个事情不会妥协。好不容易做了一次坏人。不过说到这一点我们不得不说管理公司这个事情。unity3d在一些新闻公布有7000多员工&#xff0c;这样看起来似乎是不是有点多了&…

HJ90 合法ip 判断合法字符串

题目链接&#xff1a;https://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9 IPV4地址可以用一个32位无符号整数来表示&#xff0c;一般用点分方式来显示&#xff0c;点将IP地址分成4个部分&#xff0c;每个部分为8位&#xff0c;表示成一个无符号整数&#xff…

Aspose转pdf乱码问题

一、问题描述 ​ 在centos服务器使用aspose.word转换word文件为pdf的时候显示中文乱码(如图)&#xff0c;但是在win服务器上使用可以正常转换 二、问题原因 由于linux服务器缺少对应的字库导致文件转换出现乱码的 三、解决方式 1.将window中字体(c:\windows\fonts)放到linux…

Spring Authorization Server优化篇:Redis值序列化器添加Jackson Mixin,解决Redis反序列化失败问题

前言 在授权码模式的前后端分离的那篇文章中使用了Redis来保存用户的认证信息&#xff0c;在Redis的配置文件中配置的值序列化器是默认的Jdk序列化器&#xff0c;虽然这样也可以使用&#xff0c;但是在Redis客户端中查看时是乱码的(看起来是)&#xff0c;如果切换为Jackson提供…

leetcode刷题 二维数组 八方向

题目描述 输入&#xff1a;board [[0,1,0],[0,0,1],[1,1,1],[0,0,0]] 输出&#xff1a;[[0,0,0],[1,0,1],[0,1,1],[0,1,0]] 题目分析:就是以二维数组某个元素为中心&#xff0c;寻找周围八个方向的元素&#xff0c;按照题目要求修改二维数组元素返回&#xff1b; 拷贝一份二…

Git 代理(Proxy) 配置

某些情况下,我们需要通过代理才能访问特定网络环境下的git资源,git支持代理配置, 支持 http(s), SOCKS4/SOCKS5. HTTP(S) HTTP 代理配置格式如下: git config --global http.proxy http://[proxy]:[port]实际环境下, 其实我们大多数情况下,并不需要全部git资源都需要通过代理…

ElementUI实现登录注册+axios全局配置+CORS跨域

一、搭建项目 1.1 安装 Element-UI 先确保是否安装了vue-cli脚手架工具 !!! 安装vue脚手架可以看看我的上一篇博客 构建好项目后通过npm安装element-ui cd 项目根路径 #进入新建项目的根目录 npm install element-ui -S #安装…

AUTOSAR 面试知识回顾

如果答不上来&#xff0c;就讲当时做了什么 1. Ethernet基础: 硬件接口&#xff1a; ECU到PHY&#xff1a; data 是MII总线&#xff0c; 寄存器控制是SMI总线【MDCMDIO两根线, half duplex】PHY输出(100BASE-T1)&#xff1a; MDI总线&#xff0c;2 wire 【T1: twisted 1 pair …

C#__简单使用TCP/UDP发送消息

Socket(套接字、插口) TCP和UCP的区别&#xff1a; 1、基于连接和无连接 2、对系统资源的要求&#xff08;TCP较多&#xff0c;UCP少&#xff09; 3、UDP程序结构简单 4、流模式和数据报模式 5、TCP保证数据正确性和数据先后顺…

Java21虚拟线程实践

文章目录 虚拟线程的使用什么是虚拟线程虚拟线程和协程相同之处&#xff1a;不同之处&#xff1a; 总结 就在前几天&#xff0c;java21正式版发布了&#xff0c;作为继java17之后的又一个长期支持版本 (LTS)&#xff0c;为我们带来了很多新的特性&#xff0c;其中我最感兴趣的就…

【线性代数】

0、线性代数的本质往往被淹没在计算的海洋中&#xff0c;无人问津&#xff01; 1、什么是向量&#xff1f; 向量是带方向的箭头&#xff0c;向量是坐标。 2、向量的线性组合 两个向量不共线&#xff0c;即线性无关&#xff1b;两个向量共线&#xff0c;即线性相关。 两个不…

关于地址存放的例题

unsigned int a 0x1234; unsigned char b *(unsigned char*)&a; 上面代码大端存储和小端存储的值分别是多少&#xff1f; 大端存储的是把高位地址存放在低位地址处&#xff0c;低位存放到高位。小端是高位存放在高位&#xff0c;低位在低位。因为a是整型&#xff0c;所…

GraphQL基础知识与Spring for GraphQL使用教程

文章目录 1、数据类型1.1、标量类型1.2. 高级数据类型 基本操作2、Spring for GraphQL实例2.1、项目目录2.2、数据库表2.3、GraphQL的schema.graphql2.4、Java代码 3、运行效果3.1、添加用户3.2、添加日志3.3、查询所有日志3.4、查询指定用户日志3.5、数据订阅 4、总结 GraphQL…