데이터 베이스/웹 DB

mysql 실습 2

Gh1324 2019. 3. 27. 10:42
728x90

- select


데이터 베이스 과목을 수강하는 학생의 학번과 이름과 주소를 나열하라.



서울시에 사는 학생중 데이터 베이스 과목을 수강하는 학생의 이름을 나열하라.



운영체제를 강의하는 교수의 이름과 소속학과를 나열하라.



전자공학과 교수의 수는 얼마인가.


* distinct : 중복된 값인 경우 하나의 값으로 취급, 중복된 데이터가 많은 것에 사용.



교수들의 평균 나이는 얼마인가.


김창화 교수가 강의하는 교과목을 나열하라



김창화 교수가 강의하는 학생의 이름을 나열하라


강훈희가 중복되어 나옴



distict 옵션을 주어 중복된 값을 제거.


이름이 강으로 시작하는 교수의 이름 주소 전화번호를 나열하라.


와일드 카드 % --> like와 함께 사용


- update



이명희 학생의 주소를 서울시로 갱신하라.



1. 집단 함수 aggregation function )


COUNT()

SUM() -

AVG() - 평균

MAX() - 최대값

MIN() - 최소값

VARIANCE() - 분산

STDDEV() - 표준 편차


 

2. 날짜와 시간 함수 


ADD_MONTHS( ENDDATE , 2 ) - 지정한 날짜에 달의 수를 추가한다.

LAST_DAY() - 지정한 달의 마지막 날을 계산한다.

MONTHS_BETWEEN( START_DATE, END_DATE ) - 지정한 날사이에 달의 수

NEW_TIME - 시간대에 따라 시간을 맞출 필요가 있을 때 사용

