본문 바로가기

Programming/데이터베이스18

[MongoDB] update()와 기존 데이터 수정하기 이번엔 CRUD에서 U(Update)를 담당하고 있는 업데이트와 관련한 함수를 알아보겠습니다. 지난 포스트에서 find()를 실습하며 만들어두었던 데이터베이스와 컬렉션을 이용하겠습니다. 1. update() db.컬렉션명.update({쿼리}, {업데이트값}, {옵션}) 도큐먼트는 update() 함수를 통해서 내용을 변경할 수 있습니다. 각 파라미터에 대해서 설명을 하겠습니다. 쿼리는 find()에서 검색을 위해 조건을 넣던 쿼리와 동일합니다. 이 쿼리로 변경할 도큐먼트를 찾습니다. 업데이트 값은 수정할 값을 적는 파라미터입니다. 옵션에는 upsert(찾는 값이 없으면 새로 추가), multi(여러 도큐먼트 변경) 등이 있습니다. 현재 다음과 같은 컬렉션이 있습니다. 여기에서 이름이 ed인 도큐먼트를 .. 2022. 2. 7.
[MongoDB] find()와 연산자 지난 포스트에서 내용을 확인하는 find()함수를 알아보았습니다. find() 함수 내부에서 다양한 연산자들을 조합하면, 원하는 데이터들을 쉽게 찾을 수 있습니다. 지난번에 실습하면서 모든 db를 지웠으므로 사전에 실습을 위한 db, 콜렉션을 만들어 두고 시작하겠습니다. use test //데이터베이스 생성 db.createCollection("testCollection") //컬렉션 생성 db.testCollection.insert([ {"name": "alex", "age": 23, "sex": "m"}, {"name": "triss", "age": 21, "sex": "f"}, {"name": "morgan", "age": 24, "sex": "f"}, {"name": "ed", "age": 21,.. 2022. 2. 2.
[MongoDB] 데이터베이스, 컬렉션 몽고디비에서 데이터베이스와 컬렉션을 만들고 이용하는 방법을 알아보겠습니다. 1. 데이터베이스 생성하기 시작하기 앞서 지금 어떤 데이터베이스가 있는지 알아보겠습니다. 현재 작업중인 데이터베이스를 확인하는 명령어는 db명령입니다. db 현재는 test라는 데이터베이스에서 작업중입니다. 실습을 위한 데이터베이스를 하나 만들어보겠습니다. 몽고디비에서 데이터베이스를 생성하는 명령어는 use입니다. use 데이터베이스명 use가 작업할 데이터베이스를 선택하는 일도 하지만, 지정한 데이터베이스명에 일치하는 데이터베이스가 없을 경우, 데이터베이스를 생성하기도 합니다. practice라는 이름의 db를 생성하고 선택까지 되었습니다. 현재 존재하는 데이터베이스를 확인하는 명령은 show dbs입니다. db가 생성되어 있더.. 2022. 1. 28.
[MongoDB] BSON BSON(Binary JSON)은 JSON의 이진 표현 방식입니다. JSON의 장점을 살려리면서도 JSON 보다 더 많은 데이터 유형을 가질 수 있다는 장점이있습니다. 또, 문자열 기반인 JSON은 해석하는데 이진 표현 방식보다 느릴 수 밖에 없기에 JSON 보다 더 빠른 속도를 가질 수 있습니다. 몽고디비에서는 데이터 레코드 저장하기 위한 방식으로 BSON을 이용합니다. 물론 관리자가 작성하고 볼 때는 JSON의 형태를 가지지만, 실제로 전송될 때는 이진 표현으로 만들어서 저장/송수신하게 됩니다. BSON은 JSON과 유사하게 키/값 쌍으로 이루어진 필드를 갖습니다. { 키: 값, 키: 값, ... } 위에서도 언급했지만 BSON은 JSON에 비해 더 많은 값을 가질 수 있다고 했습니다. JSON은 S.. 2022. 1. 27.
[MongoDB] 몽고DB 지난 포스팅까지는 SQL의 대표주자인 오픈소스 MySQL과 MySQL의 SQL 문법을 알아보았습니다. 이번에 소개드릴 데이터베이스는 몽고DB입니다. 왜 SQL을 배웠는데, 다른 것을 다시 배우는 지부터, 몽고 디비가 무엇인지까지도, 이번 포스트에서 소개해드리겠습니다. 1. NoSQL NoSQL은 이름에서 느낄 수 있듯이 SQL을 사용하지 않는 데이터베이스입니다. 사용하지 않는다고 했지만 이는 정확하지 않은 이야기이고, SQL을 사용할 수는 있으므로 No를 Not only라고도 부르기도 합니다. 그렇다면 SQL문을 사용하지 않았을 때의 장점은 무엇이길래 NoSQL이 등장하게 되었을까요? NoSQL 데이터베이스는 기존의 관계형 데이터베이스에 비해 융통성있고, 데이터를 다루는데 개선된 매커니즘을 다루고 있습니.. 2022. 1. 27.
[MySQL] 문자열 타입 숫자 타입에 이어서 MySQL의 문자열 타입에 대해 알아보겠습니다. MySQL의 문자열 타입은 단순히 문자열만을 저장하는 역할 외에도 이미지나 동영상 등의 바이너리 파일도 저장이 가능한 타입입니다. 1. CHAR, VARCHAR CHAR, VARCHAR는 가장 기본적인 문자열 타입입니다. 두 타입은 텍스트 문자열을 저장하고, 컬럼의 크기가 제한되어있습니다. 그렇다면 두 타입의 차이는 무엇일까요. CHAR는 고정 길이를, VARCHAR는 가변 길이 문자열을 저장합니다. CHAR의 문자열이 지정한 크기보다 작으면 나머지 공간을 자동으로 채워주고 VARCHAR는 그렇지 않습니다. 무엇이 더 뛰어나다고는 할 수 없으므로 상황에 맞게 두 타입을 이용해야합니다. 예를 들어 학생부 데이터베이스에서 학번은 보통 8자리.. 2022. 1. 25.
300x250