Mysql 日常基本使用语句

目录

1、更改数据库表接口常用SQL

2、常用查询SQL查询函数

3、转换函数

4、mysql设置主键从1开始自增

5、Mysql检查字段中某个字符出现的次数?(检查字段包含几个某字符)


1、更改数据库表接口常用SQL

     由于在开发过程之中经常可能涉及到针对表结构进行增加字段(需要指定在某个字段后增加)、或者修改及重名某个字段信息

--创建测试表
create table tableTest(
    id int;
);

--add支持多列,change/drop需要在每列前添加关键字,逗号隔开,'column'可有可无
--添加多列
alter table tableTest add (c1 char(1),c2 char(1));   --正确,add支持多列
alter table tableTest add column (c1 char(1),c2 char(1));    --正确
alter table tableTest add c1 char(1),add c2 char(1);     --正确

/** 课程 一级分类  */
alter table course add course_first_category bigint(11)  DEFAULT 0 COMMENT '课程一级分类id' after course_name;

--修改多列
alter table tableTest change c1 c3 char(1),change c2 c4 char(1);     --正确
alter table tableTest change column c1 c3 char(1),change column c2 c4 char(1);       --正确

/** 课程 调整原来的二级分类  */
alter table course change column course_category course_second_category bigint(11)  DEFAULT 0 COMMENT '课程二级分类id';

alter table tableTest change (c1 c3 char(1),c2 c4 char(1));      --错误

--删除多列
alter table tableTest drop c1,drop c2;   --正确
alter table tableTest drop column c1,drop column c2;     --正确

2、常用查询SQL查询函数

#日期格式化
DATE_FORMAT(ce.create_time,'%Y-%m-%d %H:%i:%s') as createTime

date_format(task.task_start_time, '%Y.%c.%d' ) as task_start_time,

#转换文件大小
CASE 
	WHEN CONVERT(ce.enclosure_size / (1024 * 1024), decimal(10, 2)) > 1024 
    THEN CONCAT(CONVERT(ce.enclosure_size /(1024 * 1024*1024), decimal(10, 2)), 'G') 
	WHEN CONVERT(ce.enclosure_size / (1024 * 1024), decimal(10, 2)) > 1 
	THEN CONCAT(CONVERT(ce.enclosure_size / (1024 * 1024), decimal(10, 2)), 'M') 
	ELSE CONCAT(CONVERT(ce.enclosure_size / (1024), decimal(10, 2)), 'KB')
END AS enclosureSize,

#计算百分比
case tresult.task_users 
  when 0 then CONCAT("0.00",'%')
  else CONCAT(ROUND(tresult.complete_task_users/tresult.task_users * 100, 2),'','%')
end complete_percentage

其中 format函数对数字类型转化的坑 如果仅仅只是显示字符串可以使用,如果需要使用作为数字进行计算;此方式不合适

convert(param, decimal(10,2))(建议)

cast(param as decimal(10,2))(建议)

3、转换函数

MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值。两者具体的语法如下:

CAST(value as type);  
CONVERT(value, type);  
就是CAST(xxx AS 类型), CONVERT(xxx,类型)。

可以转换的类型是有限制的。这个类型可以是以下值其中的一个:
    二进制,同带binary前缀的效果 : BINARY    
    字符型,可带参数 : CHAR()     
    日期 : DATE     
    时间: TIME     
    日期时间型 : DATETIME     
    浮点数 : DECIMAL      
    整数 : SIGNED     
    无符号整数 : UNSIGNED 

mysql> SELECT CAST('3.35' AS signed);  
+------------------------+  
| CAST('3.35' AS signed) |  
+------------------------+  
|                      3 |  
+------------------------+  
1 row in set  

4、mysql设置主键从1开始自增

alter table user AUTO_INCREMENT=1; ##user是表名称

5、Mysql检查字段中某个字符出现的次数?(检查字段包含几个某字符)

-- 核心代码
where (LENGTH(name) - LENGTH( REPLACE (name, '.', ''))) >= 2

-- 实战示例

SELECT
	(
		LENGTH( t.course_category_level_path ) - LENGTH(
		REPLACE ( t.course_category_level_path, '.', '' ))) pointTotal,
	t.course_category_level_path 
FROM
	course_category t 
WHERE
	(
	LENGTH( t.course_category_level_path ) - LENGTH(
	REPLACE ( t.course_category_level_path, '.', '' )))>=2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值