【mysql】知识点
一、mysql如何让自增id归0
- 当你不再需要该表时,用 drop;
- 当你仍要保留该表,但要删除所有记录时,用 truncate;
- 当你要删除部分记录时(always with a WHERE clause), 用 delete.
方法一: 如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数
truncate table 表名
方法二: 许多时候希望table中数据的id不要从1开始,像qq, id从10000开始
代码如下:
alter table 表名 AUTO_INCREMENT=10000;
而且该语句也适用于修改现有表的id上, 比如大批量删除数据后,想id从654321退回123456开始
alter table 表名 AUTO_INCREMENT=123456;
但是经过实际测试, 单机的Mysql没有问题, Mysql Cluster下是无效的,可能在主键上的机制,还是有所不同。
二、mysql数据表增加列
因为Drop Table会把数据也删除掉,要增加数据列的时候,最好用Alter语句。如:
alter table OrderSearchSummary add IsMonthly int(11) not NULL DEFAULT 0;
alter table OrderSearchSummary add DistributorFirstName varchar(50);
三、存在则更新,不存在则增加
在实际应用中,经常碰到导入数据的功能,当导入的数据不存在时则进行添加,有修改时则进行更新,
在刚碰到的时候,第一反应是将其实现分为两块,分别是判断增加,判断更新。
后来发现在mysql中有 ON DUPLICATE KEY UPDATE一步就可以完成。
该语句是基于唯一索引或主键使用,比如一个字段a被加上了unique index,并且表中已经存在了一条记录值为1:
下面两个语句会有相同的效果:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE table SET c=c+1 WHERE a=1;
ON DUPLICATE KEY UPDATE后面可以放多个字段,用英文逗号分割。
INSERT INTO FerDB.RedisConfig(`RedisKey`, `RedisValue`, `RedisDesc`, `CreateDataTime`, `ExpiredMinutes`, `IsEncrypt`, `IsAdmin`, `EnableEdit`) VALUES ('urn: MinTimeDiff', '120', '最低時間差(分鐘),默認120,參考範圍(30~600)', '2019-01-25 08:00:00', '14400', '0', '0', '1') ON DUPLICATE KEY UPDATE RedisValue='120', RedisDesc='最低時間差(分鐘),默認120,參考範圍(30~600)', CreateDataTime='2019-01-25 08:00:00', ExpiredMinutes='14400', IsEncrypt='0', IsAdmin='0', EnableEdit='1';
转载于:https://www.cnblogs.com/peterYong/p/10893899.html
【mysql】知识点相关推荐
- mysql知识点系列-数据目录(Data目录)下文件类型一窥究竟
本文主要基于<高性能MySQL> 文章目录 1.数据库目录 2.frm文件 3.ibd文件 4.ibdata文件 5.ib_logfile文件 6.UNDO日志 7.慢查询日志 8.二进制 ...
- mysql知识点回顾(一)
回顾mysql中的常用知识点 上图为win版本启动关闭服务方式. 连接mysql命令:mysql -u alex -p 查看所有数据库:show databases; use db_name ;切换数 ...
- 面试必会系列 - 2.1 MySQL知识点大汇总(基本架构,存储引擎,锁,事务,索引,B+树等等)
本文已收录至 Github(MD-Notes),若博客中图片模糊或打不开,可以来我的 Github 仓库,包含了完整图文:https://github.com/HanquanHq/MD-Notes,涵 ...
- MySQL知识点整理汇总
文章目录 前言 一.数据库与SQL 1. 数据库与数据库管理系统 2. 关系数据库 3. MySQL语句的种类 4. MySQL语句的基本书写规则 二.MySQL语句的两大顺序 1. MySQL 语句 ...
- 这应该是最全面的MySQL知识点总结啦
书籍推荐 <SQL基础教程(第2版)> (入门级) <高性能MySQL : 第3版> (进阶) 常见问题总结 存储引擎 一些常用命令 查看MySQL提供的所有存储引擎 mysq ...
- Mysql 知识点总结(持续更新)
挺长一段时间没有动手写博客了,接下来的一段时间将对前段时间学的mysql做一次总结,内容比较多,将持续更新上来,贵在坚持啊~ 关于mysql的,这里不多说,看图说话: 上面的图是最新的统计情况,mys ...
- MySQL知识点复习
MYSQL学习 安装:sudo apt install mysql-server https://blog.csdn.net/qq_38505969/article/details/109957055 ...
- 【mysql知识点】查看和修改系统参数
如何查看和修改系统参数? 在MySQL里,参数也可以叫变量(Variables),一般配置文件为:/etc/my.cnf.当MySQL实例启动时,MySQL会先去读一个配置参数文件,用来寻找数据库的各 ...
- mysql知识点概览_MySQL 基本架构概览
下图是 MySQL 的一个简要架构图,从下图可以清晰的看到 SQL 语句在 MySQL 内部是如何执行的. 先简单介绍下图涉及的一些组件的基本作用,后面还会详细介绍到这些组件的作用. 连接器: 身份认 ...
- mysql知识点汇总
1. 数据库的安装 2. 数据库设计需要注意什么 3. SQL语句优化 4. 怎样处理慢查询? 5. 怎样更好的利用数据库索引? 6. 事务隔离级别有哪些?怎么实现的? 7. 数据库锁有哪些? 8. ...
最新文章
- Linux C 实现生产者消费者问题
- 商品搜索引擎---推荐系统设计
- 微软模拟飞行2020服务器多少内存,《微软模拟飞行2020》配置公开,想玩爽还需玩家加大投入...
- git commit或者pull代码时提示代码冲突解决方法
- MongoDB数据库(4.mongodb数据库的备份和恢复)
- python判断数字_python判断变量是否为数字、字符串、列表、字典等
- ArcGIS中合并(merge)、联合(union)、追加(append)、融合(dissolve)的用法区别与联系
- 【转】设计模式六大原则——SOLID
- 【计算机网络复习】1.1.2 标准化工作及相关组织
- 2013/12/25
- matlab trapz二重积分函数_matlab二重积分
- 【MySQL】MySQL监控工具 mysql-monitor
- PostgreSQL 最佳实践 - 在线增量备份与任意时间点恢复
- presentViewController:navigationController animated:YES completion:^(void)
- 微信小程序微商城(四):动态API实现商品详情页(上)
- html隐藏标签console,console的隐藏知识点,你get到了嘛?
- MySQL数据类型有哪些?
- 3D Max 2016安装教程
- 【优化系列】VS与YASM的集成使用
- visio流程图添加连接点
热门文章
- 《挑战程序设计竞赛》---算法高级篇
- .net微信公众号开发——群发消息
- vetur插件提示 'v-for' directives require 'v-bind:key' directives.错误的解决办法
- discuz是如何判断手机端访问的
- python 的对象内建方法:__XXX__(a1,a2)
- ASP.NET MVC3 Model验证总结
- Ajax控件和类库简析
- C#开发的程序性能比Vb.net开发的同样功能的程序性能要高?
- Thread.Join 和 Task.Wait 方法
- shell基本理论知识