>데이터 베이스 >MySQL 튜토리얼 >几个测试SQL,测试SQL处理字符串_MySQL

几个测试SQL,测试SQL处理字符串_MySQL

WBOY
WBOY원래의
2016-06-01 13:56:17979검색

drop table if exists category;
create table if not exists category
(
c_Id bigint not null,
c_name varchar(255) default '',
c_type int default 1,
primary key (c_ID)
);

drop table if exists files;
create table if not exists files
(
f_Id bigint not null,
c_id bigint not null,
f_name varchar(255) default '',
f_mids text,
primary key (f_ID)
);

drop table if exists members;
create table if not exists members
(
m_Id bigint not null,
m_name varchar(255) default '',
primary key (m_ID)
);

insert into category(c_id,c_name,c_type) values (1,'public',1);
insert into category(c_id,c_name,c_type) values (2,'private',2);
insert into category(c_id,c_name,c_type) values (3,'upload',3);
insert into category(c_id,c_name,c_type) values (4,'member001',4);
insert into category(c_id,c_name,c_type) values (5,'member002',4);

insert into files(f_id,c_id,f_name,f_mids) values (1,1,'F_public','1,2');
insert into files(f_id,c_id,f_name,f_mids) values (2,1,'F_public','1');
insert into files(f_id,c_id,f_name,f_mids) values (3,1,'F_public','3,4');

insert into files(f_id,c_id,f_name,f_mids) values (4,2,'F_private','1,2');
insert into files(f_id,c_id,f_name,f_mids) values (5,2,'F_private','1');
insert into files(f_id,c_id,f_name,f_mids) values (6,2,'F_private','3,4');


insert into files(f_id,c_id,f_name,f_mids) values (7,3,'F_upload','1,2');
insert into files(f_id,c_id,f_name,f_mids) values (8,3,'F_upload','1');
insert into files(f_id,c_id,f_name,f_mids) values (9,3,'F_upload','3,4');

insert into files(f_id,c_id,f_name,f_mids) values (10,4,'F_upload','1,2');
insert into files(f_id,c_id,f_name,f_mids) values (11,4,'F_upload','1');
insert into files(f_id,c_id,f_name,f_mids) values (12,4,'F_upload','3,4');

insert into files(f_id,c_id,f_name,f_mids) values (13,5,'F_upload','1,2');
insert into files(f_id,c_id,f_name,f_mids) values (14,5,'F_upload','1');
insert into files(f_id,c_id,f_name,f_mids) values (15,5,'F_upload','3,4');

#此SQL数据就为多目录及其目录下面的文件列表
select * from category as A,files as B,members as C Where A.c_id=B.c_id order by B.c_type,B.c_id;

insert into members (m_id,m_name) values (1,'A');
insert into members (m_id,m_name) values (2,'B');
insert into members (m_id,m_name) values (3,'C');
insert into members (m_id,m_name) values (4,'D');

SELECT * FROM members;

#---取得A(id=1)会员有权限的文件列表
#INSTR(concat(',',f_mids ,','),',1,') >0 表示此文件关联的Member字段里面存在此ID,
#即表示会员ID为1会员可以查看此文件

SELECT LOCATE(',1,', ',1,2,3,');
Select f_id,f_name,f_mids,
INSTR(concat(',',f_mids ,','),',1,') AS checked
From files
where INSTR(concat(',',f_mids ,','),',1,')>0;

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.