DB/SQL 66

SQL 기본 내장함수

TO_CHAR - char형으로 변경 - 날짜, 숫자 모두 char형으로 변환 가능 SYSDATE - 오늘의 날짜를 출력 - 예시 SELECT SYSDATE FROM TABLE - 결과 EXTRACT - 년, 월, 일 등을 추출하는 함수 - 예시 SELECT EXTRACT(YEAR from sysdate), EXTRACT(MONTH from sysdate), EXTRACT(DAY from sysdate) from TABLE - 결과 TRUNC - 버림하는 함수 - 예시 SELECT TRUNC(숫자,옵션) from TABLE --"숫자"를 "옵션"자리 까지 절사 - 결과 DECODE - 조건문을 만드는 함수 - DECODE(조건1, 조건1 성립시 출력값, 조건2, 조건2 성립시 출력값 ... , '..

DB/SQL 2022.02.15

[SQL]sql코테전에 보기

특정 조건 sick이라는 조건과 같은것 SELECT ANIMAL_ID,NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION is "Sick" 특정 조건 아닌것 SELECT ANIMAL_ID,NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION NOT like "Aged" 정렬 1. 오름차순 SELECT ANIMAL_ID,NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID 2. 내림차순 SELECT ANIMAL_ID,NAME,DATETIME FROM ANIMAL_INS ORDER BY NAME,DATETIME DESC 3. 상위 1개 SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1 최댓값 ..

DB/SQL 2021.03.06

파이썬 SQL연동

파이썬과 mysql연동 파이썬과 mysql을 연동해서 파이썬에서 데이터베이스에 접근하고 쿼리문등을 실행해 본다. 코드 1. 필요 라이브러리 다운 from sqlalchemy import create_engine import pymysql pymysql.install_as_MySQLdb() 2. 파라미터 설정 # DB이름 설정 db_name = '' # mysql 아이디 db_id = '개인id' # mysql db ip (로컬이면 localhost) db_ip = 'localhost' # mysql db 패스워드 db_passwd = 'pw' # db port db_port = '3306' * DB이름? * 개인 id? mysql command line을 실행하고 터미널에서 아래와 같이 입력하면 user..

DB/SQL 2021.02.10

[SQL] DDL (create drop alter)

CREATE 1. 테이블 생성 creat table (테이블이름) ( (컬럼이름) (타입)(글자수) (옵션) ); create table dept( deptno varchar2(4) primary key, deptname varchar2(20); ); create table emp ( empno number(10), ename varchar2(20), sal number(10,2) default 0, --소수점 2째자리, 기본값은 0 constraint emppk primary key(empno), --empno를 기본키로 constraint deptfk foreign key (deptno) --deptno를 외래키로 references dept(deptno), on delete cascade --dep..

DB/SQL 2020.07.11

[SQL] 내장함수

1. 문자형 함수 함수 설명 acsii(문자) 문자,숫자를 acsii 코드값으로 char(acsii 코드값) acsii 코드값을 문자로 substr(문자열,m,n) 문자열 m부터 n개 자르기 concat(문자열1,문자열2) 문자열1||문자열2 문자열 합치기 lower(문자열) 소문자로 upper(문자열) 대문자로 length(문자열) or len(문자열) 문자열 길이 ltrim(문자열,지정문자) 왼쪽에 (반복되는)지정문자 삭제, or 왼쪽 공백삭제 rtrim(문자열,지정문자) 오른쪽에 (반복되는)지정문자 삭제, or 오른쪽 공백삭제 trim 양쪽에 반복되는 지정문자 삭제 or 양쪽공백삭제 2. 날짜형 함수 함수 설명 sysdate 오늘의 날짜를 날짜 타입으로 extact('year' or 'month' ..

DB/SQL 2020.07.11

[SQL] JOIN(조인)

* 열은(칼럼은) SELECT에서 구한다. 여기서 말하는 모든 JOIN은 행을 말한다! 1. 등가(EQUI) 조인 ​ (1) 등가 조인(INNER JOIN) --EMP와 DEPT 테이블을 DEPTNO칼럼으로 SELECT * FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; --EMP와 DEPT 테이블을 INNER JOING, 같은게 여러개있다면 여러 조합으로 JOIN SELECT * FROM EMP INNER JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO; - inner join할때 select* 하면, on에 쓰인 조건 열 2개가 모두 출력된다. - 겹치는것이 여러개 있다면 각 조합별로 모두 출력한다. 예를들어 emp.dptno에 1이 2개, dept..

DB/SQL 2020.07.11

[SQL] DCL

권한부여 GRANT (권한리스트) ON (테이블) TO (사용자) (WITH GRATN OPTION) GRANT SELECT, INSERT, DELETE ON R TO KIM WITH GRANT OPTION; -- limbest 사용자에게 emp테이블에 대해서 다음과 같은 권한을 부여한다. grant select, insert, update, delete on emp to limbest; with grant option --권한을 부여할 수 있는 권한을 부여 취소 REVOKE (GRANT OPTION FOR) (권한리스트) ON (개체) FROM 사용자 (CASCADE) *GRANT OPTION FOR : 옵션을 붙이면 부여할수있는 권한만 삭제. 안붙이면 권한&부여권한 모두 삭제 REVOKE GRANT ..

DB/SQL 2020.07.11

[SQL]계층형 쿼리(START WITH, CONNECT BY)

SELECT LPAD(' ',2*(LEVEL-1)) || item_name item_names, item_id, parent_id FROM bom START WITH parent_id is null connect by prior item_id = parent_id; 1. LPAD 공백을 만들어주기 위한 함수. 빈칸(' ')을 LEVEL만큼 왼쪽에 넣어줌으로서 들여쓰기시켜줌 2. start with (조건) 루트노드를 지정하는것. 조건을 만족하는 모든 행이 루트 노드가 된다. 3. connect by (조건) prior (자식노드) = (부모노드) 로서 계층을 만들어 주는것

DB/SQL 2020.07.11