NEXT_DAY(STARDATE,'FRIDAY") - 다른 지정된 날짜와 같거나 그주의 첫 번째 일의

이름을 찾는다.

DAYOFWEEK(date) - 주어진 날짜의 요일을 숫자로 리턴함.  (1;일요일 ~ 7:토요일)

DAYNAME(date) - 주어진 날짜의 요일을 이름으로 리턴함.

DAYOFYEAR(date) - 주어진 날짜를 11일을 기준으로 일수로 환산함.

QUARTER(date) - 주어진 날짜를 분기로 나타내줌.

MONTH(date) - 주어진 날짜의 달을 숫자로 리턴해줌.

MONTHNAME(date) - 주어진 날짜의 달을 이름으로 리턴해줌.

WEEK(date) - 11일을 기준으로 주어진 날짜까지 주의 수를 환산해줌.

YEAR(date) - 주어진 날짜의 연도수를 리턴(네자리로)

HOUR(date) - 시간을 리턴

MINUTE(date) - 분을 리턴

SECOND(date) - 초를 리턴

PERIOD_DIFF(P1,P2) - 두 날짜간의 달수를 리턴

  날짜입력양식 - YYMM,YYYYMM

DATE_ADD(date, INTERVAL, expr type) - 주어진 날짜에 날짜나 시간을 더함

   ex>  DATE_ADD("1997-01-01 23:34:32" INTERVAL 1 DAY) 

          -> 1997-01-02 23:34:32

ADD_DATE : 상동

DATE_SUB : DATE_ADD의 반대

SUB_DATE : 상동

TO_DAYS(date) ; 서기 0년을 기준으로 주어진 날짜까지의 일수를 계산

FROM_DAYS(num):  TO_DAY의 반대

CURDATE() : 현재 날짜를 리턴

CURRENT_DATE() : 상동

CURTIME(),CURRENT_TIME(): 현재 시각을 리턴

NOW(), SYSDATE() : 현재 날짜와 시각을 리턴

SEC_TO_TIME(second): 주어진 초를 시간으로 환산

TIME_TO_SEC(time): 주어진 시간을 초로 환산

 

3. 수학함수

ABS() - 절대값

CEIL()- 그 인수보다 크거나 작은 정수 계산 , FLOOR - 앞의 역

COS,COSH,SIN,SINH,TAN,TANH - 라디안 값을 사용

EXP() - e를 거듭 제곱으로 곱할 경우

LN(),LOG() - log, ln 계산

MOD(A,B) - B A로 나눈 나머지

POWER(A,B) - A B의 거듭제곱으로 곱해진다.

SIGN() - 인수가 0 이하일때는 -1, 인수가 0 일때는 0, 0 이상일때는 1

SQRT() - 인수의 제곱근

 

4. 문자 함수

ASCII() - 문자의 ASCII값을 리턴

CHAR() - ASCII와는 반대로 숫자에 해당하는 문자를 리턴

CONCAT() - 두 개의 문자열을 합침

INITCAP() - 단어의 첫글자는 대문자 나머지는 소문자

LOWER()- 모든 문자를 소문자 ,UPPER() - 모든 문자를 대문자

LPAD(str,len,padstr) - str에다 padstr를 왼쪽부터 더해서 len만큼의 str을 만듬.

  ex>  lpad('hi',4,'aa')     :   aahi를 만듬

RPAD - LPAD의 반대

LTRIM(str) - str에서 왼쪽의 공백을 없애줌.

RTRIM(str) - LTRIM의 반대

LEFT(str,len) - str에서 왼쪽으로부터 len만큼의 길이의 문자열을 리턴

RIGHT - LEFT의 반대

MID(str,pos,len) - pos에서 시작해서 len만큼의 길이의 문자열을 리턴.

REPLACE(LASTNAME,'ST') - 검색하여 대체

SUBSTR(FIRSTNAME,2,3) - 첫 번째는 타겟문자열, 두 번째는 출력될 문자의 위치, 세 번째는 제시될 문자의 수 

TRANSLATE(NAME,'ss','dd') - 타겟 문자열을 변환

INSTR(str,substr) - 문자열에서 특정패턴이 일어나는 곳의 위치 리턴(LOCATE와 같지만 인수가 두 개만 들어감)

  ex> instr('bar','foobarbar')  :  4를 리턴

LENGTH() - 문자열의 길이를 계산한다.

LOCATE(substr,str,시작위치) - string에서 시작위치에 해당하는 위치로부터 substring의 위치를 찾아서 리턴. (instr와 옵션이 반대..)

   ex> locate('bar','foobarbar')    :  4를 리턴

        locate('bar','foobarbar',5)  :  5번째 그러니까 foorb부터 bar를 찾음..  7을 리턴.

REPLACE(str,from_str,to_str) - str에서 from_str을 전부 to_str으로 바꾼다.

   ex> replace('abacccd','a','A')  :  AbAcccd 를 리턴

REPEAT(str,count) - str count만큼 반복.

REVERSE(str) - str을 뒤집어서 리턴

LCASE(str),LOWER(str) - str을 소문자로 변환

UCASE(str),UPPER(str) - 대문자로 변환.

 

 

 

5. 변환함수

TO_CHAR() - 수를 문자로 변환한다.

TO_NUMBER() - 문자열을 수로 변환한다.

 

6. 보조 함수

GRETEST() - 알파벳의 끝에서 가장 가까운 단어를 찾는다.

LEAST() - 앞의 역

USER() - 시스템에 관한 정보를 알려준다.



mysql>GRANT select, insert ON LECTURE_SYSTEM.STUDENT to djkim@localhost;

    // 테이블 STUDENT에 대한 사용자 djkim'의 권한을 selectans insertans으로 한정한다.


grant : 사용자 권한 ...


create user 유저테이블에 추가

grant 데이터베이스 권한 



728x90

'데이터 베이스 > 웹 DB' 카테고리의 다른 글

hidden type 사용  (0) 2019.04.10
방문자 counter  (1) 2019.04.08
mysql 실습  (0) 2019.03.25
1부터 50까지 더하는 php 프로그램 작성하기  (0) 2019.03.20
웹 DB 실습 4  (0) 2019.03.20