728x90
반응형

SQL 19

MSSQL 이거 하나면 끝! 숨은 기능大공개

11. 문자열 결합 (STRING_AGG)SELECT 부서, STRING_AGG(이름, ', ') AS 팀원들 FROM 직원 GROUP BY 부서;→ 부서별로 직원 이름을 쉼표로 연결해 출력📌 12. 변경 데이터 추적 (OUTPUT)UPDATE 상품 SET 가격 = 가격 * 1.1 OUTPUT inserted.상품명, deleted.가격 AS 기존가, inserted.가격 AS 신규가 WHERE 카테고리 = '전자제품';→ 가격 변경 시 기존/신규 값 동시 확인📌 13. 랜덤 데이터 추출SELECT TOP 5 * FROM 상품 ORDER BY NEWID(); -- NEWID() 사용SELECT TOP 1 * FROM 상품 WHERE ID >= (RAND() * (MAX(ID)-MIN(ID)..

DB/SQL 2025.05.12

MSSQL 핵심 구문 + 실전 응용법!!

MSSQL 자주 쓰는 구문 & 살짝 응용 – 쉽게 정리!1. 데이터 조회 (SELECT)SELECT * FROM 테이블명;테이블의 모든 컬럼과 데이터를 한 번에 조회.SELECT 컬럼1, 컬럼2 FROM 테이블명;원하는 컬럼만 골라서 조회.2. 조건 검색 (WHERE)SELECT * FROM 테이블명 WHERE 컬럼명 = '값';특정 조건에 맞는 데이터만 조회.SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '%검색어%'; LIKE로 패턴(부분 일치) 검색도 가능.3. 정렬 (ORDER BY)SELECT * FROM 테이블명 ORDER BY 컬럼명 ASC; -- 오름차순SELECT * FROM 테이블명 ORDER BY 컬럼명 DESC; -- 내림차순데이터 정렬해서 보기 좋게.4. 데이터 추..

DB/SQL 2025.05.12

C# LINQ 완전 정복: 데이터 처리의 혁명!

LINQ를 활용한 데이터 처리LINQ(Language Integrated Query)는 C#에서 데이터를 쿼리하고 처리하는 강력한 기능으로, 다양한 데이터 소스에 일관된 프로그래밍 모델을 제공합니다. LINQ의 기본 개념LINQ는 C# 언어에 통합된 쿼리 기능으로, 배열, 컬렉션, XML, 데이터베이스 등 다양한 데이터 소스에 대해 동일한 구문으로 쿼리를 작성할 수 있습니다. SQL과 유사한 구문을 사용하기 때문에 데이터베이스에 익숙한 개발자들이 쉽게 배울 수 있습니다. LINQ의 주요 종류1. LINQ to Objects: 메모리에 있는 컬렉션이나 배열에 대해 쿼리를 수행합니다.List numbers = new List { 1, 2, 3, 4, 5 };var evenNumbers = from n..

C# 2025.05.09

이것은MySQL이다 - 전체 텍스트 검색과 파티션

전체 텍스트 검색 전체 텍스트 검색 개요전체 텍스트 검색긴 문자로 구성된 구조화 되지 않은 텍스트 데이터(예로, 신문 기사) 등을 빠르게 검색하기 위한 부가적인 MySQL의 기능저장된 텍스트의 키워드 기반의 쿼리를 위해서 빠른 인덱싱 가능 전체 텍스트 검색신문 기사 검색교통’을 키워드로 가진 기사 검색 키워드가 중간에 들어간 경우 인덱스 사용 불가, 서버에 엄청난 부하 발생 전체 텍스트 인덱스전체 텍스트 인덱스(FULLTEXT Index) 생성텍스트로 이루어진 문자열 데이터의 내용으로 생성한 인덱스텍스트 인덱스 생성 형식 텍스트 인덱스 생성 형식 전체 텍스트 인덱스의 특징InnoDB와 MyISAM 테이블만 지원char, varchar, text의 열에만 생성 가능인덱스 힌트 사용 일부 제한여러 개 ..

DB/SQL 2023.02.10

이것이MySQL이다 - 03) 스토어드 프로그램

트리거 트리거(Trigger)의 개요트리거란?사전적 의미로 ‘방아쇠’방아쇠 당기면 ‘자동’으로 총알이 나가듯이 테이블에 무슨 일이 일어나면 ‘자동’으로 실행제약 조건과 더불어 데이터 무결성을 위해 MySQL에서 사용할 수 있는 기능테이블에 DML문(Insert, Update, Delete 등) 이벤트가 발생될 때 작동테이블에 부착되는 프로그램 코드직접 실행 불가테이블에 이벤트 일어나야 자동 실행IN, OUT 매개 변수를 사용할 수 없음MySQL은 View에 트리거 부착 불가 트리거 실습testDB에 테이블 생성-- 트리거 : 테이블에 DML(i, u, d)문이 실행 될때 자동으로 SQL문을 실행create database if not exists testDB;use testdb;create table ..

DB/SQL 2023.02.10

이것이MySQL이다 - 02) 스토어드 프로그램

