상세 컨텐츠

본문 제목

[MySQL] INSERT 구문과 제약 사항

MySQL/MySQL 기본

by 미로910 2024. 6. 4. 17:12

본문

-- 테이블을 삭제하는 명령 
-- drop table student; 

-- 테이블 생성시에 디폴트 값을 제약 설정하는 방법 

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, '길철수', 1);

-- 컬럼명  생략 버전 
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 where student_id = 4;
-- delete from student;
-- date 타입 형식을 사용할 때 연습 

drop table `order`;

create table `order`(
	id int primary key,
    cusotmer_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, '20240530');

-- 오류가 되는 상황 보기 
insert into `order` values(3, '아주느린배송', '신라면', 4, '2024530');
-- 1년은 12개월이기 때문에 13이 들어 갈 수 없다. 
insert into `order` values(4, '너무느린배송', '신라면', 4, '20241330');
select * from `order`;

AUTO_INCREMENT 란

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

관련글 더보기