모든 SQL 쿼리는 mysql 기반
INSERT문
1. 데이터베이스 생성, 테이블 생성, insert로 데이터 삽입
create database test;
use test;
create table number1(
data tinyint
);
desc number1;
insert into number1 value (128);
select *
from number1
;
2. 제약조건이 없는 테이블 생성 후 데이터 삽입
# 테이블 생성
create table user1(
user_id int,
name varchar(20),
email varchar(30),
age int,
rdate date
);
# user1 테이블 확인
desc user1;
# user1 테이블에 데이터 삽입
insert into user1(user_id, name, email, rdate)
values(1, 'simon', 'simon@gmail.com', '2022-01-26'),
(2, 'peter', 'peter@gmail.com','2022-01-02');
# 데이터 확인
select *
from user1
;
3. 제약조건이 있는 테이블 생성 후 데이터 삽입
# 제약조건이 있는 테이블 생성
create table user2(
user_id int primary key auto_increment,
name varchar(20) not null,
email varchar(30) not null unique,
age int default 30,
rdate timestamp
);
# user2 테이블 확인
desc user2;
# 데이터 삽입
insert into user2(name, email)
values('andrew', 'andy22@gmail.com');
insert into user2(name, email, age)
values('juan', 'juanita@gmail.com', 23);
# 데이터 확인
select *
from user2
;
UPDATE문
1. age가 30 미만인 데이터의 값을 20으로 변경
update user2
set age = 20
where age < 30
limit 1
;
참고로, limit을 쓰지 않으면 safe update mode에서는 오류가 발생한다. 이는 실수로 값이 변경되는 일을 방지하기 위한 것으로 반드시 limit을 써서 작성해야 한다.
DELETE문
1. rdate가 2022-01-27 이전인 데이터 삭제
delete from user2
where rdate < '2022-01-27'
limit 1
;
DELETE문도 위험한 작업이기 때문에 limit을 쓰지 않으면 오류를 출력한다.
테이블 초기화(테이블 구조는 남음)
truncate user1;
여기까지 CRUD에 대해서는 모두 연습해보았다.
'[SQL] 연습' 카테고리의 다른 글
[DB] mysql에서 한글 포함된 쿼리 insert 안될 때 (0) | 2022.06.11 |
---|---|
[DB] MongoDB (0) | 2022.05.01 |
[SQL] SQL 기본(3편) (0) | 2022.02.01 |
[SQL] SQL 기본(1편) (0) | 2022.01.29 |
[SQL] 데이터 베이스 기본 (0) | 2022.01.27 |