본문 바로가기
컴퓨터/SQL Server

[SQL Server] View, DML, DDL, DCL

by 아기상어  2020. 6. 8.

마이크로서버는 ; 써도되고 안써도 되지만

 

다른 프로그램에서는 ; 써야댐

 

인덱스 : 책 제일뒤에 붙어있는 '찾아보기'와 같은 개념, 있든 없든 문제가 되지 않지만

          찾을때 인덱스가 있는게 더 빨리 찾을수 있다. 기본키와 같이 생김

 

 

뷰 : 가상의 테이블, V를 앞에 붙임 보통

 

SELECT memberID, memberAddress 
  FROM memberTBL;

아이디랑 주소만뜨게 할수있음

 

새뷰만들기

 

멤버아이디랑 어드레스만 체크하고 저장

 

SELECT memberID, memberAddress 
  FROM memberTBL;

SELECT * FROM v_memberTBL;

결과가 두개 나옴, 빨간줄은 오류가 아닐수도 있음.

 

 

저장 프로시저 : 메서드와 같음.

BEGIN = {

END = }

 

CREATE PROCEDURE myProc 
	-- Add the parameters for the stored procedure here
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for procedure here
	SELECT memberID FROM memberTBL;
	SELECT productName FROM productTBL;

 실행눌러야 저장댐

 

새쿼리 만들고

 

EXEC myProc;

 

 

백업 

 

ShopDB 컨텍스트메뉴 - 테스크 - 백업 하면

백업폴더에 백업파일 생김.

 

복원

 

테스크 - 복원 - 데이터베이스 들어가서

옵션을 손봐야함

 

복원전 비상 로그백업수행 체크해제

기존 데이터베이스 덮어쓰기

대상 데이터벵스에 대한 기존 연결 닫기

 

 

C# - 모든플랫폼 - 데스크톱

 

Windows Forms 앱

C에 SRC 폴더 만들어서 저장 소스, D있으면 D에다가

보기 - 서버탐색기

데이터연결 - 연결 추가

SQL Server 2019에다가 연결

 

서버는 자기 ip로다가 연결하고 ShopDB에 연결

도구상자 - DataGridView

 

그리드뷰에 재생버튼눌러서 소스추가

다시연결하고

데이터를 연결 문자열에 포함

저장할 연결 문자열 표시

이 연결문자열이 있어야 db와 데이터 주고받을 수 있음.

 

 

ShopDB 데이터베이스 스크립팅 CREATE() 새쿼리편집기창

쿼리창이 뜸

 

 

 

작업할 db 선택

 

 

 

USE ShopDB;
Go

쿼리창을 어느 db에서 하는지  확인해야함.

 

245p

 

SQL 3가지 분류 

 

DML, DDL ,DCL

DML - 데이터 조작하기 위한 언어

실무에서 CRUD라 부름 CRUD( Create(INSERT), Request(SELECT), U(Update), D(Delete) )

 

DDL - 데이터 정의 언어

CREATE / DROP 삭제 / ALTER 수정

트랜잭션을 발생시키지 않는다

 

DCL - 데이터 제어 언어

GRANTS / REVOKE / DENY

 

 

 

 

SELECT문 191p

 

SELECT *FROM ShopDB.dbo.memberTBL
--C#의 네임스페이스라 보면됨
SELECT memberID, memberName, memberAddress
  FROM ShopDB.dbo.memberTBL;

 

 

201p 실습

userTBL 컨텍스트메뉴 디자인

 

IDENTITY 넣으면 숫자가 1씩 자동 증가

PRIMARY KEY 는 무조건 NOT NULL

데이터베이스 다이어그램

 

WHERE 

 

GROUP BY - WHERE절에 못적음, 결과를 그룹으로 묶어줌

 

SELECT name, height
  FROM userTBL
  WHERE height = (SELECT MIN(height) FROM userTBL)
     OR height = (SELECT MAX(height) FROM userTBL);