SQL

CUSTOMER DATA2

Bordercolli 2023. 8. 8. 08:53
728x90

비교/논리연산자

 

%와 _의 차이점 

앞에 붙였을 때

뒤에 붙였을 때

정리

 

%를 wildcharacter라고 하고 가장 많이 사용하는 형태는

이렇게 하면 앞뒤로 paul만 포함되어 있다면 다 출력이 가능하다.

 

IS NULL

: 데이터가 다 비어있는 것을 출력하겠다.

이렇게 작성하면 된다.

현재 우리는 NULL 값이 없다. 그러니 일단 NULL값을 임의로 삽입해보자

 

신기한거 발견함

101      101     -> 차례로 or연산자와 and연산자

111       111

-----      -----

111       101

 

비교연산자와 논리연산자와 합쳐서 여러가지 연산을 해보도록 한다.

고객 ID가 80을 초과하는 것만 출력을 하겠다.

보통은 ==으로 하는데 여기서는 =으로 한다. 이건 일반 프로그래밍 언어와는 좀 다르다. 그러면 ==은 가능할까???

둘 다 가능하게 해두긴 했다. 이 점은 조금 편리해보인다. 

*를 하면 내가 원하는 레코드만 출력시킬 수 있게 한다. 

 

다양한 조건문을 사용하여 AND와 OR의 차이점을 확인해보자 ▼

Customers테이블에 고객 id가 50을 초과하거 도시가 런던이 아닌 모든 레코드를 출력하라. 

NULL값 만드는 방법

INSERT INTO 해서 Customers에 customername, city, country 열에 leehojun, jejusi, korea해서 실행을 시켜보면

결과창에 데이터가 하나 들어간 모습을 확인할 수 있다. 

 

run sql을 3번 눌러본다. 

그리고 다시 아래와 같이 코드를 작성해본다. 

이렇게 하면 고객이름과 도시, 국가에는 해당값들이 채워진 모습들을 확인할 수 있지만 나머지 값들은 모두 null로 들어가 있다. 

Address값이 null인 값인 레코드만 출력해준다. 그래서 92~94까지 출력이 되었다.

 

IS NOT NULL도 가능하다.

이러면 Address값이 null이 아닌 레코드만 출력을 하게 된다. 

 

UPDATE

: 속성 값을 바꾼다. (주의 : 한 번 이루어지면 되돌릴 수 없음.) 

 

CustomerName, city, country의 값을 바꾼다. 

Customers데이터에서 CustomerID가 1인 레코드의 CustomerName을 하르방, city를 한라산, country를 선계라고 변경한다. 이러면 하나의 레코드가 영향을 받았다는 문구를 확인할 수 있다. 

 

모든 레코드가 영향을 받았다는 것을 확인할 수 있다. 

OMG

요즘은 RDBMS에서 이러한 기능을 보완하기 위한 서비스를 제공하고 보통은 백업을 하기 때문에 괜찮다. 다만 UPDATE사용시 매우 주의해야 한다!!!!

 

데이터 지우기

이것도 마찬가지로 WHERE을 안적어주면 다 지워진다. 

 

Country가 'germany'인 것만 지워보자.

TOP

country가 germany인 것들이 지워지면서 레코드들이 띄엄띄엄 출력된 모습을 확인할 수 있다. 

top3라서 1~3번까지 출력을 하게 된다.

 

PERCENT를 입력하여도 똑같은 값이 출력되는 것을 확인할 수 있다. 

 

LIMIT 

TOP 3와 똑같은 결과가 나온 모습을 확인할 수 있다. 

 

CREAT/ DROP

CREATE: DB나 테이블을 만들 수 있게 해준다. 

DROP : DB나 테이블을 삭제할 수 있게 해준다. 

하지만,,,데이터는 소중하므로 여기서는 하지 않겠다...언젠간 기회가 있기를 

 

많이 쓰는 명령어: SHOW DATABASE , TABLES, DESCRIBE TABLENAME 

-> DB전체 목록이 뜨게 되고, TABLES도 마찬가지로 전체 테이블이 뜨게 된다.

-> DESCRIBE TABLENAME 은  이 테이블 네임에서 각각의 컬럼값들이 어떤 형태의 데이터를 가지고 있는지 출력해준다.

'SQL' 카테고리의 다른 글

SQL 조건문  (0) 2023.08.09
SQL로 함수 사용하기  (0) 2023.08.09
PRODUCT DATA  (0) 2023.08.07
CUSTOMER DATA1  (0) 2023.08.07
데이터베이스와 SQL의 기초  (0) 2023.08.07