首页
壁纸
留言
友链
关于
统计
Search
1
武汉理工刷课,武汉理工大学刷课,刷在线作业程序
880 阅读
2
Linux下Golang编译程序在后台运行及开机启动
709 阅读
3
抖音userid怎么获取
607 阅读
4
破解Typora1.1.5最新版
477 阅读
5
[必看]Go语言配置代理
375 阅读
技术
php
Mysql
wechat公众号
git
前端
前端大杂烩
vue2
vue3
Golang
gorm
golang配置
韩昊杰的软件
工具
VMware
其他
docker
kafka
nginx
openwrt
登录
Search
韩昊杰
累计撰写
65
篇文章
累计收到
52
条评论
首页
栏目
技术
php
Mysql
wechat公众号
git
前端
前端大杂烩
vue2
vue3
Golang
gorm
golang配置
韩昊杰的软件
工具
VMware
其他
docker
kafka
nginx
openwrt
页面
壁纸
留言
友链
关于
统计
搜索到
6
篇与
的结果
2025-01-19
在 MySQL 中重置 `AUTO_INCREMENT` 值
在 MySQL 中重置 AUTO_INCREMENT 值当表的 AUTO_INCREMENT 字段的某些值被删除后,默认情况下,新插入的数据会从表中现有的最大值加 1 开始。因此,如果希望新插入的数据从某个特定的值(如 75)开始,需要手动重置 AUTO_INCREMENT。步骤 1:检查当前的 AUTO_INCREMENT 值运行以下 SQL,查看当前表的 AUTO_INCREMENT 值:SHOW TABLE STATUS LIKE 'your_table_name'; eg:SHOW TABLE STATUS LIKE "sys_base_menus";your_table_name 是你的表名。在返回结果中,Auto_increment 列显示的是下一个插入的值。步骤 2:重置 AUTO_INCREMENT通过以下命令将 AUTO_INCREMENT 值重置为 75:ALTER TABLE your_table_name AUTO_INCREMENT = 75; eg:ALTER TABLE `sys_base_menus` AUTO_INCREMENT = 75;这样,新插入的记录会从 75 开始。注意事项只在数据允许的情况下执行 如果表中已经存在 ID 值为 75 或更高的记录,重置 AUTO_INCREMENT 可能导致主键冲突错误。数据的一致性 仅在确实需要覆盖默认行为时才调整 AUTO_INCREMENT 值,否则尽量保留其自动递增机制。对生产环境的影响 在生产环境修改 AUTO_INCREMENT 时,请务必确认不会对现有业务逻辑产生不良影响。通过上述步骤,可以安全地重置 AUTO_INCREMENT 值。
2025年01月19日
7 阅读
0 评论
0 点赞
2024-11-26
数据库索引类型及其区别
数据库索引类型及其区别本文总结了 NORMAL、FULLTEXT、SPATIAL 和 UNIQUE 索引的特点及适用场景,帮助开发者根据需求选择合适的索引类型。1. NORMAL 索引(普通索引)特点默认的索引类型,用于加速常规查询。无唯一性限制,可以包含重复值。支持等值查询(=)、范围查询(<、>)、前缀通配符(LIKE 'abc%')。使用场景需要加速查询性能但不要求数据唯一性,比如 SELECT 或 WHERE 查询中频繁用到的字段。示例CREATE INDEX idx_column ON table_name(column_name);2. FULLTEXT 索引(全文索引)特点专用于处理大文本字段(如 TEXT 或 VARCHAR),支持全文检索。基于倒排索引结构,适合快速搜索包含特定单词或短语的内容。使用 MATCH() AGAINST() 语法进行全文搜索。默认不支持通配符匹配(如 %),适合复杂的全文搜索。限制仅支持 CHAR、VARCHAR 和 TEXT 字段类型。只有部分存储引擎支持(如 MyISAM 和 InnoDB)。对于中文等需要分词的语言,可能需要额外配置分词器。使用场景搜索博客文章、产品描述、日志记录等大段文字内容。实现搜索功能,例如 “查找包含某关键词的文章”。示例-- 创建 FULLTEXT 索引 CREATE FULLTEXT INDEX idx_fulltext ON table_name(column_name); -- 使用 MATCH() AGAINST() 进行全文搜索 SELECT * FROM table_name WHERE MATCH(column_name) AGAINST ('search_text');3. SPATIAL 索引(空间索引)特点专用于存储和查询地理空间数据(如点、线、多边形)。基于 R-Tree 数据结构,适合地理位置和空间范围查询。用于 GEOMETRY、POINT、POLYGON 等数据类型。支持快速执行“范围内”的地理位置查询。限制仅支持 GIS 数据类型。只能用于支持 GIS 的存储引擎(如 MyISAM 或支持 GIS 的 InnoDB)。索引字段必须设置为 NOT NULL。使用场景地图服务,例如查找附近商店、公交站点。地理信息系统(GIS),如处理地形或区域范围查询。示例-- 创建 SPATIAL 索引 CREATE SPATIAL INDEX idx_spatial ON table_name(geometry_column); -- 查询特定范围内的地理数据 SELECT * FROM table_name WHERE ST_Within(geometry_column, ST_GeomFromText('POLYGON((...))'));4. UNIQUE 索引(唯一索引)特点限制索引字段的值必须唯一(允许一个 NULL 值)。可以用于单列或多列(联合唯一性)。当值重复时,数据库会拒绝插入或更新操作。使用场景确保字段值的唯一性,例如用户的邮箱、商品编号等。约束业务逻辑,避免数据重复。示例-- 创建 UNIQUE 索引 CREATE UNIQUE INDEX idx_unique ON table_name(column_name); -- 创建联合唯一索引 CREATE UNIQUE INDEX idx_unique_multi ON table_name(column1, column2);小结索引类型适用场景特点NORMAL通用查询加速,不要求唯一性最常用,适合多种查询条件FULLTEXT全文检索,用于处理大段文字(文章、描述)支持复杂文本搜索,使用倒排索引SPATIAL地理信息查询(GIS 数据,如位置、范围查询)基于 R-Tree,适合空间数据处理UNIQUE数据唯一性保证(如用户邮箱、商品编号)限制字段值重复根据需求,选择合适的索引类型可以提升查询效率,优化数据存储。
2024年11月26日
10 阅读
0 评论
0 点赞
2024-01-28
mysql 查询字段里面的内容是JSON -Mysql查询语句
mysql 查询字段里面的内容是JSON -Mysql查询语句SELECT * FROM `sys_user_orders` WHERE JSON_EXTRACT(sender_all_data, '$.senderMobile') = '1234567890'; sender_all_data 为字段名称1234567890 为查询的数据
2024年01月28日
52 阅读
0 评论
0 点赞
2022-06-19
mysql怎么获取不重复的数据?
mysql怎么获取不重复的数据?mysql获取不重复的数据的方法:在查询语句中添加distinct关键字来过滤重复的记录select distinct 字段名 from 数据表;使用方法对单个字段进行去重sql:select distinct age from user;对多个字段进行去重sql:select distinct name,age from user;对多个字段进行去重并求count的sql:select count(distinct name,age) as total from user;也可以对select * 进行去重select distinct * from user;
2022年06月19日
79 阅读
0 评论
0 点赞
2022-06-18
使用SQL语句来判断数据库中时间,是否为当日时间
使用SQL语句来判断数据库中时间,是否为当日时间可直接使用select count(*) from history_visitor where date_format(visit_time,'%Y-%m-%d')= date_format(now(),'%Y-%m-%d') 直接在sql中实现了将create_time和当前时间按年月日格式比较,若处在一条相同的·,则说明该用户今日已签到。mysql判断时间是否是当天,昨天今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 7天 SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) 近30天 SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名) 本月 SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) 上一月 SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1 #查询本季度数据 select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(now()); #查询上季度数据 select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER)); #查询本年数据 select * from `ht_invoice_information` where YEAR(create_date)=YEAR(NOW()); #查询上年数据 select * from `ht_invoice_information` where year(create_date)=year(date_sub(now(),interval 1 year)); 查询当前这周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now()); 查询上周的数据 SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1; 查询当前月份的数据 select name,submittime from enterprise where date_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m') 查询距离当前现在6个月的数据 select name,submittime from enterprise where submittime between date_sub(now(),interval 6 month) and now(); 查询上个月的数据 select name,submittime from enterprise where date_format(submittime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m') select * from ` user ` where DATE_FORMAT(pudate, ' %Y%m ' ) = DATE_FORMAT(CURDATE(), ' %Y%m ' ) ; select * from user where WEEKOFYEAR(FROM_UNIXTIME(pudate,'%y-%m-%d')) = WEEKOFYEAR(now()) select * from user where MONTH (FROM_UNIXTIME(pudate, ' %y-%m-%d ' )) = MONTH (now()) select * from [ user ] where YEAR (FROM_UNIXTIME(pudate, ' %y-%m-%d ' )) = YEAR (now()) and MONTH (FROM_UNIXTIME(pudate, ' %y-%m-%d ' )) = MONTH (now()) select * from [ user ] where pudate between 上月最后一天 and 下月第一天 where date(regdate) = curdate(); select * from test where year(regdate)=year(now()) and month(regdate)=month(now()) and day(regdate)=day(now()) SELECT date( c_instime ) ,curdate( ) FROM `t_score` WHERE 1 LIMIT 0 , 30
2022年06月18日
63 阅读
0 评论
0 点赞
1
2