본문 바로가기

DataBase

(10)
im-sprint-cmarket-database 2. 서버 -1 1. 먼저, 서버 폴더로 들어가서 npm install 명령어로 필요한 모듈을 설치. --> npm install 명령어를 적으면, package.json에 'dependencies'에 적혀있는 모듈들이 한꺼번에 설치된다. "dependencies": { "@codestates-cc/submission-npm": "^1.1.3", "cors": "^2.8.5", "dotenv": "^8.2.0", "express": "^4.17.1", "morgan": "^1.10.0", "mysql": "^2.18.1", "nodemon": "^2.0.7" } 여기서 'mysql'모듈 : Cmarket Server가 MySQL server와 상호작용할 수 있게 한다. 2. 비밀번호를 코드에 작성할 수도 있겠지만, 보안..
im-sprint-cmarket-database 1. 스키마, 시드 파일 확인(schema.sql 파일 & seed.sql파일) 1. 먼저 mysql에 접속해 cmarket 데이터베이스를 생성한다. mysql -u root #mysql 접속. pw없으면 -p를 안적어줘도 된다. CREATE DATABASE cmarket; # cmarket이름의 데이터베이스 생성 2. 미리 구성되어있는 Cmarket 스키마(schema.sql)를 기반으로, MySQL에 cmarket데이터베이스에 테이블을 생성한다. --> im-sprint-cmarket-database 파일을 보면, server폴더에 schema.sql파일이 존재한다. 그 파일에는 Cmarket 스키마가 구성되어있다. 이 스키마를 토대로 MySQL에 아까 생성한 cmarket 데이터베이스에 테이블을 생성한다는 의미. 먼저, git clone을 한 im-sprint-cmarket-d..
[MySQL]테이블의 데이터 읽어오기 : SELECT 특정 테이블의 모든 데이터를 화면에 출력하고 싶으면, 다음과 같은 명령어를 입력한다. SELECT * FROM '테이블 이름'; ex: topic이라는 테이블의 모든 데이터를 불러오고 싶으면 SELECT * FROM topic; 특정 테이블의 특정 컬럼의 데이터를 화면에 출력하고 싶으면, 다음과 같은 명령어를 입력한다. SELECT '컬럼 이름' FROM '테이블 이름'; ex: topic이라는 테이블의 id, title, created, author 컬럼의 데이터를 불러오고 싶으면 SELECT id, title, created, author FROM topic; *모든 내용은 생활코딩 강의를 기반하여 작성하였습니다
[MySQL] 테이블(표) 안에 데이터 추가 : INSERT INTO 테이블 안에 데이터를 추가할 때는 아래와 같은 명령어를 입력한다. INSERT INTO '테이블이름' ('칼럼 이름') VALUES ('각 칼럼에 넣을 데이터들'); 전에 만들어놓은 topic 테이블에 데이터를 추가해보겠다. ex: INSERT INTO topic (title, description, created, author, profile) VALUES ('MySQL', 'MySQL is ...', NOW(), 'egoing', 'developer'); - 칼럼의 순서대로 값을 적어야 한다. - id는 auto_increment이므로 굳이 언급할 필요 없다. - NOW() : 현재 시간이 자동으로 들어간다. *모든 내용은 생활코딩 강의를 기반하여 작성하였습니다.
[MySQL] 테이블(표)의 생성 및 확인 : CREATE TABLE 1. 테이블(표) 생성 표를 만들때에는 우선, 칼럼을 먼저 만들어야 한다. CREATE TABLE '테이블 이름'( '칼럼 이름' '데이터의 형태' 'NULL/NOT NULL' ); ex: CREATE TABLE topic( id INT(11) NOT NULL AUTO_INCREMENT, title VARCHAR(100) NOT NULL, description TEXT NULL, created DATETIME NOT NULL, author VARCHAR(15) NULL, profile VARCHAR(200) NULL, PRIMARY KEY(id) ); 보라색 : 컬럼이름 핑크색 : 데이터 타입 - 엑셀같은 스프레드 시트는 어떤 형태의 데이터가 들어와도 괜찮다. 즉, id에 a가 들어와도 된다. BUT, ..
[MySQL] 표(테이블)의 구조 데이터베이스(스키마) 안을 보면 한개 이상의 테이블(표)가 존재한다. 테이블(표)의 구조를 보면 우리가 아는, 말 그대로 행과 열로 구성된 표의 구조로 되어있다. * 행 : row, record, 행으로 불린다. 2개의 행 === 2개의 데이터 존재 * 열 : column, 칼럼 *모든 내용은 생활코딩 강의를 기반하여 작성하였습니다.
[MySQL] 데이터베이스(스키마) 생성 및 사용 : CREATE DATABASE 1. 데이터베이스(=스키마) 생성 CREATE DATABASE '데이터베이스 이름'; 잘 만들어졌으면(성공!) Query OK, 1 row affected 이런식으로 뜬다. (참고로, ; 를 꼭 붙여줘야한다. 나는 아무것도 모르고 계속 엔터키만 쳤다가 이게뭐지..? 왜 실행이 안되지..? 한참 헤맸다는...) ex: CREATE DATABASE opentutorials; 2. 데이터베이스(=스키마) 리스트 보기 SHOW DATABASES; 지금까지 만든 데이터베이스(스키마) 리스트를 확인하려면 위 명령어를 치면 된다. 위 database 리스트를 보면 'opentutorials'스키마가 추가된 것을 확인할 수 있다. 3. 데이터베이스(=스키마) 사용 USE opentutorials; 저 데이터베이스(스키..
[MySQL] MySQL의 구조 관계형 데이터베이스는 엑셀, 스프레드시트와 구성이 비슷하다. 1. 표 (table) - 데이터를 기록하는 최종 장소 : 표(table). 글 저장하는 표, 댓글 저장하는 표, 회원정보 저장하는 표 등 표들이 늘어나면 많아진 표들을 잘 정리정돈 할 필요가 생긴다. (파일이 많아지면 디렉토리가 필요하게 되는것처럼) 2. 데이터베이스 (= 스키마) 연관된 표(table)들을 그룹핑해서 연관되어있지 않은 표들과 분리하는데 사용하는 파일의 폴더같은 것. 표들을 서로 그룹핑하는데 사용하는 일종의 '폴더'. 데이터베이스라는 표현이 헷갈릴수 있으므로 MySQL에서는 스키마(Schema)라는 표현을 같이 쓴다. 이렇게 스키마들이 많아지면 어딘가에 저장되어야 한다. 3. 데이터베이스 서버 MySQL을 설치한 것은 데이터베..