취미가 좋다

[3] DB CRUD 본문

Sparta Coding Club/Database & SQL

[3] DB CRUD

benlee73 2021. 8. 11. 14:57

1. Use Database & Create Table & DataType

use {데이터베이스 이름}
create table {테이블 이름}
(
    column_name datatype [제약조건],
    column_name datatype [제약조건]
    ...
)

테이블과 행을 생성한다.

use 대신, DBMS 연결 시 데이터베이스 설정을 하는 것이 더 편하다.

  • DBMS에 오른쪽 마우스, Edit Connetction
  • Database 입력 및 저장

테이블 이름을 정하는 규칙

규칙 좋은 예 나쁜 예
단수형 단어를 사용한다. user, role users , roles
_ 로 구분한다. user_has_role  
소문자를 사용한다. user_has_role User_has_role

datatype

타입 종류
숫자 INT, DOUBLE, BOOLEAN...
문자열 VARCHAR, TEXT, ENUM...
날짜, 시간 DATE, DATETIME...

 

CREATE TABLE student 
( 
    number INT, 
    name VARCHAR(30), 
    age INT, 
    class INT, 
    height FLOAT 
);

VARCHAR는 초기 최대 길이를 설정해야한다.

 

2. INSERT & SELECT 

INSERT INTO 테이블이름 (필드이름1, 필드이름2, 필드이름3, ...) 
   VALUES (데이터값1, 데이터값2, 데이터값3, ...)

INSERT INTO student(number, name, age, class, height) 
   VALUES (1, "스판이", 17, 1, 173.5);

INSERT INTO student 
   VALUES (1, "스판이", 17, 1, 173.5);

테이블에 데이터를 넣는다.

필드이름들을 생략 가능하고, 순서에 맞게 저장된다.

모든 필드의 값을 채우지 않아도 된다.

 

SELECT number, name, age, class, height FROM student;

SELECT * from student;
SELECT * FROM student WHERE number = 1;

테이블에 있는 데이터를 가져온다.

뒤에 조건에 맞는 데이터를 가져올 수도 있다.

 

 

3. Constraint 

데이터의 무결성(데이터의 정확성, 일관성, 유효성)을 지키기 위해, 데이터를 입력받을 때 실행되는 검사 규칙

CREATE 문으로 테이블을 생성할 때나 ALTER 문으로 필드를 추가할 때도 설정할 수도 있다.

 

3.1 NOT NULL

해당 필드는 NULL 값을 저장할 수 없다.

 

3.2 UNIQUE

해당 필드는 서로 다른 값을 가져야 한다.


3.3 PRIMARY KEY

NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가진다.

NULL 값을 가질 수 없으며, 또한 중복된 값을 가져서도 안 된다.

3.4 FOREIGN KEY

한 테이블을 다른 테이블과 연결해주는 역할을 한다.

외래 키가 설정된 테이블에 레코드를 입력하면, 기준이 되는 테이블의 내용을 참조해서 레코드가 입력된다.

3.5 DEFAULT

해당 필드의 기본값을 설정할 수 있게 한다.

 

 

4. Alter Table 

4.1 ADD

ALTER TABLE 테이블이름 ADD 필드이름 필드타입

ALTER TABLE student  
ADD is_graduated BOOLEAN DEFAULT false;

테이블에 데이터를 추가

ALTER TABLE student ADD id INT PRIMARY KEY AUTO_INCREMENT;

PRIMARY KEY 추가

4.2 DROP

ALTER TABLE 테이블이름 DROP 필드이름

ALTER TABLE student DROP number;

테이블의 필드를 삭제

4.3 MODIFY COLUMN

ALTER TABLE 테이블이름 MODIFY COLUMN 필드이름 필드타입

ALTER TABLE student MODIFY name VARCHAR(30) NOT NULL;

테이블의 필드 타입을 변경하거나 제약 조건을 추가

 

5. Update & Delete

5.1 UPDATE

UPDATE 테이블이름 
SET 필드이름1=데이터값1, 필드이름2=데이터값2, ... 
[WHERE 필드이름=데이터값]

UPDATE student SET age = 18 WHERE name = '르탄이';
UPDATE student SET age = age + 1;

레코드의 내용을 수정
연산자(operator)를 사용할 수도 있다. (원자적 연산, 병렬 프로그래밍)

5.2 DELETE

DELETE FROM 테이블이름 WHERE 필드이름=데이터값

DELETE FROM student WHERE name = '르탄이';

레코드를 제거

5.3 DROP

DROP TABLE student;

테이블을 제거

'Sparta Coding Club > Database & SQL' 카테고리의 다른 글

[6] Transaction  (0) 2021.08.11
[5] Select 확장  (0) 2021.08.11
[4] DB 연관 관계  (0) 2021.08.11
[2] Database 기초 & 용어  (0) 2021.08.11
[1] Database 개념 & 종류  (0) 2021.08.11
Comments