mysql约束日期_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 (结尾没有分号)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值