스토어드 함수 스토어드 함수 (Stored Function)사용자가 직접 만들어서 사용하는 함수스토어드 프로시저와 유사형태와 사용 용도에 있어 차이 있음스토어드 함수의 개요 스토어드 함수와 스토어드 프로시저의 차이점스토어드 함수파라미터에 IN, OUT 등을 사용할 수 없음모두 입력 파라미터로 사용RETURNS문으로 반환할 값의 데이터 형식 지정본문 안에서는 RETURN문으로 하나의 값 반환SELECT 문장 안에서 호출함수 안에서 집합 결과 반환하는 SELECT 사용 불가SELECT… INTO… 는 집합 결과 반환하는 것이 아니므로 예외적으로 스토어드 함수에서 사용 가능어떤 계산 통해서 하나의 값 반환하는데 주로 사용 스토어드 프로시저파라미터에 IN, OUT 등을 사용 가능별도의 반환하는 구문이 없음필요..

DB/SQL 2023.02.10

이것이MySQL이다 - 01) 스토어드 프로그램

스토어드 프로시저 스토어드 프로시저의 개요스토어드 프로시저(Stored Procedure, 저장 프로시저)MySQL에서 제공되는 프로그래밍 기능쿼리문의 집합으로 어떠한 동작을 일괄 처리하기 위한 용도로 사용쿼리 모듈화필요할 때마다 호출만 하면 훨씬 편리하게 MySQL 운영CALL 프로시저_이름( ) 으로 호출 기본 형식 스토어드 프로시저 생성 예 스토어드 프로시저의 수정과 삭제수정 : ALTER PROCEDURE삭제 : DROP PROCEDURE매개 변수의 사용입력 매개 변수를 지정하는 형식입력 매개 변수가 있는 스토어드 프로시저 실행 방법 매개 변수의 사용출력 매개 변수 지정 방법출력 매개 변수에 값 대입하기 위해 주로 SELECT… INTO문 사용출력 매개 변수가 있는 스토어드 프로시저..

DB/SQL 2023.02.10

이것이MySQL이다 - 02) 인덱스

인덱스 생성/변경/삭제 인덱스 생성인덱스 생성 문법 인덱스 제거인덱스 삭제 형식 간단히 인덱스 삭제하는 구문 인덱스의 성능 비교인덱스 없는 경우, 클러스터형 인덱스, 보조 인덱스를 설정하여 쿼리 속도 비교, 서버 부하 비교실습할 데이터베이스 만듬CREATE DATABASE IF NOT EXISTS indexdb;employees의 employees의 개수를 파악USE indexdb;SELECT COUNT(*) FROM employees.employees;테이블 3개로 복사CREATE TABLE emp SELECT * FROM employees.employees ORDER BY RAND();CREATE TABLE emp_c SELECT * FROM employees.employees ORDER B..

DB/SQL 2023.02.09

이것이MySQL이다 - 01) 인덱스

인덱스의 개념 인덱스(Index)란?책의 찾아보기>의 개념과 비슷데이터를 좀 더 빠르게 찾을 수 있도록 해주는 도구 인덱스의 장단점장점검색 속도가 무척 빨라질 수 있음 (항상 그런 것은 아님)쿼리의 부하가 줄어들어 시스템 전체의 성능 향상 단점인덱스가 데이터베이스 공간을 차지해서 추가적인 공간 필요대략 데이터베이스 크기의 10% 정도의 추가 공간 필요처음 인덱스 생성하는데 시간 소요데이터의 변경 작업 (Insert, Update, Delete)이 자주 일어나는 경우 성능이 나빠질 수도 있음 인덱스의 종류와 자동 생성 인덱스의 종류클러스터형 인덱스 (Clustered Index)‘영어 사전’과 같은 책테이블 당 한 개만 지정 가능행 데이터를 인덱스로 지정한 열에 맞춰 자동 정렬 보조 인덱스 (S..

DB/SQL 2023.02.09

이것이MySQL이다 - 02) 테이블과 뷰

테이블 테이블 압축압축 기능은 대용량 테이블의 공간 절약하는 효과MySQL 5.0부터 자체적으로 테이블 압축 기능 제공MySQL 8.0에서 내부적인 기능이 더욱 강화MySQL이 허용하는 최대 용량의 데이터도 오류 없이 압축 가능 테이블 압축예제 실습(P. 337~338) 테스트용 DB 생성 – 동일한 열을 지닌 간단한 두 테이블 생성하나는 열 뒤에 ROW_FORMAT=COMPRESSED문을 붙여서 압축되도록 설정 두 테이블에 데이터 30만 건 입력 쿼리 실행 결과 두 테이블 상태 확인SHOW TABLE STATUS FROM compressDB;실습한 DB 제거DROP DATABASE IF EXISTS compressDB; 임시 테이블 임시로 잠깐 사용되는 테이블 세션(Session) 내에서만 ..

