본문 바로가기

🎪 놀고있네/MS SQL17

ORM(Object relational Mapping)이란? 안녕하세요 냥장판 입니다🐱‍👤🐱‍👤 이번 게시글에서는 SQL ORM(Object relational Mapping)에 대해서 알아보도록 하겠습니다. 1. ORM이란 데이터베이스와 객체 지향 프로그래밍 언어 (Python, node JS 등)간의 호환되지 않는 데이터를 변환, 맵핑하는 프로그래밍 기법이다. 객체 지향 프로그래밍언어(OOP, Object Oriented Programming)는 클래스라는 개념이 있고, RDBMS 에는 테이블이라는 개념이 있다. OOP를 사용해서 작성된 클라이언트 프로그램이 압도적으로 많다. OOP를 사용하는 데 제약을 받지 않고, RDBMS를 이용하기 위한 프레임워크(Framework)로 이해하면 된다. 한 예로 클래스로 스키마(Schema)를 매핑하고, 메소드(Method.. 2020. 1. 3.
[SQL Server] 테이블/데이터 지우기(TRUNCATE, DELETE, DROP) 안녕하세요 냥장판 입니다🐱‍👤🐱‍👤 이번 게시글에서는 삭제에 대한 SQL 문을 살펴보도록 하겠다. 삭제할 수 있는 명령어는 DELETE, DROP, TRUNCATE 이다. 우선 아래와 같은 테이블을 만들고, 데이터를 삽입했다. 아래는 VS Code 에서 SELECT를 실행한 화면이다. 참고하면 된다. Database, Table 생성하고 데이터 삽입하는 코드는 아래를 참고하면 된다. /* Database 생성하기 */ USE master GO IF NOT EXISTS ( SELECT name FROM sys.databases WHERE name = N'TutorialBasic' ) CREATE DATABASE [TutorialBasic] GO /* Table 생성하기 */ USE [TutorialBasi.. 2019. 12. 30.
[SQL Server] 국가별 날짜 형식 적용하기 목표: 국가별 날짜 형식 적용하는 함수 사용하기 요약 CONVERT 함수, Style 변수 사용하기 안녕하세요 냥장판 입니다🐱‍👤🐱‍👤 국가별로 날짜를 작성하는 형식이 상이합니다. 2019년 12월 25일을 작성하는 방법이 유럽에선 25.12.2019 미국에선 12/25/2019 일본에선 2019-12-25 이 처럼 다 다릅니다. MS SQL Server 에서는 일부 국가들에 대해 날짜 또는 시간 형식 스타일을 제공합니다. 1. CONVERT 함수 CONVERT 함수는 날짜, 시간 데이터 형식을 여러개의 스타일로 제공합니다. CONVERT Syntax는 아래와 같습니다. CONVERT (data_type(length), expression, style) data_type 대상 데이터 형식입니다. 여기에는.. 2019. 12. 26.
[SQL Server] 문자 합치기(CONCAT, CONCAT_WS) 목표: 문자 합치기(CONCAT, CONCAT_WS) 요약 구분자를 넣을 수 있는 CONCAT_WS 안녕하세요 냥장판 입니다🐱‍👤🐱‍👤 이번 게시글에서는 테이블에 있는 컬럼의 문자열을 합쳐서 표시하는 것을 해보겠습니다. Excel 에도 문자를 연결시키는 CONCAT concatenate 함수가 있다. MS SQL Server도 마찬가지로 CONCAT 이라는 이름의 함수가 있다. CONCAT은 concatenate(연결하다, 결부시키다, 연관시키다) 단어의 줄임말이다. 아래와 같은 테이블이 있다. 여기서 Name, KoreanName, Role 컬럼의 문자열을 합쳐보겠다. DBMS별 문자 연결 방법 테이블에서 문자열 컬럼1과 문자열 컬럼2를 결합시키는 방법은 DBMS 별로 다르다. 특히 연결 연산자가 그렇.. 2019. 12. 25.
[SQL Server] 글자가 입력은 되는데 저장이 안되요! 😒 목표: 글자가 입력은 되는데 저장이 안되는 현상의 원인을 파악해보자 요약 데이터 형식 확인하기 Unicode 형식으로 입력 받는지 확인 이런 경험이 있을거다. 이모티콘까지 열심히 써가면서 글을 작성했는데, 저장을 누르고 보니 내가 입력한 이모티콘이 다 사라진 경우. 그래서 난 상냥하게 글을 작성했는데, 저장된 내 글은 완전 진지하고 근엄해진 경우. 입력할 때는 잘만 되던 문자들이 왜 저장하니까 사라지나!!! Database 관점에서 이를 분석하고 해결방법을 찾아보겠다. 티스토리 QA가 이 글을 봤으면 좋겠다!!!! 티스토리를 예로 설명을 하겠다. 영상을 꼭 봤으면 좋겠다. 난 분명 아래그림처럼 입력을 했다. 입력할 때는 잘 나오던 이모티콘인데, 이게 도대체 뭔가!! 왜 저렇게 저장이 되는것인가!!! 티스.. 2019. 12. 9.
[SQL Server] Database 의 스키마 확인하기 목표: MS SQL Server의 스키마 확인하기 Database의 Schema(스키마)는 DB의 자료구조를 나타낸다. 내가 사용중인 MS SQL Server에서도 스키마를 쉽게 확인 할 수 있다. 이 스키마들 중에 어떤 스키마 정보를 확인해야 할까? INFORMATION_SCHEMA를 통해 System Information Schema를 확인 할 수 있다. 이 스키마 안에 Columns 라는 뷰를 통해 정보를 확인할 수 있다. 난 Information schema의 모든 columns의 내용을 확인하고 싶어 아래와 같이 쿼리를 작성해보았다. Database: TutorialBTSDB Table: BTS_Members 결과는 아래와 같다. Columns View 에서 제공하는 정보는 아래와 같다. 자세한.. 2019. 12. 7.
[SQL Server] varchar, nvarchar 뭘 사용해야 하죠? 목표: varchar, nvarchar 차이점 파악하기 요약: 지원하는 Language Block의 차이 2019/11/14 - [놀고있네/MS SQL] - [SQL Server] 테이블 컬럼 추가 2019/11/15 - [놀고있네/MS SQL] - [SQL Server] Collation, 언어별 정렬하기 varchar 데이터 형식을 갖는 컬럼을 추가했다. nvarchar 데이터 형식을 갖는 컬럼을 추가했다. 각 컬럼의 character set, collation 정보를 확인하기 위해 아래와 같이 쿼리를 작성했다. varchar 데이터 형식은 iso_1 인코딩을 따르고, nvarchar 데이터 형식은 Unicode 인코딩을 따르는 것을 확인할 수 있다. 이 문자를 입력해봤다. 문자가 입력은 됐는데, ?.. 2019. 12. 6.
[SQL Server] 서브쿼리(Subquery) 란? 목표: 서브쿼리(Subquery) 사용법 익히기 일반적으로 서브쿼리는(Subquery)는 하나의 절(SELECT, INSERT, UPDATE, DELETE) 안에 포함(nested or inside)되어 있는 또 다른 SELECT 문을 말한다. 외부에 있는 절을 메인쿼리(외부쿼리, Outer query), 내부에 있는 SELECT문을 서브쿼리(내부쿼리, Inner query)라고 합니다. * 흔히 SELECT 문 안에있는 SELECT 문이라고 설명하고 있지만, 엄밀히 따지면 SELECT절 이외에도 INSERT, DELECT, UPDATE 절에서도 사용할 수 있다. SELECT, INSERT, UPDATE, DELETE 절에서 사용되는 서브쿼리에 대한 그림들이다. 1. 서브쿼리 위치 서브쿼리가 위치할 수 .. 2019. 11. 29.
[SQL Server] MERGE 사용하기 (INSERT & UPDATE & DELETE) 목표: MERGE 사용하기 (INSERT & UPDATE & DELETE) 요약 target, source table 고려하기 Merge 올바르게 사용하기 지난 게시글 꼭 참고하길 바란다. 2019/11/27 - [놀고있네/MS SQL] - [SQL Server] MERGE 사용하기 (INSERT & UPDATE) [SQL Server] MERGE 사용하기 (INSERT & UPDATE) 목표: MERGE 사용하기 (INSERT & UPDATE) 요약 target, source table 고려하기 Merge 올바르게 사용하기 MERGE 개념: target table에 source table을 INSERT, UPDATE, DELETE 하는 것 이 게시글은 INSERT & UPDAT.. miaow-miaow.. 2019. 11. 27.