
mysql查找以逗号分隔字符串字段中,精确匹配包含条件的结果
表数据示例:+—-+———-+| id | ids |+—-+———-+| 1 | 1,2,3, || 2 | 2,10,14, |+—-+———-+要求:查询ids列中包含1的结果1)用like关键字(错误)SELECT * FROM `my_test` WHERE ids LIKE “%1%”;+—-+———-+
不怂!!
表数据示例:+—-+———-+| id | ids |+—-+———-+| 1 | 1,2,3, || 2 | 2,10,14, |+—-+———-+要求:查询ids列中包含1的结果1)用like关键字(错误)SELECT * FROM `my_test` WHERE ids LIKE “%1%”;+—-+———-+
— EXISTS 关键字,用于判断子查询中存在记录,则会被返回到结果集中,NOT EXISTS则相反– 如果子查询有返回的行,则该行记录将被输出,否则不会被输出SELECT * FROM sys_dict WHERE NOT EXISTS( SELECT role_id FROM sys_roles WHERE role_id = dict_id);
— 这里使用left(),right(),concat()函数组合实现– 先截取前三位,再截取后四位,最后用连接函数将对应值拼接起来SELECT CONCAT(LEFT(IDCard,3), “****” ,RIGHT(IDCard,4)) AS 身份证号FROM user;– 输出结果示例– 140****2240– 140****0874– 140****1224– 140**
数据库常用命令– 创建数据库 test1create database test1;– 删除数据库 test1drop test1;– 选择使用哪个数据库use test1;数据表常用命令:– 创建一张表CREATE TABLE `test_category` ( `cate_ID` int(11) NOT NULL AUTO_INCREMENT, `cate_Name` varcha
— 单条插入INSERT INTO emp(ename, sal) VALUES(“dony”, 1000);– 批量插入INSERT INTO dept VALUES(5, “dept5”),(6, “dept6”);INSERT INTO dept(deptno, deptname) VALUES(5, “dept5”),(6, “dept6”);– 单表更新UPDATE emp SET
删除页面重复数据时出现:”You can”t specify target table “wms_material_io” for update in FROM clause”,此时做个子查询中间表存起来在删除– 原SQLDELETE FROM wms_material_io WHERE WML_MES_ID in( SELECT wmi.WML_MES_ID FROM wms_material
mysql计算两个日期时间的差函数:– TIMESTAMPDIFF 函数,需要传入三个参数,– 第一个是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型– 第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下:SELECT TIMESTAMPDIFF(FR
INSERT INTO TPersonnelChange( UserId, DepId, SubDepId, PostionType, AuthorityId, ChangeDateS, InsertDate, UpdateDate, SakuseiSyaId)SELECT UserId, DepId, SubDepId,
SELECT case gender WHEN 1 THEN “NAN” WHEN 0 THEN “NV”end as genderFROMt_swidy_day_nutrient
— table_schema:数据库– table_name:数据库中表名– table_rows:该表中数据总数– TABLE_SCHEMA:里面是你的数据库名称SELECT table_schema,table_name,table_rows FROM TABLES WHERE TABLE_SCHEMA=”db-mayn-erp-dev” AND table_rows != 0 OR