MySQL的约束、事务、字符串、日期、数学相关及其他补充
MySQL共有5个约束
1 主键约束 primary key(id)
2 外键约束
3 唯一约束 unique
4 非空约束 not null
5 默认约束 default
其他:
auto_increment 值自动增加,通常配合主键约束使用
comment 表字段的注释,创建表时在字段后使用
age=ifnull(x,y) 如果age为null则age=y,否则如果age!=null则age=x
事务
开启事务(实质是关闭自动提交)
begin;
提交(将内存中的改动一次性提交到磁盘中)
commit;
回滚(将内存中的改动清除,回滚到正确的点)
rollback
数据类型
整数 int(m)和bigint(m),m代表显示长度,不足m长度时补零,需要结合zerofill关键字使用
浮点数 double(m,d)和超高精度浮点数decimal(m,d) m代表总长度,d代表小数长度
字符串 char(m)固定长度,最大长度255,好处:执行效率高
varchar(m)可变长度,最大长度65535但是超过255建议使用text 好处:节省资源
text(m)可变长度,最大长度65535
日期 date:只能保存年月日
time:只能保存时分秒
datetime:年月日时分秒,最大值9999-12-31 ,默认值为null
timestamp:时间戳 年月日时分秒,最大值2038-1-19,默认值为当前系统时间
其他
字符串相关
字符串拼接
concat('s1','s2'); s1s2
获取字符串长度
char_length(tr);
获取字符串出现位置
instr("abcdef","d");
转换大小写
upper("abcd");
lower("ABCD");
截取字符串
左边截取 left("abcdefg",2);
右边截取 right("abcdefg",2);
自由截取 substring(str,位置,长度); substring("abcdefg",2,3);
去空白
trim(" a b ");
重复 repeat()
repeat('ab',2);
替换
replace("abcdefg abc","b","m");
反转
reverse("abc");
日期的相关操作
获取当前的系统时间
select now();
获取当前的年月日,时分秒,current 当前
select curdate(),curtime();
从年月日时分秒中提取年月日和时分秒
select date(now()),time(now());
从完整的年月日时分秒中提取时间分量
select extract(year from now());
select extract(month from now());
select extract(day from now());
select extract(hour from now());
select extract(minute from now());
select extract(second from now());
日期格式化
格式:date_format(时间,格式)
%Y 四位年 %y 两位年
%m 两位月 %c 一位月
%d 日
%H 24小时 %h 12小时
%i 分钟
%s 秒
数学相关
向下取整
floor(3.85);
四舍五入
round(3.8);
四舍五入
round(3.879,2);2代表小数位数
非四舍五入
truncate(23.879,2);2代表小数位数
随机数
rand();
导入sql文件
source 文件路径
导出数据库(sql脚本)
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p db_name > test_db.sql
mysql导出数据库一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p test_db users> test_users.sql (结尾没有分号)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」