본문 바로가기

DB42

문자함수 / 숫자함수 / 날짜함수(by Oracle) 1. 문자함수 □ INITCAP ○ 인수로 입력되는 칼럼이나 표현식의 문자열에서 첫 번째 영문자를 대문자로 변환하는 함수 ○ INITCAP (expr | column) select name, userid, initcap(userid) from student □ LOWER, UPPER ○ Lower 함수 : 인수로 입력되는 칼럼이나 표현식의 문자열 전체를 소문자로 변환 - LOWER (expr | column ) ○ Upper 함수 : 문자열 전체를 대문자로 변환하는 함수 - UPPER (expr | column ) select userid, lower(userid), upper(userid) from student where studno = 20101; □ LENGTH, LENGTHB ○ LENGTH 함.. 2024. 1. 19.
오라클DB 기본 쿼리문 ② --1. varchar2 --2. select name, position, sal from professor --3. select deptno, name, userid from student --4. select profno, name, position from professor --5. select * from student where name like '%진' --6. select ename||': month salary = '||sal from emp --7. select ename, sal*12 as "Annual Salary" from emp --8. select empno, ename, job, sal from emp where sal between '1500' and '5000' and (j.. 2024. 1. 17.
오라클DB 기본 쿼리문 ① --테이블 구조 약식 조회 desc salgrade describe salgrade --중복제거(복수필드 제거가능) select distinct 필드명 from 테이블명 --정렬 : 내림차순 select 필드명 from 테이블명 order by 필드명 desc --정렬 : 오름차순 select 필드명 from 테이블명 order by 필드명 asc --필드명 별도 지정 : as 변경할 필드명 select 필드1 as 변경필드1, 필드2 as 변경필드2, 필드3 as 변경필드3 from 테이블명 --변경할 필드명이 뛰어쓰기가있는 경우의 필드명 별도 지정(큰따옴표로 묶을때) : as "변경할 필드명이 뛰어쓰기가있는 경우" select 필드1 as "변경필드1", 필드2 as "변경필드2", 필드3 as "변.. 2024. 1. 16.
[오라클]오류메시지별 조치방법 □ ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다(table or view does not exist) ○ 대부분 테이블 이름을 잘못 입력한 경우에 발생 ○ FROM 절에서 참조하는 테이블이나 뷰가 존재하지 않거나 사용자가 해당 테이블에 대한 접근 권한이 없는 경우에 발생 □ ORA-00904 : 열명이 부적합합니다(invalid column name) ○ 사용자가 칼럼 이름을 잘못 입력한 경우 □ ORA-00923: 누락된 표현식(FROM keyword not found WHERE expected) ○ SELECT 절에서 지정한 칼럼 별명 다음에 오는 칼럼 이름 사이에 콤마(,)를 누락한 경우 ○ SELECT 절의 맨 마지막 칼럼에 콤마를 추가한 경우 ○ FROM 키워드를 잘못 입력한 경우에.. 2024. 1. 16.
DB 계정생성 및 권한부여 □ 사용자 추가 create user '계정명'@localhost identified by '비밀번호'; □ 사용자 삭제 drop user '계정명'@locallhost; □ mysql 로그인(계정명, 비밀번호) mysql -u계정명 -p □ 모든 데이터베이스에 접근권한 부여 grant all privileges on *.* to '계정명'@localhost identified by '비밀번호' with grant option; □ 특정 데이터베이스에 특정권한 접근 허용 GRANT ALL privileges ON DB명.* TO '계정명'@locahost IDENTIFIED BY '비밀번호'; □ 특정 데이터베이스에 조회, 입력, 수정(select, insert, update)권한 부여 grant sel.. 2024. 1. 15.
MySQL 환경세팅 및 데이터베이스 생성/선택/확인(CMD) □ MySQL 설치 ○ https://downloads.mysql.com/archives/community/ 에서 다운 □ MySQL 환경세팅 ○ CMD 창을 열고 아래 코드입력 및 비밀번호 입력 mysql -uroot -p ※ 만약 위와 같이 입력을 했는데 mysql 전환이 안된다면 아래와 같이 환경세팅을 진행해야함 ① C:\Program Files\MySQL\MySQL Server 8.1\bin : mysql bin 폴더 경로 복사 ② 아래 그림과 같이 환경변수 세팅 진행하며 편집에 복사한 경로를 붙여넣고 재시도 함 □ Mysql 계정/비번 입력 후 데이터베이스 확인 show databases; ※ 데이터베이스가 없다면 아래와 같이 데이터베이스를 생성하는 쿼리를 작성. 위 사진은 작성자가 weapon.. 2024. 1. 15.
테이블명 변경쿼리 □ Mysql 기준 테이블명 변경쿼리문 : Alter Table + 기존 테이블명 + RENAME TO + 변경하고자하는 테이블명 ALTER TABLE 기존 테이블명 RENAME TO 변경하고자하는 테이블명; 2023. 11. 6.
[SQLD] SQL 개발자 자격증 취득 스터디 내용 정리 □ 시험준비과정 ○ 본격적으로 공부에 임하여 1달간 준비후 시험에 임함 ○ 총 2회 시험에 임했으며 초기 시도에는 공부를 안하고봤고 마지막 시도때는 공부를 하고 임했음 ○ 초기 당시에 공부를 안하고 시험에 임했지만, 난이도는 많이 어려웠던것으로 기억함 (참고로 작성자는 IT 쪽에서 DB관리 및 DB 모델링 직무를 겸임하고 있음) ○ 생각보다 어려워, 인강수강을 병행하며 시험에 임한 결과 합격함 ○ 세부 공부방법 - 인강병행하며 쿼리문은 직접 작성하며 외우다시피 실습/복습을 반복함 - 1과목 이론적인 부분들은 따로 문서화(첨부파일과 같이)하여 외우기보다는 하루에 두번씩 읽었음 → 자연스럽게 외워짐 - 문제풀이 → 첫 시험때 튜닝/쪽에서 많이 출제된 것으로 기억하여 튜닝쪽을 문제 풀이시 반복했지만 막상 2차.. 2023. 10. 30.
역정규화(반정규화) □ 효율을 위해서 정규화된 결과의 일부를 수정하여 중복허용 ○ 정규화되지 않은 상태에서 중복을 허용하는 것과는 다름 ○ 대부분 JOIN 시 발생되는 엄청난 계산량을 해결하기 위해서 사용 □ 역정규화(반정규화)진행시 고려사항 ○ 무결성 저하 주의 ○ 조회 속도는 향상되나, 입력/수정/삭제는 속도 저하됨 ○ DB저장공간 효율 저하 ○ 유지보수가 어려워지며 테이블 등 확장성이 매우 저하됨 * 정규화가 잘되어 있다면 데이터 입력/수정 효율 ↑ but 과도한 조인유발을 야기할 수 있어 조회시 효율 ↓ * 이를 위해 역정규화를 필요시 판단하여 적용해야함. 2023. 10. 27.