Database

[DB] 기초공부

Minch13r 2025. 2. 11. 10:25

2025.02.11 데이터베이스는 MYSQL을 사용할 것이다.

 

간단한 명령어 정리(CMD에서 사용)

 

C:\Users\Administrator>mysql -u[루트 이름] -p[루트 password]

 

database가 어떤게 있는지 보여주는 명령어

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| netflix            |
| performance_schema |
| sys                |
+--------------------+

 

database의 테이블이 뭐가 있는지 보여주는 명령어

mysql> use netflix;
Database changed
mysql> show tables;
+-------------------+
| Tables_in_netflix |
+-------------------+
| employee          |
| study3_person     |
| study_movie       |
+-------------------+

 

table 안에 내용 보여주는명령어

더보기

mysql> select * from employee;
+-------------+------------+-----------+-------------------------------+---------------+------------+----------+-------------+------------+---------------+
| employee_id | first_name | last_name | email                         | phone_number  | hire_date  | salary   | department  | manager_id | date_of_birth |
+-------------+------------+-----------+-------------------------------+---------------+------------+----------+-------------+------------+---------------+
|           1 | John       | Doe       | john.doe@example.com          | 555-0001      | 2010-05-15 | 55000.00 | Engineering |       NULL | 1985-08-12    |
|           2 | Jane       | Smith     | jane.smith@example.com        | 555-0002      | 2015-03-20 | 65000.00 | HR          |       NULL | 1990-11-23    |
|           3 | Michael    | Johnson   | michael.johnson@example.com   | 555-0003      | 2018-07-01 | 45000.00 | Sales       |          1 | 1992-06-30    |
|           4 | Emily      | Davis     | emily.davis@example.com       | 555-0004      | 2017-01-10 | 47000.00 | Engineering |          1 | 1993-04-25    |
|           5 | William    | Brown     | williahttp://m.brown@example.com | 555-0005      | 2019-11-15 | 70000.00 | Marketing   |       NULL | 1988-02-19    |
|           6 | Olivia     | Martinez  | olivia.martinez@example.com   | 555-0006      | 2020-09-01 | 60000.00 | Sales       |          3 | 1991-12-05    |
|           7 | Sophia     | Wilson    | sophia.wilson@example.com     | 555-0007      | 2016-04-22 | 55000.00 | Engineering |          1 | 1987-07-17    |
|           8 | James      | Moore     | james.moore@example.com       | 555-0008      | 2014-06-10 | 48000.00 | Engineering |          1 | 1984-10-14    |
|           9 | Charlotte  | Taylor    | charlotte.taylor@example.com  | 555-0009      | 2022-01-01 | 40000.00 | HR          |          2 | 1995-01-11    |
|          10 | Benjamin   | Anderson  | benjamin.anderson@example.com | 555-0010      | 2011-09-18 | 55000.00 | Marketing   |          5 | 1982-03-21    |
|          11 | Amanda     | Roberts   | amanda.roberts@example.com    | 555-0011      | 2013-03-12 | 55000.00 | Engineering |          1 | 1987-06-14    |
|          12 | Ethan      | King      | ethan.king@example.com        | 555-0012      | 2014-04-05 | 45000.00 | Sales       |          3 | 1992-01-21    |
|          13 | Grace      | Lee       | grace.lee@example.com         | 555-0013      | 2017-02-20 | 52000.00 | Marketing   |       NULL | 1990-05-30    |
|          14 | Henry      | Garcia    | henry.garcia@example.com      | 555-0014      | 2021-05-18 | 60000.00 | Sales       |          3 | 1994-03-01    |
|          15 | Isabella   | Harris    | isabella.harris@example.com   | 555-0015      | 2016-07-11 | 48000.00 | HR          |          2 | 1993-09-25    |
|          16 | Jack       | Scott     | jack.scott@example.com        | 555-0016      | 2019-09-01 | 65000.00 | Marketing   |          5 | 1992-02-14    |
|          17 | Lily       | White     | lily.white@example.com        | 555-0017      | 2022-04-12 | 46000.00 | Engineering |          1 | 1994-07-28    |
|          18 | Mason      | Martinez  | mason.martinez@example.com    | 555-0018      | 2018-11-21 | 55000.00 | Sales       |          3 | 1991-12-04    |
|          19 | Noah       | Young     | noah.young@example.com        | 555-0019      | 2015-10-30 | 62000.00 | HR          |          2 | 1990-08-01    |
|          20 | Olivia     | Baker     | olivia.baker@example.com      | 555-0020      | 2020-12-15 | 54000.00 | Marketing   |          5 | 1995-01-17    |
|          21 | Liam       | Davis     | liahttp://m.davis@example.com | 555-0021      | 2017-08-18 | 50000.00 | Engineering |          1 | 1991-09-14    |
|          22 | Sophia     | Miller    | sophia.miller@example.com     | 555-0022      | 2019-10-20 | 48000.00 | HR          |          2 | 1992-12-12    |
|          23 | David      | Lee       | david.lee@example.com         | 555-0023      | 2015-01-25 | 47000.00 | Sales       |          3 | 1990-04-10    |
|          24 | Mia        | Moore     | mia.moore@example.com         | 555-0024      | 2020-03-05 | 54000.00 | HR          |          2 | 1996-09-15    |
|          25 | Lucas      | Wilson    | lucas.wilson@example.com      | 555-0025      | 2018-06-10 | 55000.00 | Engineering |          1 | 1992-11-03    |
|          26 | Zoe        | Martinez  | zoe.martinez@example.com      | 555-0026      | 2019-02-01 | 56000.00 | Sales       |          3 | 1993-01-28    |
|          27 | Benjamin   | Harris    | benjamin.harris@example.com   | 555-0027      | 2014-09-01 | 58000.00 | HR          |          2 | 1988-07-25    |
|          28 | Megan      | Clark     | megan.clark@example.com       | 555-0028      | 2018-12-12 | 57000.00 | Engineering |          1 | 1991-08-05    |
|          29 | Charlotte  | Lopez     | charlotte.lopez@example.com   | 555-0029      | 2020-10-15 | 51000.00 | Sales       |          3 | 1995-03-14    |
|          30 | Aiden      | Wilson    | aiden.wilson@example.com      | 555-0030      | 2016-07-22 | 50000.00 | Marketing   |          5 | 1990-09-04    |
|          31 | Evelyn     | Roberts   | evelyn.roberts@example.com    | 555-0031      | 2019-11-20 | 53000.00 | Engineering |          1 | 1992-04-16    |
|          32 | Emma       | Taylor    | emma.taylor@example.com       | 555-0032      | 2017-02-14 | 55000.00 | Sales       |          3 | 1991-11-25    |
|          33 | Jack       | Moore     | jack.moore@example.com        | 555-0033      | 2015-06-05 | 48000.00 | HR          |          2 | 1994-02-12    |
|          34 | Olivia     | Anderson  | olivia.anderson@example.com   | 555-0034      | 2021-04-01 | 52000.00 | Engineering |          1 | 1996-08-14    |
|          35 | Daniel     | Martinez  | daniel.martinez@example.com   | 555-0035      | 2014-02-12 | 54000.00 | Sales       |          3 | 1990-07-21    |
|          36 | Emily      | Brown     | emily.brown@example.com       | 555-0036      | 2020-08-03 | 50000.00 | HR          |          2 | 1993-03-01    |
|          37 | Zachary    | Wilson    | zachary.wilson@example.com    | 555-0037      | 2017-07-22 | 52000.00 | Engineering |          1 | 1992-09-09    |
|          38 | Grace      | Scott     | grace.scott@example.com       | 555-0038      | 2018-06-20 | 54000.00 | Sales       |          3 | 1994-11-12    |
|          39 | Harper     | Taylor    | harper.taylor@example.com     | 555-0039      | 2015-05-30 | 48000.00 | HR          |          2 | 1990-02-10    |
|          40 | Ella       | Martinez  | ella.martinez@example.com     | 555-0040      | 2016-11-15 | 52000.00 | Engineering |          1 | 1993-01-22    |
|          41 | Oliver     | Garcia    | oliver.garcia@example.com     | 555-0041      | 2020-07-09 | 54000.00 | Sales       |          3 | 1991-08-19    |
|          42 | Luna       | Hernandez | luna.hernandez@example.com    | 555-0042      | 2018-09-30 | 60000.00 | HR          |          2 | 1995-11-11    |
|          43 | Gabriel    | White     | gabriel.white@example.com     | 555-0043      | 2017-01-01 | 46000.00 | Marketing   |          5 | 1994-03-09    |
|          44 | Chloe      | Johnson   | chloe.johnson@example.com     | 555-0044      | 2016-05-15 | 52000.00 | Engineering |          1 | 1992-07-03    |
|          45 | Matthew    | Davis     | matthew.davis@example.com     | 555-0045      | 2021-08-23 | 49000.00 | Sales       |          3 | 1993-04-01    |
|          46 | Mia        | Lopez     | mia.lopez@example.com         | 555-0046      | 2020-01-12 | 55000.00 | HR          |          2 | 1996-10-30    |
|          47 | Ryan       | Miller    | ryan.miller@example.com       | 555-0047      | 2018-11-05 | 46000.00 | Marketing   |          5 | 1992-09-23    |
|          48 | Carter     | Evans     | carter.evans@example.com      | 555-0048      | 2019-10-10 | 52000.00 | Engineering |          1 | 1990-01-14    |
|          49 | Ella       | Allen     | ella.allen@example.com        | 555-0049      | 2017-02-20 | 54000.00 | Sales       |          3 | 1995-06-03    |
|          53 | 상엽       | 배        | sangyup.bae@example.com       | 123-1234      | 2010-05-15 | 50000.00 | Engineering |       NULL | 1985-08-12    |
|          54 | 길동       | 홍        | hgd@naver.com                 | 010-0000-0001 | 2025-01-31 | 50000.00 | Marketing   |          1 | 1998-01-01    |
|          55 | 영희       | 김        | kkkaad@naver.com              | NULL          | 2024-01-01 |     NULL | NULL        |       NULL | NULL          |
|          56 | 병헌       | 이        | bhl@naver.com                 | 010-333-4546  | 1970-01-01 |     NULL | NULL        |       NULL | NULL          |
+-------------+------------+-----------+-------------------------------+---------------+------------+----------+-------------+------------+---------------+

 

