1、删除数据库里重复的值,只保留一个
DELETE s1 FROM seller_dr s1 INNER JOIN seller_dr s2 WHERE s1.uid = s2.uid AND s1.id > s2.id; #红色 代表mysql的数据表名称,#蓝色是字段的名称;
2、查询mysql过滤重复后的数量
SELECT uid FROM `cms_expert` WHERE 1 group by uid #红色 是数据表名称 #绿色 是查询字段的名字
3、高效删掉mysql重复的数据
DELETE FROM `seller_dr` WHERE id not in (select id from (SELECT max(id) as id FROM `seller_dr` group by uid) _t) #红色 是数据表名称 #绿色 是查询字段的名字
4、从另外一个表 复制1万条数据到新的表
INSERT INTO `t_celebrity123` (SELECT * FROM `t_celebrity` WHERE `platform_id` != 'seller.us.tiktokglobalshop' AND `fans` > 1000 AND `contact_email` != '' LIMIT 10000); #绿色:新表的名称 蓝色:原表的搜索条件 紫色:取出多少个
5、从另外的表复制所有数据到新表指定字段 多个字段;
INSERT INTO dr_history_data_total (uid, unique_id) SELECT uid, unique_id FROM dr_history_data; #绿色:新表的名称 蓝色:原表的搜索条件
6、测试用例 在新表插入指定字段, 原表里搜索指定条件;
INSERT INTO t_celebrity2024_06 (unique_id, nick_name,uid,avatar_url,contact_email,fans,follows,likes,videos,sign,region,celebrity_language) SELECT unique_id, nickname,uid,avatarThumb,email,followerCount,followingCount,heartCount,videoCount,signature,region,language FROM `new_dr_0617` WHERE `email` != '' AND `followerCount` < 1000 #测试例子 INSERT INTO `t_celebrity_7月_D5000_JF-1`(unique_id,nickname,uid,avatarThumb,email,whatsapp,followerCount,followingCount,heartCount,videoCount,diggCount,signature,region,language) SELECT unique_id,nickname,uid,avatarThumb,email,whatsapp,followerCount,followingCount,heartCount,videoCount,diggCount,signature,region,language FROM `t_celebrity_7月_D5000_JF`
7、A,B2个表查询是否重复数据,重复的数据进行标记
UPDATE dr_JFSJ_ALL,`t_celebrity_add_JF_2024-06` SET `t_celebrity_add_JF_2024-06`.up_status = 5 WHERE `t_celebrity_add_JF_2024-06`.uid = dr_JFSJ_ALL.uid dr_JFSJ_ALL: 查询数据的表 t_celebrity_add_JF_2024-06:需要更新标记的表
8、设置数据表字段内容格式
update A set uid=trim(uid)
清除UID字段内容里的空格
9、取出数据并设置状态,防止多人取同一条数据
SET @update_id := 0; UPDATE `#表名称#` SET statue = 1, id = (SELECT @update_id := id) WHERE `statue` IS NULL limit 1; SELECT uid FROM `#表名称#` WHERE id = @update_id; #表名称# 当前数据库里的表名称 #SET statue = 1 设置哪个字段 并设置成什么值 #`statue` IS NULL limit 1 查询条件 取出多少条数据 #uid 搜索内容显示哪些字段 目前是显示uid,如果显示其他字段 改为 uid,id,name
10、数据表A,B2个表,查询数据B表里的UID是否在A表里存在,如果存在在B表的状态字段修改值
update t_celebrity_8月_DJF_1_Email,dr_JFSJ_ALL set `t_celebrity_8月_DJF_1_Email`.statue=9 where t_celebrity_8月_DJF_1_Email.uid=dr_JFSJ_ALL.uid #t_celebrity_8月_DJF_1_Email,dr_JFSJ_ALL #2个数据表的表名称 #set `t_celebrity_8月_DJF_1_Email`.statue=9 #设置哪个表的字段值等于多少 #t_celebrity_8月_DJF_1_Email.uid=dr_JFSJ_ALL.uid #设置的条件
权限表设计,连表查询
#创建权限表
CREATE TABLE pandas.seller_permission (
perm_id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL COMMENT '关联user表uid',
seller_id INT NOT NULL COMMENT '关联seller表id',
perm_type ENUM('view','manage') NOT NULL DEFAULT 'view' COMMENT '权限类型',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES user(uid),
FOREIGN KEY (seller_id) REFERENCES seller(id),
UNIQUE KEY (user_id, seller_id)
) COMMENT='卖家账号权限表';
表创建好以后,根据user表和seller表的数据插入权限数据:
--执行sql语句,根据权限表提取seller数据 SELECT s.* FROM seller s JOIN seller_permission sp ON s.id = sp.seller_id JOIN user u ON u.uid = sp.user_id WHERE u.Account = 'aa@qq.com' AND sp.perm_type = 'view' -- 查询有管理权限的用户及其对应的seller SELECT u.name AS user_name, s.shop_name, s.Login_Account FROM user u JOIN seller_permission sp ON u.uid = sp.user_id JOIN seller s ON sp.seller_id = s.id WHERE sp.perm_type = 'manage'; -- 查询用户所在公司的所有seller权限(假设需要扩展) ALTER TABLE seller ADD COLUMN company VARCHAR(50) COMMENT '与user表Company字段关联'; SELECT s.* FROM seller s JOIN user u ON s.company = u.Company WHERE u.uid = 指定用户ID; -- 验证用户是否有某seller的查看权限 SELECT EXISTS( SELECT 1 FROM seller_permission WHERE user_id = 123 AND seller_id = 456 AND perm_type = 'view' ) AS has_permission;
发表回复
评论列表(10条)
功能强大,操作便捷,SQL语句清晰易懂! 非常实用!
功能强大,SQL语句清晰易懂,极大提高了我的数据库管理效率!
数据库操作便捷高效,语句清晰易懂,节省不少时间!
数据库操作便捷高效,语句清晰易懂,非常实用!
功能强大,操作简便,SQL语句清晰易懂! 很实用!
数据库操作简洁高效,语句清晰易懂,满足我的大部分需求。
MySQL操作很方便,语句清晰易懂,高效解决问题!
操作简单,效率很高,轻松完成数据库操作!
功能强大,SQL操作便捷高效!尤其喜欢批量数据处理的功能。
高效实用,语句清晰易懂,极大提升了我的数据库操作效率!
MySQL操作很方便,语句清晰易懂,代码示例也很实用!
SQL操作便捷高效,尤其删除重复数据和数据复制功能实用!
功能强大,SQL语句清晰易懂,非常实用!
功能强大,操作便捷,高效解决数据库问题!
功能强大,语句清晰易懂,极大提高了数据库操作效率!