본문 바로가기
DataScience/DataBase

데이터베이스 - CREATE TABLE, INSERT VALUES

by mkk4726 2021. 5. 12.

사놓고 쌓아놓은 물건처럼, 정리를 하지않으니 배운 정보들이 난잡하게 느껴진다. 

DB, 배운 정보들을 꾸준히 정리해보자. DB구조와 SQL를 학습하기 위해 MySQL을 사용한다. 

공짜로 이용할 수 있는 플랫폼이기도하고 SQL문이 DBMS종류마다 조금씩 다르지만 큰 틀은 비슷하기에 처음에 공부하기 좋다고 생각한다.


테이블을 만드는 방법은 여러가지가 있는데 먼저 MySQL Workbench를 이용해서 만들 수 있다.

테이블을 스키마 안에 정의된다. 스키마는 하나의 틀이라고 생각하면 된다. 

 

따라서 간단하게 말하자면 스키마를 만들고 그 스키마에 테이블을 만든다. 그 후에 이 테이블에 값들을 집어넣으면 된다.

 

Workbench를 이용하면 명령문을 몰라도 사용할 수 있다. 원하는 명령을 누르면 명령어, SQL문이 자동으로 입력된다.

전체적인 개념만 알고있다면 간단하게 만들 수 있다.


또 다른 방법은 cmd를 이용하는 것이다.

윈도우 검색창에 cmd를 검색하면 command창, 명령 프롬프트창이 뜬다.

여기에 다음과 같은 순서로 입력하면 된다.

 

- 접근하기

> mysql -u 사용자이름 -p // 사용자로 mysql에 접근한다. 가지고 있는 권한만큼 mysql에 접근할 수 있다.

Enter password: 비밀번호

> use testdb1; // testdb1이라는 스키마를 사용할 것이다.

> show tables; // 해당 스키마의 테이블들을 다 보여준다.

 

- 테이블 생성하기

> CREATE TABLE CUSTOMER(c_no VARCAR(10) NOT NULL,

city VARCHAR(30) NOT NULL,

age INT,

CONSTRAINT cu_no_pk PRIMARY KEY(c_no));

// customer라는 테이블을 만들었다. c_no, city, age라는 컬럼(속성)이 있고 c_no column이 primary key역할을 한다.

> CREATE TABLE deposit(
d_cust_no VARCHAR(13) NOT NULL,
d_account_no CHAR(8) NOT NULL,
d_serial_no DECIMAL(5) NOT NULL,
d_amount DECIMAL(13) NOT NULL,
d_date DATE NOT NULL,
CONSTRAINT deposit_pk PRIMARY KEY(d_cust_no, d_account_no, d_serial_no),
CONSTRAINT de_cust_no_fk FOREIGN KEY(d_cust_no) REFERENCES customer(c_no),
CONSTRAINT de_loan_no_fk FOREIGN KEY(d_account_no) REFERENCES account(a_no));

 

 

 

- 값 넣기

> INSERT INTO customer VALUES('1111', '익산', '23');

> INSERT INTO customer(c_no, city) VALUES ('123213', '서울');

// 전체값을 넣어주거나 not null에 해당하는 값만 넣어줄 수도 있다.


막 쓰다보니 알고있는 사람도 보기싫게 정리해버렸다.

어디서부터 어떻게 설명해야할지 감이 안잡히다보니 그런 것 같다. 물론 내가 100%숙지하지 못하고 있기도하다.

점차 나아지겠다는 생각으로 꾸준히 써보자.

 

'DataScience > DataBase' 카테고리의 다른 글

SQLD 합격 후기  (0) 2023.07.07
CREATE TABLE, REPLACE INTO  (0) 2022.04.28
MariaDB, Heidisql 설치 / pymysql 사용  (0) 2022.04.26

댓글