테이블의 구조를 보여주는 명령어

mysql> desc employee;
+---------------+---------------+------+-----+---------+----------------+
| Field         | Type          | Null | Key | Default | Extra          |
+---------------+---------------+------+-----+---------+----------------+
| employee_id   | int           | NO   | PRI | NULL    | auto_increment |
| first_name    | varchar(50)   | NO   |     | NULL    |                |
| last_name     | varchar(50)   | NO   |     | NULL    |                |
| email         | varchar(100)  | NO   | UNI | NULL    |                |
| phone_number  | varchar(20)   | YES  |     | NULL    |                |
| hire_date     | date          | NO   |     | NULL    |                |
| salary        | decimal(10,2) | YES  |     | NULL    |                |
| department    | varchar(50)   | YES  |     | NULL    |                |
| manager_id    | int           | YES  |     | NULL    |                |
| date_of_birth | date          | YES  |     | NULL    |                |
+---------------+---------------+------+-----+---------+----------------+

DBMS

DBMS (Data Base Management System) : 파일 시스템의 문제점인 데이터의 중복성과 종속성 등의 문제를 최소화하기 위해 등장.  모든 사용자나 응용 프로그램들이 데이터베이스를 공유할 수 있도록 관리, 운영해 주는 소프트웨어 시스템
 
