-sql server 기준..

SELECT

SQL에서 데이터를 검색할때 사용하는것이 SELECT문장이다. 기본적인 형태는 다음과 같다.

SELECT * FROM Customers;

말 그대로 Customers table에서(from) 데이터를 선택해(select) 가져온다.

스타 기호(*)는 지정한 테이블의 모든 열(column)을 가져오겠다는 의미이다.

SELECT *와 FROM 사이에는 빈칸이 얼마나 들어가도 상관 없다. 세미콜론(;)을 쓰면 문장을 끝마칠 수 있다.

 

주석

주석을 표현하는 법은 두가지가 있다.

--(내용) 

/* (내용1)

(내용2)*/

대시를 두 번 쓰면(--) 해당 라인이 주석처리 되고,

/* (주석) */을 쓰면 사이에 들어간 모든 텍스트가 주석처리된다.

 

열 명시

SELECT * FROM 문장은 테이블의 모든 열을 불러오게 된다.

만약 해당 테이블에서 원하는 열만 불러오고싶다면 문장에 명시할 수 있다.

SELECT 다음에 *자리에 불러올 행의 갯수를 명시할 수 있다. (top(행의 갯수))

SELECT와 FROM 사이에는 원하는 열을 명시하면 해당 열만 불러오게 된다. (FirstName, LastName)

FROM은 어떤 DB의 dbo의 테이블을 가져올지 명시할 수 있다. ([wh].[dbo].[Customers])

특정 키에 띄어쓰기가 들어갈 때에는 대괄호([ ])로 묶어주면 된다.

 

 

'DB > 관계형 DB' 카테고리의 다른 글

함수  (0) 2021.03.31
계산영역과 별칭  (0) 2021.03.25
데이터 형식  (0) 2021.03.24
기본키와 외래키  (0) 2021.03.24
SQL SERVER 2019 / SSMS 설치  (0) 2021.03.24

관계형 데이터베이스에서 사용 가능한 데이터 형식은 굉장히 많다.

int 숫자

 

varchar(30) 30글자

 

date 2021-03-31 년/월/일

 

datetime 2021-03-31 21:25:59 년/월/일 + 시간

 

time 21:25:59 시간

 

timestamp 1617225497 (1970년01월01일부터 지난 시간만큼 밀리초로)

 

아는것 이것뿐...

'DB > 관계형 DB' 카테고리의 다른 글

함수  (0) 2021.03.31
계산영역과 별칭  (0) 2021.03.25
SELECT  (0) 2021.03.25
기본키와 외래키  (0) 2021.03.24
SQL SERVER 2019 / SSMS 설치  (0) 2021.03.24

키(Key)는 데이터베이스에서 조건을 만족하는 로우(row)를 찾거나 순서대로 정렬할 때 로우들을 서로 구분할 수 있는 기준이 되는 속성을 말한다.

기본키(Primary Key)는 테이블 안에서 특정 행을 찾는데 이용되고, 테이블과 테이블 간의 관계를 연결할 수 있게 해준다.

기본키의 특징은 다음과 같다.

1. 고유한 값을 가져야 한다.
2. NULL 값은 허용하지 않는다.
3. 키 값의 변동이 일어나지 않아야 한다.
4. 최대한 적은 수의 속성을 가진것이어야 한다.
5. 향후 키를 사용하는데에 있어 문제 발생 소지가 없어야 한다.

외래키(Foreign Key)는 다른 릴레이션의 기본키를 참조하는 속성을 말한다. 

(Customer ID, FirstName, LastName)을 키로 갖는 테이블과 (OrderID, CustomerID, OrderAmount)을 키로 갖는 테이블의 관계를 보면 첫번째 테이블의 기본키인 Customer ID를 두번째 테이블이 외래키로 가지고 있다.

CustomerID FirstName LastName
1 Bob Davis
2 Natalie Lopez
3 Connie King
OrderID CustomerID OrderAmount
1 1 50.00
2 1 60.00
3 2 33.50
4 3 20.00

이같은 테이블간 관계 연결이 중요한 이유는 데이터의 중복을 줄여 자원을 절약할 수 있기 때문이다. 

'DB > 관계형 DB' 카테고리의 다른 글

함수  (0) 2021.03.31
계산영역과 별칭  (0) 2021.03.25
SELECT  (0) 2021.03.25
데이터 형식  (0) 2021.03.24
SQL SERVER 2019 / SSMS 설치  (0) 2021.03.24

이 책을 공부하며 포스팅할 예정이다.

SQL을 공부하기위해 교재를 구매했다.

이에 필요한 프로그램을 설치하는데, 중간에 오류가 나면서 설치가 안되는 문제가 발생했는데...

알고보니 난 설치한적도 없는(다른 SDK를 설치하며 깔린듯 하다.) SQL SERVER 2014와 충돌을 일으켜서 설치가 안되는것이었다.

혹시라도 다음에 다시 세팅할 일이 생기면 기억해두어야겠다.

교재의 예제코드

SSMS는 SQL SERVER 설치가 끝나면 설치버튼이 뜬다. 바로 설치해주자.

설치 완료.

'DB > 관계형 DB' 카테고리의 다른 글

함수  (0) 2021.03.31
계산영역과 별칭  (0) 2021.03.25
SELECT  (0) 2021.03.25
데이터 형식  (0) 2021.03.24
기본키와 외래키  (0) 2021.03.24

 

캐릭터 정보를 입력해 서버에 요청을 보내는 index페이지이다.

form으로 캐릭터 정보를 입력하는 페이지를 만들었다.

$(#characterData).serialize는 input의 name과 value를 묶어주는 jQuery 함수이다.

"characterName=젤리곰전사&server=azshara&level=10" 이런식으로 string형태로 묶인다.

이후 res.render함수를 실행해주면 페이지가 출력된다.

캐릭터의 프로필, 던전 진척도, 캐릭터 썸네일 이미지, 장비 데이터와 이미지 등을 불러올것이다.

해당 데이터를 request하는 함수를 작성한 후, waterfall로 정리를 해줄것이다.

post를 보낼때 기본 형태가 app.post('/', function (req, res) { res.send('POST request to the homepage') })이고, 두번째 인자로 들어가는 함수의 req에 클라이언트 페이지에서 요청할때 보낸 파라미터가 포함되어있다.(이 경우에는 캐릭터 이름, 서버, 레벨)

checkTimeStamp는 이미 검색한적 있는 캐릭터일 경우, 일정 시간이 지났을때만 다시 검색하게 하는 함수이다.

밀리초를 가지고 계산하기때문에 헷갈리기 쉬운데, day 변수에 할당된것처럼 원하는 시간의 계산식을 사용하는것이 편하다.

해당 함수에서는 검색한지 하루가 지나야 새로 검색하도록 설정했다.

getProfile부터 아래의 함수들은 이전 포스팅에서 만들었던 함수들을 수정한것이다.

이전 클라이언트에서 작성한 함수들은 axios를 이용한 통신이었지만, 이번에는 request를 이용한다.

통신에 이용되는 파라미터는 request의 첫번째 인자에 넣는다. 두번째 인자 함수의 body에 내가 요청한 데이터가 등록되어있다. 기본적으로 문자열로 되어있으므로 JSON.parse()를 이용해 json객체로 변환해준다.

나머지 함수들은 이전 포스팅에서 통신 부분만 수정한 형태이기 때문에 생략한다.

마지막으로 waterfall의 result를 DB에 저장하고, res.send()를 보내주면 끝이다.

+ Recent posts