< 입력 INSERT >
INSERT INTO 테이블이름 VALUES (값, 값, ..., 값);
- 값을 나열할 때는 테이블 구조에서 정의하고 있는 컬럼의 순서에 맞게 명시해야 한다
- DESC 테이블이름; 으로 테이블 정의 확인 가능
INSERT INTO 테이블이름 (컬럼, 컬럼, ..., 컬럼) VALUES (값, 값, ..., 값);
- 나열되는 컬럼의 이름이 테이블 구조에서 정의하고 있는 컬럼순서와 일치할 필요 없다
insert into student (
studno, name, userid, grade, idnum, birthdate, tel, height, weight, deptno, profno
) values (
10111, '둘리', 'dolly', 2, '8202021234765', '2011-10-01 11:42:30', '02)-123-2345', 170, 70, 101, 9903
);
< 입력 INSERT - NULL >
mysql> DESC DEPARTMENT;
+--------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+----------------+
| deptno | int | NO | PRI | NULL | auto_increment |
| dname | varchar(100) | NO | | NULL | |
| loc | varchar(100) | YES | | NULL | |
+--------+--------------+------+-----+---------+----------------+
▲
| Null : YES | Null 값 허용 | 미필수 입력 항목 |
| Null : NO | Null 값 허용X | 필수 입력 항목 |
- 암묵적인 방법 : 해당 컬럼의 이름과 값 생략
- 명시적인 방법 : 컬럼값에 NULL 사용
< 입력 INSERT - 날짜 데이터 >
- 'YYYY-MM-DD HH:MI:SS' or 'YYYY-MM-DD' 형식
- now() : 현재 날짜
< 입력 INSERT- 중복 데이터 방지 >
- 각 데이터는 중복되지 않기 위한 최소한의 제약 요구
- 기본키(Primary Key) : 테이블의 각 행을 고유하게 식별하는 값을 가진 열(또는 열 조합)
- 테이블의 컬럼에 기본키(PK) 옵션을 지정해 중복 데이터 입력을 방지할 수 있다
- 기본키로 설정된 컬럼은 고유한 값만 저장해야 하기 때문에 다른 행과 중복된 값을 저장할 수 없도록 제약된다
- AUTO_INCREMENT 옵션 사용해 시스템에서 자동으로 일련번호 생성하도록 할 수 있다
- primary key 속성이 설정된 컬럼에 저장되는 값이 중복될 경우 에러 발생
- 기본키 제약조건 [ 무결성 제약조건 ] [ 개체무결성 제약조건 ] : 특정 컬럼을 Primary Key로 설정하면 중복 데이터 저장에 대한 제약이 설정된다
- 데이터 무결성 : 데이터가 중복지 않는다는 특성
- 해당 컬럼 명시하지 않아도 자동으로 기존의 값들 중 가장 큰 값보다 1 큰값이 저장되어, 데이터 교유성을 유지하게 된다
< 수정 UPDATE>
UPDATE 테이블이름 SET 컬럼=값, 컬럼=값, ... WHERE 검색조건;
update professor
set position = '조교수', sal = 200
where profno = 9903;
- where절 사용하지 않는 update
=> 모든 데이터가 같은 값으로 수정된다
< 삭제 DELETE >
DELETE FROM 테이블이름 WHERE 검색조건;
delete from student where studno = 20103;
- where절 사용하지 않는 delete 구문
=> 모든 데이터가 삭제된다
< 함수 사용 >
ex )
20101 학번 학생의 생년월일을 현재 시각으로 변경
update student set birthdate = now() where studno = 20101;
'IT > Database' 카테고리의 다른 글
| MySQL Database 구축하기 (1) | 2024.11.18 |
|---|---|
| MySQL 데이터베이스 관리 (3) | 2024.11.13 |
| 트랜잭션 Transaction (1) | 2024.10.08 |
| SubQuery (0) | 2024.10.07 |
| Database (0) | 2024.10.02 |