DBMS 필수 기능
  • 정의 기능(Definition Facility) : 데이터의 형태, 구조 등 데이터베이스의 저장에 관한 여러 가지 사항을 정의하는 기능
  • 조작 기능(Manipulation Facility) : 사용자가 이용할 수 있도록 요구에 따라 검색, 갱신, 삽입, 삭제 등을 지원하는 기능
  • 제어 기능(Control Facility) : 데이터의 정확성과 안전성 유지를 위한 기능으로, 데이터 무결성 유지, 보안, 병행 제어 등을 제공

장점

  1. 데이터의 중복성과 종속성 최소화
  2. 데이터의 독립성 유지
  3. 일관성 유지
  4. 무결성 유지
  5. 사용자 간의 데이터 공유
  6. 보안 유지가 가능
  7. 데이터의 표준화 구현이 가능

단점

  1. 많은 운영비 소요
  2. 자료 처리가 복잡
  3. Backup(백업)과 Recovery(회복)의 어려움

DBMS-1

데이터베이스 언어의 종류

  • 정의어(DDL : Data Definition Language)
    • 데이터베이스 구조를 정의 및 수정하기 위해 사용되는 언어
  • 조작어(DML : Data Maniuplation Language)
    • 데이터베이스 내의 자료를 검색, 삽입, 수정, 삭제하기 위해 사용되는 언어
  • 제어어(DCL : Data Control Language)
    • 데이터베이스의 데이터 무결성 유지, 보안, 병행 제어, 보호와 관리를 위한 언어