DB/SQL 2023.02.08

이것이MySQL이다 - 01) 테이블과 뷰

테이블 테이블만들기 MySQL Workbench에서 테이블 생성Navigator – [Schemas] 클릭 – ‘tabledb’ 확장 – ‘Tables’ 마우스 오른쪽 버튼 – [Create Table] 선택 MySQL Workbench에서 테이블 생성usertbl 생성userID열을 기본 키(Primary Key)로 설정 MySQL Workbench에서 테이블 생성buytbl 생성num열을 기본 키(Primary Key)로 설정 테이블 만들기 MySQL Workbench에서 테이블 생성buytbl 생성num열에 AUTO_INCREMENT, FOREIGN KEY 추가 MySQL Workbench에서 데이터 입력Navigator에서 usertbl 선택 – 마우스 오른쪽 버튼 클릭 – [S..

DB/SQL 2023.02.08

이것이MySQL이다 - 02) SQL 고급

조인 조인(Join)조인 두 개 이상의 테이블을 서로 묶어서 하나의 결과 집합으로 만들어 내는 것종류 : INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN 데이터베이스의 테이블중복과 공간 낭비를 피하고 데이터의 무결성을 위해서 여러 개의 테이블로 분리하여 저장분리된 테이블들은 서로 관계(Relation)를 가짐1대 다 관계 보편적 INNER JOIN(내부 조인)조인 중에서 가장 많이 사용되는 조인 대개의 업무에서 조인은 INNER JOIN 사용일반적으로 JOIN이라고 얘기하는 것이 이 INNER JOIN 지칭사용 형식JOIN만 써도 INNER JOIN으로 인식함 조인 중에서 가장 많이 사용되는 조인 조인 중에서 가장 많이 사용되는 조인 OUTER JOIN(외부 ..

DB/SQL 2023.02.07

이것이MySQL이다 - 01) SQL 고급

MySQL의 데이터 형 MySQL에서 지원하는 데이터 형식의 종류Data Type으로 표현데이터 형식, 데이터형, 자료형, 데이터 타입등 다양하게 불림데이터 형식에 대한 이해가 필요한 이유SELECT문 더욱 잘 활용테이블의 생성 효율적으로 하기 위해 필요MySQL에서 데이터 형식의 종류는 30개 정도중요하고 자주 쓰는 형식에 대해 중점 학습 MySQL에서 지원하는 데이터 형식의 종류숫자 데이터 형식 문자 데이터 형식 날짜와 시간 데이터 형식 기타 데이터 형식 LONGTEXT, LONGBLOBLOB(Large Object, 대량의 데이터)을 저장하기 위해 LONGTEXT, LONGBLOB 데이터 형식 지원지원되는 데이터 크기는 약 4GB의 파일을 하나의 데이터로 저장 가능LONGTEXTex..

DB/SQL 2023.02.06

이것이MySQL이다 - SQL 기본

SELECT문 원하는 데이터를 가져와 주는 기본적인 구문가장 많이 사용되는 구문데이터베이스 내 테이블에서 원하는 정보 추출하는 명령 USE 구문SELECT문 학습 위해 사용할 데이터베이스 지정지정해 놓은 후 특별히 다시 USE문 사용하거나 다른 DB를 사용하겠다고 명시하지 않는 이상 모든 SQL문은 지정 DB에서 수행 employees를 사용하기 위해서는 쿼리 창에 다음과 같이 입력한다. Workbench 에서 직접 선택해서 사용도 가능[Navigator]의 [Schemas] 탭, employees 데이터베이스를 더블 클릭하거나 마우스 오른쪽 버튼을 클릭한 후 [Set as Default Schema]를 선택진한 글자로 전환, 왼쪽 아래‘Active schema changed to employe..

DB/SQL 2023.02.03

이것이MySQL이다 - 02) MySQL 유틸리티 사용법

◦[INSTANCE] 부분⁃[Server Logs]•서버에 기록된 오류, 경고, 방화벽 등의 로그 확인⁃[Options File]•MySQL의 핵심 설정 파일인 my.ini 파일파일 설정 내용을 GUI 모드로 보여줌 ◦[PERFORMANCE] 부분⁃[Dashboard]•네트워크, MySQL 서버, InnoDB의 상태를 그래픽으로 보여줌 ◦[PERFORMANCE] 부분⁃[Performance Reports]•입출력이 오래 걸린 파일, 비용이 많이 든 쿼리문, 데이터베이스 통계 등의 항목들 조회•결과 내보내기 가능⁃[Performance Schema Setup]•성능에 대한 설정•오른쪽 위 나 클릭하면 세부적인 설정 확인 가능 쿼리 창 (Query Editor)◦쿼리 문장(SQL 구문)을 입력/실..

DB/SQL 2023.02.02
728x90
반응형