Loading...
본문 바로가기
👥
총 방문자
📖
0개 이상
총 포스팅
🧑
오늘 방문자 수
📅
0일째
블로그 운영

여러분의 방문을 환영해요! 🎉

다양한 개발 지식을 쉽고 재미있게 알려드리는 블로그가 될게요. 함께 성장해요! 😊

CS/database

[database] data insertion

by 꽁이꽁설꽁돌 2025. 5. 12.
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