DB구조 - 스키마

스키마(Schema) : 데이터베이스의 전체적인 구조와 제약조건에 대한 명세를 기술. 스킴이라고도 한다.
  • 내부 스키마(Internal Schema)
    • 물리적 저장 장치 관점에서 본 DB의 물리적인 구조
  • 개념 스키마(Conceptual Schema)
    • 논리적 관점(사용자) 에서 본 전체적인 데이터 구조
  • 외부 스키마(Internal Schema)
    • 사용자가 사용하는 한 부분에서 본 논리적 구조
    • 서브스키마라고도 함

데이터 모델 정의와 종류

데이터 모델에 표시할 요소
  • 구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계
  • 연산(Operation) : DB에 저장된 실제 데이터를 처리하는 작업에 대한 명세
  • 제약 조건(Constraint) : DB에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
데이터 모델의 구성 요소
  • 개체(Entity)
    • 데이터베이스에 표현하려는 것,    서로 연관된 몇 개의 속성으로 구성
  • 구성(Attribute) = 속성
    • 데이터의 가장 작은 논리적 단위,    파일 구조상 데이터의 항목 또는 필드에 해당
    • 개체를 구성하는 항목
  • 관계(Relationship)
    • 개체간의 관계 또는 속성간의 관계, 1:1관계, 1:다 관계, 다:다 관계 등

E-R 모델

개체-관계(Entity-RelationShip) 모델의 특징

  • 개체타입과 이들 간의 관계 타입을 이용해 현실 세계를 개념적으로 표현

E-R Model
E-R Model Example


DB 설계

데이터베이스  설계 : 데이터베이스의 스키마를 정의하고, 이에 따라 DB를 구현하기 위한 전반적인 과정

요구 조건 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현 → 운영 및 개선

 

  • 개념적 설계 : DB의 구성요소를 결정, 수행할 작업과 관계를 설계.  E-R모델 이용
  • 논리적 설계 : 개념적 설계에서 만들어진 구조를 논리적을 구현 가능한 모델로 변환하는 단계. 스키마 정의.
  • 물리적 설계 : 실제 기계가 처리할 수 있도록 내부 저장장치 구조, 접근 경로 등 설계

관계형 데이터베이스

학생 릴레이션(RDB)

 튜플(Tuple) : 릴레이션을 구성하는 각 행(레코드) , 속성의 모임
  • 튜플의 수 : 카디널리티(Cardinality)  또는 기수라고도 함
 속성(Attribute) : DB를 구성하는 가장 작은 논리적 단위(필드), 개체의 특성
  • 속성의 수 : 디그리(Degree) 또는 차수라고도 함
 도메인(Domain) : 하나의 어트리뷰트가 취할 수 있는 모든 원자 값들의 집합

 

 

(Key) : 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 튜플들을 서로 구분할 수 있는 기준이 되는 애트리뷰트를 말함.
  • 후보키(Candidate Key) : 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합,  유일성과 최소성을 만족해야 한다.
  • 기본키(Primary Key) : 후보키 중에서 선택한 주키(Main key), null값을 가질 수 없다.  동일한 값을 중복 저장 할 수 없다.
  • 대체키(Alternate Key) : 기본키를 제외한 나머지 후보키
  • 슈퍼키(Super Key) : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
  • 외래키(Foreign Key) : 관계를 맺고 있는 릴레이션에서 학생릴레이션이 참조하고 있는 수강릴레이션의 기본키와 같은 학생 릴레이션의 속성을 외래키라 한다.

 

제약 조건

  • 개체 무결성
    • 릴레이션에서 기본키를 구성하는 속성은 NULL 값이나 중복값을 가질 수 없다.
  • 참조 무결성
    • 외래키 값은 NULL 이거나 참조 릴레이션의 기본키 값과 동일해야 한다.
    • 참조 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다.

