MySQL 语法小结

MySQL 语法小结

1.清空表

TRUNCATE TABLE company;

2.联表删除 (先明细表后主表)

DELETE ed.*,o.*,e.* 
FROM employee  e  
LEFT JOIN orders o on e.employee_id = o.employee_id
LEFT JOIN	employee_detail ed on e.employee_id = ed.employee_id
WHERE employee_name = '李99'

3. 查询insurance_account字段重复值大于2的次数和值

select count(1),insurance_account 
from employee
GROUP BY insurance_account 
HAVING count(insurance_account) >=2	

4.查询create_by或者customer 是否存在createBy的数据

 SELECT
            *
        FROM
            annual_base_adjustment_mx
        WHERE 1 = 1 
            AND (  FIND_IN_SET(#{map.createBy,jdbcType=INTEGER},customer) or  create_by = #{map.createBy,jdbcType=INTEGER} )

        order by id

5.批量新增

insert into back_info
(order_type, order_id, back_detail, new_detail, create_by, create_dt, status)
values
<foreach collection="list" index="index" item="item" separator=",">
(
#{item.orderType,jdbcType=TINYINT}, #{item.orderId,jdbcType=INTEGER},
#{item.backDetail,jdbcType=LONGVARCHAR},#{item.newDetail,jdbcType=LONGVARCHAR},
#{item.createBy,jdbcType=INTEGER},#{item.createDt,jdbcType=TIMESTAMP},
#{item.status,jdbcType=TINYINT}
)
</foreach>

6.like CONCAT 和 regexp

like关键字: like '王_' 查询单个字符比如 王二,王三;like '王%':以王开头即可

regexp : 通配符匹配 regexp '王',类似 like '%王%' ,如果入参携带特殊符号不建议使用,

例如 regexp '王老板(字小二)' ,是没有数据可查的,括号内会识别为正则

SELECT * FROM employee WHERE employee_name like concat('%',王,'%')

SELECT * FROM employee WHERE employee_name regexp '王'

7. case when; 判断data_key 1男2女返回

SELECT
	id,
CASE 
WHEN data_key = 1 
THEN
	'男' ELSE '女' 
END AS dataName 
FROM
	system_data 

8.union和union all

UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)

UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)

SELECT 列名称 FROM 表名称 UNION 
SELECT 列名称 FROM 表名称 ORDER BY 列名称;

SELECT 列名称 FROM 表名称 
UNION ALL 
SELECT 列名称 FROM 表名称 ORDER BY 列名称;

9.数据库相关

show databases;//查看所有数据库
show create databases;//查看数据库属性
use myTest;//使用数据库
alter database myTest character set gbk;//将指定的utf8的数据库修改为gbk的数据库
drop database myTest;//删除数据库

10.表操作

show tables;//查看表
desc 表名;//查看表结构
create table 新表名 like 旧表名;//复制旧表;
SHOW COLUMNS FROM 数据表;//显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。

以上仅做个人参考,更多资料见下方链接:

https://www.runoob.com/mysql/mysql-administration.html 菜鸟教程

posted @ 2022-11-15 16:10  大王来巡山w  阅读(29)  评论(0)    收藏  举报