SQL(5)
-
[SQL] 프로시저/함수 정의, 사용 예제
프로시저 DBMS에서 제공하는 프로그래밍 기능으로 개발을 하다보면 여러 개의 칼럼을 조회하거나 여러 테이블에서 데이터 추출을 할 때 하나의 쿼리문으로 생성하면 가독성이 떨어지게 됩니다. 이를 해결하기 위해서 DB에 일련의 작업을 메서드 형식으로 저장하며 이를 프로시저라고 합니다. 프로시저는 어떤 동작을 일괄적으로 처리하는 용도로 사용되며 한번의 요청으로 여러 SQL문을 실행시킬 수 있기 때문에 네트워크 부하를 줄일 수 있습니다. 함수 함수는 여러 작업을 위한 기능으로 보통 로직을 도와주는 역할을 하며 계산, 수치 등을 나타낼 때 사용한다. 프로시저의 리턴값은 필수가 아니고 여러개의 리턴값을 가질 수 있는 반면 함수는 반드시 하나의 리턴값을 반드시 가져야 합니다. 함수는 프로시저를 포함하고 있는 개념으로 ..
2023.12.07 -
[MS-SQL] 데이터 타입 변환하기(CONVERT, CAST)
MSSQL에서 데이터 타입 변환을 하기 위해 사용되는 것이 CONVERT함수와 CAST 함수가 있습니다. Convert -날짜 변환하는데 유용하게 사용 CONVERT(data_type(length), expression(style)) --style이 NULL이면 NULL값이 반환 --EX SELECT CONVERT(NVARCHAR(5), 칼럼) AS 칼럼명 FROM 테이블 SELECT CONVERT(INT,칼럼) AS 칼럼명 FROM 테이블 CONVERT 함수 날짜 변환표 CAST CAST(expression AS data_type(length)) --EX SELECT CAST(칼럼 AS INT) FROM 테이블
2023.12.06 -
[DB]Database(DB),DBMS, SQL 이해와 종류
비전공 개발자로 일하면서 기본이 부족하다고 느낄 때가 많았다. 특히 어렴풋이 알고 있는 사실을 남들에게 이야기할 때가 제일 난감한데 차근차근 정리해보고자 한다. 데이터베이스(Database) :데이터를 모아 놓은 저장소 DBMS(Database Management System) : DB를 운영하고 관리하는 소프트웨어. 계층형, 망형, 관계형 등 다양하지만 대부분 관계형 DBMS형태로 사용된다. SQL(Structured Query Language) : 구조화된 질의 언어라는 뜻으로 관계형 데이터베이스에서 사용되는 언어 데이터베이스(Database)란? 데이터베이스를 한 마디로 정의하면 ‘데이터의 집합’이라고 할 수 있습니다. 데이터베이스는 우리 일상의 대부분의 정보가 저장되는데, 예를 들어 카카오톡의 대..
2023.11.20 -
[MySQL] MySQL 알아두면 좋은 문법 정리
1. DATE_FORMAT DATE_FORMATE을 사용하여 원하는 날짜 형태로 만들 수 있다. SELECT MEMBER_ID, MEMBER_NAME,GENDER, DATE_FORMAT(DATE_OF_BIRTH,'%Y-%m-%d') AS DATE_OF_BIRTH FROM MEMBER_PROFILE WHERE MONTH(DATE_OF_BIRTH) = "3" AND GENDER = 'W' AND TLNO NOT LIKE "NULL" ORDER BY MEMBER_ID FORMAT 설명 %Y 연도(1992,2000) %y 연도(85,00,13) %M 월(Janeary, December) %m 월(02,03,06) %c 월(2,5,7) %b 월(Jan, Dec) %d 일(00,03,10) %e 일(1,6,8,12..
2023.11.20 -
[MS-SQL]WITH(NOLOCK)이란, 사용법
MSSQL의 기본 격리 수준(Isolation Level)은 Read Committed이다. 그로 인해 SELECT 시 공유장금(S Lock)이 걸리게 되는데 이는 DML(INSERT, UPDATE, DELETE) 작업 중인 ROW 또는 TABLE에 SELECT를 할 경우 작업이 모두 끝나고 SELECT가 진행된다. 이럴 경우 DB의 성능이 떨어지고, 데드락(Deadlock)이 발생할 수 있다. 이를 방지하기 위해 사용하는 것이 WITH(NOLOCK)이다. WITH(NOLOCK)의 격리수준(Isolation Level)은 Read Uncommitted와 같다. 다른 작업 중에도 SELECT 가 실행되면 조회를 진행한다. 주의할 점이 있다면 Committed되지 않은 데이터를 읽어오기 때문에 트랜잭션이 R..
2023.11.10