SQL 문 실행 순서 ** from 절 -> where 절 -> group by 절 -> heving 절 -> select 절 -> order by 절 -- Limit 출력 시작 row , 출력 개수 --( LIMIT 0 , 100 ) 인덱스 로 시작 해서 시작 은 0 Limit 는 보여질 시작 row 와 출력 개수 로 페이징 작업 가능 SELECT e . * FROM employees AS ELIMIT 0 , 100 ;** CREATE TABLE IF NOT EXISTS 테이블 생 성시 중복 테이블 일 경우 에 생 성 불가 ** 조건 절 BETWEEN ~ AND -- 비교 할 대상 컬럼 BETWEEN ' 조건 1 ' AND ' 조건 2 ' -- 조건 1 관 조건 2 의 사이 의 데 이타 출력 BETWEEN ` 1951 - 01 - 01 ` AND ` 1956 - 01 - 01 `** 조건 절 IN SELECT E . first _ name , COUNT ( 1 ) AS CUTFROM employees AS EWHERE E . first _ name IN ( ` Eberhardt `, ` Georgi `) GROUP BY E . first _ name -- IN 해당 테 이타 를 포함 하 고 있 는 데 이타 를 출력 -- NOT IN 해당 데 이타 를 포함 하 지 않 는 데 이타 를 출력 ** 조건 절 ORELECT E . first _ name , COUNT ( 1 ) AS CUTFROM employees AS EWHERE ( E . first _ name LIKE ' A %' OR E . first _ name LIKE ' B %') AND E . gender = ' M ' GROUP BY E . first _ name -- E . first _ name 앞 글자 가 A 또는 B 이 고 , gender 가 M 인 것 - LEFT ( E . first _ name , 1 ) 첫 번 째 글자 만 출력 - RIGHT ( E . first _ name , 1 ) 마지막 글자 만 출력 SELECT e . * , YEAR ( e . birth _ date ) AS birthYear , -- 년 도만 표기 MONTH ( e . birth _ date ) AS birthMonth -- 월 만 표기 , DAY ( e . birth _ date ) AS birthday -- 일 만 표기 , DATE ( ' 2018 - 09 - 19 ') AS dataCast -- 문자형 을 데이트 형 으로 변경 , DATEDIFF ( NOW ( ) , e . birth _ date ) AS diff -- 두 인수 의 일수 차이 , DATE _ ADD ( e . birth _ date , INTERVAL 10 DAY ) AS DATEADD -- 첫 번 째 의 인수 값 에서 수 만큼 계산 된 일자 -- INTERVAL 10 DAY 의 dqy , year , month 옵션 사항 이 올 수 있 다 FROM employees AS ELIMIT 0 , 10 ; 12 -- Limit , 시작 row , 끝 row 전 까지 출력 실습 1 . employees 에 등록 된 사람 의 데 이타 기준 으로 각 년 도 별 태어난 사람 의 총 계 를 구하 여라 SELECT YEAR ( e . birth _ date ) AS birthYear , COUNT ( 1 ) AS cntFROM employees AS eGROUP BY birthYear 백 분 율 구하 기 ROUND ( ( 500 / 15000 ) * 1000 , 1 ) ROUND ( ) 숫자 형태 : 소수점 한 자리 까지 보여줌 실습 2 . employees 에 등록 된 사람 의 데 이타 기준 으로 전체 인원 의 남녀 비율 을 구하 고 남녀별 총 집계 된 사람 수 를 출력 하 여라 SELECT e . gender , COUNT ( 1 ) AS cnt , round ( COUNT ( 1 ) / ( SELECT COUNT ( 1 ) FROM employees ) * 100 , 1 ) AS perFROM employees AS eGROUP BY e . gender 실습 3 . employees 에 등록 된 사람 의 데 이타 기준 으로 1955 년 부터 1960 년 도 의 사이 의 년 도 별 태어난 사람 의 총 계 를 구하 여라 SELECT YEAR ( e . birth _ date ) AS birthYear , COUNT ( 1 ) AS cntFROM employees AS e WHERE YEAR ( e . birth _ date ) BETWEEN 1955 AND 1960 GROUP BY birthYear SELECT E . first _ name , COUNT ( 1 ) AS CUTFROM employees AS EWHERE E . first _ name IN ( ` Eberhardt `, ` Georgi `) GROUP BY E . first _ name -- IN 해당 테 이타 를 포함 하 고 있 는 데 이타 를 출력 -- NOT IN 해당 데 이타 를 포함 하 지 않 는 데 이타 를 출력 실습 4 . employees 에 등록 된 사람 의 데 이타 기준 으로 first _ name 에 알파벳 m 이 포함 된 사람 의 비율 을 구하 여라 ( 비율 ) 백분율 1 ) SELECT round ( COUNT ( 1 ) / ( SELECT COUNT ( 1 ) FROM employees ) * 100 , 1 ) AS perFROM employees AS EWHERE E . first _ name LIKE '% m %' 2 ) SELECT ROUND ( ( SELECT COUNT ( 1 ) FROM employees AS E WHERE E . first _ name LIKE '% m %')/( SELECT COUNT ( 1 ) FROM employees ) * 100 , 1 ) AS perDATE _ FORMAT ( now ( ) , '% Y -% m -% d % H : % i : % s ') CREATE User myid @ localhost IDENTIFIED BY ' mypw '; 주소 를 localhost 로 만 접 급 가능 함 -- Mysql 데이터베이스 의 user 테이블 에 저장 이 된다 SELECT VERSION ( ) dbuser 버전 - user 생성 여부 확인 하 기 - SHOW GRANTS FOR myid @ localhost - user 제거 실습 5 . 데 이타 베이스 mydb 를 만들 고 이 데 이타 베이스 에 mytable 이 라는 테이블 을 생성 하 라 ( 컬럼 은 자유 ) userTest 아이디 를 생성 하 고 mytable 에 select 와 insert , updat 궈 한만 부여 하 라 create database mydb ; CREATE USER ' userTest '@'%' IDENTIFIED BY ' userTestpw '; create table tb _ member ( m _ id VARCHAR ( 10 ) NOT NULL PRIMARY KEY , m _ pw VARCHAR ( 10 ) NOT NULL , m _ level VARCHAR ( 10 ) NOT NULL , m _ name VARCHAR ( 20 ) NOT NULL , m _ email VARCHAR ( 80 ) ) DEFAULT CHARSET = euckr ; insert into mytable values ( ' id 001 ',' pw 001 ',' 관리자 ',' 홍 01 ',' test 01 '); update mytable set m _ pw = ' ddddd ' where m _ pw = ' pw 002 mytable ' GRANT SELECT , INSERT , UPDATE on mydb . mytable TO ' userTest '@' localhost ' WITH GRANT OPTION ; SELECT * FROM mytableREVOKE ALL on mydb . * FROM ' dev 34 id '@' localhost '; DELETE from mytable WHERE m _ pw =' ddddd '; 유저 수동 생성 INSERT INTO user SELECT Hos , PASSWORD , tUserFROM user AS uWHERE u . Host ='%' ANDu . User = ' root '; FLUSH 공유 하 기 글 요소