SQL(Structured Query Language)

  • 정의어(DDL)
    • 물리적인 구조를 정의하고 관리
    • CREATE(생성)
    • DROP(삭제)
    • ALTER(변경)
  • 제어어(DCL)
    • 사용권한 및 무결성, 병행제어 기능
    • GRANT(권한부여)
    • REVOKE(권한제거)
    • COMMIT(반영)
    • ROLLBACK(취소)
  • 조작어(DML)
    • 데이터를 처리
    • SELECT(선택)
    • DELETE(삭제)
    • INSERT(삽입)
    • UPDATE(갱신)

SQL - DDL : CREATE

CREATE : 테이블, 뷰, 인덱스, 스키마 등을 생성
CREATE TABLE 테이블명칭 (
열명칭1	특성1,
열명칭2	특성2,
열명칭3	특성3,
…,
PRIMARY KEY (열명칭),
FOREIGN KEY (열명칭) REFERENCES 참조테이블명칭(열명칭),
);


CREATE TABLE 학생 (
학번 CHAR(10),
이름 CHAR (5),
전화번호 CHAR (10),
과목코드 CHAR (4),
PRIMARY KEY (학번),
FOREIGN KEY (과목코드) REFERENCES 과목(과목코드),
);

SQL - DDL : VIEW

VIEW() : 사용자에게 접근이 허용된 자료만 보여주기 위해 하나 이상의 테이블에서 유도된 가상 테이블
  • 물리적으로 존재하지 않고 논리적으로만 존재한다.
CREATE VIEW 컴퓨터_VIEW(이름, 과목) AS
SELECT 이름, 과목
FROM 학생
WHERE 과목 = ‘컴퓨터’;


SQL - DDL : DROP

 DROP : 테이블, , 인텍스, 스키마 등을 삭제
DROP TABLE 테이블명칭 ;

DROP TABLE 학생;​
  • CASCADE : 참조하는 테이블도 모두 제거
    RESTRICT : 참조하는 테이블이 있을 경우 제거하지 않음

SQL - DDL : ALTER

 ALTER : 테이블, 인텍스, 스키마 등 구조 변경
ALTER TABLE 학생 ADD 주민번호 CHAR(13);
ALTER TABLE 학생 DROP 전화번호;​

기존 TABLE
ALTER TABLE 학생 ADD 주민번호 CHAR(13);
ALTER TABLE 학생 DROP 전화번호;


SQL – DML : SELECT

 SELECT : 테이블에 존재하는 데이터에 대한 질의
SELECT [ALL|DISTINCT] 검색대상 
FROM 테이블명
[WHERE 조건식]
[GROUP BY 열명칭]
[HAVING 검색조건]
[ORDER BY 열명칭 [ASC|DESC]];

 DISTINCT : 중복된 데이터 한번만 출력
 ASC : 오름차순
 DESC : 내림차순​

 

SELECT 이름, 과목
FROM 학생
WHERE 과목 = ‘컴퓨터’;

이 테이블을 기반으로 위의 SQL문을 사용하면 김양, 컴퓨터가 출력된다.

 

기존 TABLE

다른 SELECT 문 예시

SELECT * FROM 학생 WHERE 이름 LIKE ‘김%’;
SELECT * FROM 학생 WHERE 성적 BETWEEN 70 AND 90;
SELECT * FROM 학생 WHERE 전화번호 IS NULL;
SELECT * FROM 학생 WHERE 과목 = ‘컴퓨터’ ORDER BY 성적 DESC;

SQL – DML : INSERT, UPDATE, DELETE

 INSERT : 생성된 테이블에 데이터 입력,   UPDATE : 테이블에 데이터 수정
 DELETE : 테이블에 데이터 삭제
기존 TABLE
INSERT INTO 테이블명칭(속성1, 속성2…)
VALUES (데이터 값1, 데이터 값2, …);

INSERT INTO 학과(학과코드, 과목)
VALUES (‘1111’,’컴퓨터’);​
DELETE FROM 테이블명칭
[WHERE 조건식];

DELETE FROM 학과
WHERE 학과코드=‘1111’;
UPDATE 테이블명칭
SET 열명칭1 = 변경 값1,열명칭2 = 변경값2…
[WHERE 조건식];

UPDATE 학과
SET 과목 = ‘컴퓨터’
WHERE 학과코드=‘1111’;

뷰(View)

