• 티스토리 홈
  • 프로필사진
    Song hyun
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
Song hyun
  • 프로필사진
    Song hyun
    • 분류 전체보기 (780)
      • 백준 (0)
      • 영어 (2)
        • Diary (0)
        • Toast Masters (2)
      • 메모 (13)
      • 설치 메뉴얼 (30)
      • Java (178)
      • MySQL (60)
      • JSP (67)
      • Springboot (46)
      • HTML,CSS, JS (71)
        • HTML (8)
        • CSS (12)
        • JavaScript (37)
        • HTML&CSS 스터디 (13)
      • C++ (7)
      • Linux (7)
      • JPA (34)
      • Kotlin (2)
      • Flutter (42)
      • Error Note (39)
      • 디자인 패턴 (12)
      • 디지털논리회로 (4)
      • 데이터베이스 시스템 (8)
      • 알고리즘 (7)
      • 운영체제 (3)
      • 이산수학 (3)
      • 인공지능 (1)
      • 자료 구조 (14)
        • 기본 개념 (14)
        • 자료구조 스터디 (0)
      • 💡My project (76)
        • 팩맨 : Java Swing 게임 제작 프로젝트 (6)
        • 네이트톡 : Java 소켓 통신 프로젝트 (4)
        • 포켓옥션 : HikariCP&JDBC CRUD 프.. (3)
        • 이지 부산 : BDIA-Devton 2024 프로.. (20)
        • 그린 유니버시티 : JSP를 사용한 학사관리 프로.. (1)
        • 애드 포커 : 웹 소켓과 Spring을 사용한 카.. (1)
        • 셸위 : 게임 친구 매칭 사이트 (21)
        • 다모아 : 개발자 중개 플랫폼 (20)
      • 📗스터디 (13)
        • CNN : 웹개발 스터디 (10)
        • Node&React로 유튜브 사이트 만들기 (3)
      • 📙독서 및 강연 기록 (36)
        • 강연 (14)
        • 독서 (22)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [MySQL] 9. INSERT 구문과 제약 사항
        2024년 05월 30일
        • Song hyun
        • 작성자
        • 2024.05.30.:38
        728x90
        반응형

        [MySQL] 9. INSERT 구문과 제약 사항

        1. INSERT 구문

        2. Default 제약

        3. AUTO_INCREMENT

         

        *사전 기반 지식 : 언더바(_)를 연결어로 사용하는 표기법을, 뱀의 꼬리를 닮았다 하여 스네이크 케이스라고 불린다.


        1. INSERT 구문

        -아래의 코드와 같이, insert(테이블에 데이터 삽입) 구문은 다양한 형식으로 작성할 수 있다.

         

        -insert int 테이블명(컬럼1, 컬럼2, 컬럼3....)

        values (값1, 값2, 값3...)

         

        -insert int 테이블명 values(값1, 값2, 값3...)

         


        2. Default 제약

         Default 제약은 값이 들어가지 않았을 때를 상정해, 레코드들의 기본값을 설정해준다.

         

        아래의 코드를 살펴보자.

        student라는 테이블 내의 major라는 열의 default가 '미정'이라고 설정되어 있다.

         

        major를 '컴퓨터공학과'라고 설정한 레코드는 major='컴퓨터 공학과'로 설정된 것을 확인할 수 있다.

        반면 major 값을 입력하지 않은 '김철수' 라는 레코드는 major가 '미정'으로 설정되어 있다.

        이는 major 열의 default값이 '미정'이며, '김철수'가 insert될 때 major값이 입력되지 않았기 때문이다.

         

        해당 항목을 default로 입력해도 '미정'으로 저장된 것을 확인할 수 있다.


        3. AUTO_INCREMENT

        -오토 인크리먼드(auto-increment)는 MySQL 과 같은 데이터베이스 시스템에서 자동으로 순차적인 번호를 생성해주는 기능이다. 일반적으로 테이블에서 기본키(Primary key)를 지정할 때 사용된다. 즉, 새로운 레코드를 삽입할 때마다 기본키 값이 자동으로 증가하며, 중복된 값이 입력되지 않게 해준다.


        *전체 코드

        -- 테이블을 삭제하는 명령
        drop table employee;
        
        -- 테이블 생성 시, DEFAULT 값을 제약 설정하는 방법
        -- 사전 기반 지식: 연결어를 _(언더바)로 표기하는 법 = 스네이크 케이스
        
        create table student(
            student_id int primary key,
            name varchar(50) not null,
            grade int not null,
            major varchar(50) default '미정' not null
        );
        
        desc student;
        
        -- 기본 문구 모양
        -- INSERT INTO 테이블명(컬럼명1, 컬럼명2 ...) VALUES(값1, 값2 ...);
        -- INSERT INTO 테이블명 VALUES(값1, 값2 ...); <- 생략 버전
        
        insert into student(student_id, name,grade,major)
        values(1,'홍길동',3,'컴퓨터 공학과');
        
        -- 디폴트 제약을 사용했을 때 값을 넣는 방법 1
        insert into student(student_id, name,grade)
        values(2,'김철수',4);
        
        insert into student values(3, '이영희', 4, '경영학과');
        
        select*from student;
        
        -- 디폴트 제약을 사용했을 때 값을 넣는 방법 2
        insert into student(student_id, name,grade,major)
        values(4,'야스오',2,default);
        
        -- delete from 구문을 사용할 때는 (실무에서) 반드시 필터를 걸자.
        delete from student;
        
        -- date 타입 형식을 사용할 때 연습
        
        drop table `order`;
        
        create table `order`(
            id int primary key,
            customer_order varchar(50),
            product_name varchar(20) not null,
            quantity int not null,
            order_date date not null
        );
        
        insert into `order` values(1,'빠른배송바람','신라면',2,'2024-05-30');
        insert into `order` values(2,'느린배송바람','신라면',3,'2024-05-30');
        
        -- 오류가 되는 상황 보기
        insert into `order` values(3,'아주느린배송','신라면',4,'2024530');
        insert into `order` values(4,'너무느린배송','신라면',4,'20241330');
        
        desc `order`;
        select*from `order`;
        728x90
        반응형

        'MySQL' 카테고리의 다른 글

        [MySQL] 11. 조건절 WHERE  (0) 2024.05.31
        [MySQL] 10. 기타 기능들 살펴보기  (0) 2024.05.30
        [MySQL] 8. 테이블 생성 및 제약 조건 연습  (0) 2024.05.30
        [MySQL] 7. MySQL에서 사용되는 데이터 타입  (0) 2024.05.30
        [MySQL] 6. 테이블 생성과 제약 사항 연습  (0) 2024.05.30
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바