728x90
반응형
목차
DDL 및 INSERT
create table student1(
ID int not null identity(1, 1) primary key,
CS_ID as 'CS' + RIGHT('0000' + convert(varchar(5), ID), 6) persisted,
name varchar(50),
dept_name varchar(20),
tot_cred int
)
- student1 테이블을 생성합니다.
- ID는 자동 증가하는 정수형 기본 키입니다 (identity(1, 1)은 1부터 1씩 증가).
- CS_ID는 가상 칼럼으로, 'CS' + ID 값을 6자리로 만든 문자열입니다. 예: ID가 3이면 CS000003.
- persisted는 이 계산된 값을 실제로 저장하겠다는 의미입니다.
- name, dept_name, tot_cred는 각각 이름, 학과, 총 이수 학점을 저장합니다.
insert into student1(name, dept_name, tot_cred)
values('John', 'CSE', 65)
insert into student1(name, dept_name, tot_cred)
values('Lee', 'CSE', 15)
- student1 테이블에 'John'과 'Lee'의 정보를 삽입합니다.
create table classroom2(
building varchar(15) not null,
room_number varchar(7) not null,
capacity smallint check(capacity>=0),
primary key (building, room_number)
)
- classroom2라는 새 테이블을 만듭니다.
- 건물명과 강의실 번호를 복합 기본 키로 설정하고, 수용인원은 0 이상이어야 합니다.
insert into classroom2(building, room_number, capacity)
select * from classroom
- classroom 테이블에 있는 데이터를 그대로 classroom2에 복사합니다.
bulk insert classroom
from 'E:/classroom_data.csv'
with(
fieldterminator = ',',
rowterminator = '\n',
firstrow = 2
)
- 외부 파일(classroom_data.csv)에서 classroom 테이블로 데이터를 불러옵니다.
- 필드는 ,로 구분되고, 행은 \n으로 구분됩니다.
- 첫 번째 행은 헤더라고 가정하고 두 번째 행부터 읽습니다.
업데이트(UPDATE)
물리학과 교수 연봉 10% 인상
update instructor
set salary = salary * 1.1
where dept_name = 'physics'
Taylor 건물 3128호 강의실의 수용 인원을 80명으로 변경
update classroom
set capacity = 80
where building = 'Taylor' and room_number = 3128
학번 1037번 학생의 학점 3점 추가
update student
set tot_cred = tot_cred + 3
where student_id = 1037
2012년 가을 AI-101 수업의 시간 슬롯 변경
update section
set time_slot_id = 'A03'
where course_id = 'AI-101' and sec_id = '1' and semester = 'Fall' and year = 2012
급여 정보 없는 교수에게 연봉 50,000 할당
update instructor
set salary = 50000
where salary is null
생물학과 교수 연봉을 60,000으로 설정
update instructor
set salary = 60000
where dept_name = 'Biology'
2011년 봄 Watson 건물 수업을 Taylor 건물 3129호로 이동
update section
set building = 'Taylor', room_number = 3129
where semester = 'spring' and year = 2011 and building = 'Watson'
삽입(INSERT)
교수(Park, Art학과) 신규 등록
insert into instructor (instructor_id, name, dept_name)
values (99999, 'Park', 'Art')
삭제(DELETE)
ACC-101 과목 삭제
delete from course
where course_id = 'ACC-101'
2010년도 모든 섹션 삭제
delete from section
where year = 2010
총 학점이 0인 학생 삭제
delete from student
where tot_cred = 0
Zoology 학과 삭제
delete from department
where dept_name = 'Zoology'
반응형
'CS > database' 카테고리의 다른 글
[database] SQL index (1) | 2025.06.21 |
---|---|
[database] sql Date and Time (0) | 2025.06.21 |
[database] [COUNT, SUM, AVG, MIN, MAX, GROUP BY, HAVING] (0) | 2025.05.15 |
[database] select, where, order by & top (0) | 2025.05.13 |
[database] operators (0) | 2025.05.12 |