(View) : 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 가상테이블,  저장장치에 물리적으로 존재하지 않음

 

 장점
  • 논리적 데이터 독립성 제공
  • 동일 데이터에 대해 동시에 여러 사용자의 상이한 요구를 지원
 단점
  • 독립적인 인덱스를 가질 수 없다.
  • 뷰의 정의를 변경할 수 없다.
  • 삽입, 삭제, 갱신 연산에 제약이 따른다.

SQL 실습

// DB 생성 -> root 계정에서
CREATE DATABASE test;

// MYSQL이 user를 관리하는 테이블로 선택
use mysql;

// user 생성 구문, identified by는 pw 생성 명령어
// user 이름은 mysqluser, 비밀번호는 mysql
create user 'mysqluser'@'localhost' identified by 'mysql';

// 권한 부여, 밑에 존재하는 친구한테도 권한을 부여할 수 있는 권한을 부여
// grant option은 all에 해당하지 않아서 따로 또 지정해야 함.
grant all privileges on test.* to 'mysqluser'@'localhost' with grant option;

// 권한 적용
flush privileges;

 

제약조건

MYSQL용

PK : Primary key => 기본키 속성 추가
NN : Not Null => 데이터 값으로 null이 오지 못하게 막음
AI : Auto Increment => 자동증가 : 정수만 가능
UQ : UniQue => 중복안됨.
B : Binary 값 (0,1)
UN : Unsigned => 음수 안됨.
ZF : Zero Fill => 숫자앞에 0으로 채움 ex) 0001
G : Genrated => 속성 자동 생성

Binary는 TINYINT에 비해 자릿값이 여유로움.

 

MYSQL 데이터 자료형

데이터 자료형
숫자
(정수)
- bit(m) : 1~64 Binary 값을 지정
- bool : TRUE(1) / FALSE(0) == TINYINT(1)로 표현
- tinyint(m) : 0~255 사이의 작은수 표현 (-128 ~ 127)
- smallint(m) : 2BYTE 0 ~ 65536 (-32768 ~ 32767)
- mediumint(m) : 3BYTE
- int(m) : java에서의 int와 동일(4byte)
- bigint(m) : java에서의 long과 동일(8byte)

(실수)
- float(m, d) : 정밀도가 작은 부동소수점 표현 (d : 소수자리수)
- double(m, d) : 정밀도가 큰 부동소수점 표현 (d : 소수자리수)
=> mysl 8.0.17 이후로 사용되지 않음. 현재 DECIMAL()로 통합 돼서 사용
- decimal(m, d) : 고정소수점 표현 (d : 소수자리수)

문자
- char(m) : 고정길이 문자열 (0~255)
- varchar(m) : 가변길이 문자열 (0~65536)
- tinytext : 1BYTE 문자열 저장 => 가변길이
- tinyBLOB : Binary 값을 저장할 때 사용 => 이미지,동영상 같은 형식에 사용
=> BLOB은 사이즈별로 있음
- text : 2BYTE 가변길이
- mediumtext : 3BYTE 가변길이
- longtext : 4BYTE

날짜
- date : 날짜 표현
- datetime : 날짜 + 시간 => 제일 많이 사용
- timestamp : insert, update 연산에 유리한 형태
- year : 연도만
- time : 시간만

alter 명령어 사용할 때
add(추가), drop(삭제), modify(수정), change(수정:필드명수정가능)

alter table 테이블명 add 필드명 속성;
ex) alter table student add tel varchar(15);

update 명령어 사용할 때
ex) update student set tel='010-5647-6546' where num=1111;
여기서 where에서 값 대입할 때는 값이 모두 다른것을 선택해야 함.

-- gender 추가
alter table student add gender varchar(2) after age;

-- gender 삭제
alter table student drop gender;

-- gender 속성변경 default m
alter table student modify gender varchar(2) default 'm' after age;

alter table student add gender varchar(2) default 'm' after age;

alter table student change gender gender2 varchar(2) default 'm' after age;

-- 강길순, 유관순만 gender 'w'로 변경
update student set gender = 'w' where num = 2222 or num = 5555;

 

'Database' 카테고리의 다른 글

[Do it SQL] Chapter 01-3 / 02-1  (1) 2025.03.16
[SQL] 오답노트  (0) 2025.03.04
[DB] 기초공부 3  (0) 2025.02.14
[DB] 기초공부 2  (0) 2025.02.13
[DB] 기초공부 1  (1) 2025.02.12