홈빌드




Sql 특정 데이터값 가져오기(데이터갯수, 조건문, 문자열자르기, 문자열검색, 중복방지, 연결연산자)

♨ 카랜더 일정 : 2021년07월14일
  • 링크

  • 첨부

  • 컨텐츠 정보

    본문

    autosave 필드 본문 내용을 확인하고자 합니다.
    글을 작성하고 '글쓰기'를 누르면 [object Object]라는 화면이 나오는데요

    에디터 관리자 기본설정 가능한 에디터 는 문제 되지 않는데

    일부 에디터에서 문제 발생

    mysql db를 검색 하고자 합니다


    SELECT * FROM `g5_autosave` WHERE as_content like 'object'

    3232235521_1626261641.4101.png

    SELECT * FROM `g5_autosave` WHERE as_content like '%'

    찾기

    SELECT * FROM `g5_autosave` WHERE as_content like '찾는단어%'

    select count(as_content) from g5_autosave
    object



    SELECT * FROM `g5_autosave` WHERE as_content like '<p%'

    SELECT * FROM `g5_autosave` WHERE as_content like '%'


    ● Sql 특정 데이터값 가져오기(데이터갯수, 조건문, 문자열자르기, 문자열검색, 중복방지, 연결연산자)삐약이개발자 2017. 9. 25. 19:56(1) 각 테이블별 데이터 출력
    - select * from 테이블명
    select * from member, memberOther, memberlist;


    (2) 각 테이블별 데이터 개수 출력
    - select count(*) from 테이블명
    - select count(출력할컬럼명) from 테이블명

    (3) member 테이블에서 남성만 출력(특정값만 출력)
    - select * from 테이블명 where 조건이될컬럼명='조건값'
    select * from member where gender='M'


    (4) member 테이블에서 1990년도 이후 출생자 출력
    - select count(*) from 테이블명 where 조건컬럼 (비교연산자: >, <, =,>=, <=) 비교값
    select * from member where birthday>= 19900000


    (5) member 테이블에서 1990년도 출생자 출력
    - select * from 테이블명 where 컬럼명 betweend 시작값 and 끝값
    - select * from 테이블명 where 컬럼명 like (a%: a로 시작하는값, %a : a로 끝나는값, %a% : a를 포함하는값) 
    select * from member where birthday between 19900101 and 19901230
    select * from member where birthday like '1990%'

    (6) member 테이블에서 김씨 만 출력
    - select * from 테이블명 where 컬럼명 like 조건값%
    SELECT * FROM `member` WHERE name like '김%'

    (7) member 테이블에서 생일이 30일인 사람 출력

    - select * from 테이블명 where 컬럼명 like %조건값
    select * from member where birthday like '%30'
    - select * from 테이블명 where right(컬럼명, legnth) = 조건값 
    -> right(문자열, length) length의 길이만큼 우축에서 문자열을 반환
    select * from member where right(birthday, 2) ='30';
    (8) member 테이블에서 아이디,이름,성별,생년 출력( 월일은 출력 X )
    substring(문자열(혹은 컬럼명), n, length) : 해당문자열(컬럼)을 n번째 부터 length 길이 만큼 추출하여 반환
    select userid, name, gender, substring(birthday, 1, 4) from member
    left(문자열(혹은 컬럼명), length) 왼쪽에서부터 length의 길이만큼 추출하여 반환
    select userid, name, gender, left(birthday, 4) (as 생략가능) brithday from member
    (9) member 테이블에서 test4의 등록 날짜 출력(날짜만)
    select substring_index(rdate, ' ', 1) as result from member where userid = 'test4';
    = selelct left(rdate, 10) from member where userid='test4';
    (출처 : http://chongmoa.com/sql/9155)
    -> 구분자 (delimiter) delim가 count 만큼 나오기 전에 스트링 str 에서 서브 스트링을 리턴. 
    SUBSTRING_INDEX(str,delim,count) 구분자 (delimiter) delim가 count 만큼 나오기 전에 스트링 str 에서 서브 스트링을 리턴한다. 만일 count 가 양수 (positive)라면, 마지막 구분자의 왼쪽에 있는 모든 것들이 리턴된다.
    (왼쪽부터 계산이 됨). count 가 음수일 경우에는, 마지막 구분자의 오른쪽에 있는 모든 것들이 리턴된다 (오른쪽부터 계산됨). 
    SUBSTRING_INDEX()는 delim에 대한 검색을 할 때 문자의 크기를 구분한다.
     
    사용예 : SELECT SUBSTRING_INDEX('www.chongmoa.com', '.', 2);
    결과 : www.chongmoa
    사용예 : SELECT SUBSTRING_INDEX('www.chongmoa.com', '.', -2);
    결과 : chongmoa.com
    사용예 : SELECT SUBSTRING_INDEX('admin@chongmoa.com', '@', -1)
    결과 : chongmoa.com
    사용예 : SELECT SUBSTRING_INDEX('admin@chongmoa.com', '@', 1)
    결과 : admin

    (10) memberOther 혈액형이 B형이고 취미가 h010인 데이터
    ​select * from memberOther where blood='B' and hobby='h010';
    (11) memberOhter 테이블에서 혈액형 종류 출력(중복방지)
    select distinct blood from memberOther 
    (12) memberOther에서 연결 연산자를 이용하여 다음처럼 출력
    (결과) test1님의 혈액형은 A형입니다.\
    - 연결함수 CONCAT('hello, ' my', ' blog') AS result : result라는 결과값에 'hello my blog'를 반환
    SELECT concat( userid, '님의 혈액형은', blood, ' 입니다' ) as result
    FROM memberOther
    WHERE userid = 'test1'
    (13) 아이디, 이름, 혈액형 출력
    select userid, name, (select blood from memberOther where userid = member.userid) as blood from member
    (14) 혈액형이 AB형인 아이디, 이름, 혈액형 출력
    select userid, (select name from member where userid = memberOther.userid)as name, blood from memberOther where blood='AB'
    -> Join(조인)
    select a.userid, a.name, b.blood (= membet.userid, member.name, memberOther.blood)
    from member a, memberOther b (a에 member 테이블을 세팅, b에 memberOther 테이블을 세팅)
    where 
    a.userid = b.userid and b.blood='AB';
    (15) 혈액형이 AB형이거나 A형인 아이디, 이름, 혈액형 출력
    select userid, (select name from member where userid = memberOther.userid) as name, blood from memberOther where blood='AB' or blood= 'A'
    -> Join(조인)
    select a.userid, a.name, b.blood 
    from member a, memberOther b 
    where 
    a.userid=b.userid and (b.blood='AB' or b.blood='A');
    1.png☞ https://11q.kr 에 등록된 자료 입니다.

    [ 추가 정보 ... 더보기) ]
    뷰PDF 1,2



    office view

    관련자료

    댓글목록

    등록된 댓글이 없습니다.




    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-04-20 02:35:42

    오늘의 홈 현황


    • 현재 접속자♨ 145 명
    • 오늘 가입자※ 1 명
    • 어제 가입자※ 7 명
    • 주간 가입자※ 15 명
    • 오늘 방문자 812 명
    • 어제 방문자 2,250 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,279,720 명
    • 전체 게시물※ 8,521 개
    • 전체 댓글수※ 24,485 개
    • 전체 회원수 10,913 명

    QR코드


    ☞ 사진기로 촬영하시면 방문링크 됩니다

    알림 0








    최신글↑