유블로그

[MySQL] SQL 정리 본문

SQL

[MySQL] SQL 정리

yujeong kang 2020. 8. 20. 15:06

- SQL 분류

  DML 데이터 조작어
: 레코드를 CRUD
  INSERT 데이터베이스 객체에 데이터 입력
  UPDATE 데이터베이스 객체에 데이터 수정
  DELETE 데이터베이스 객체에 데이터 삭제
  SELECT 데이터베이스 객체에 데이터 조회
  DDL 데이터 정의어
: 객체 구조를 정의
  CREATE 데이터베이스 객체를 생성
  ALTER 데이터베이스 객체를 수정
  DROP 데이터베이스 객체를 삭제
  RENAME  
  TCL 트랜잭션 제어어   COMMIT 실행한 query를 최종적으로 적용
  ROLLBACK 실행한 query를 마지막 commit 전으로 취소시켜 데이터를 복구
  DCL 데이터 제어어   GRANT 데이터베이스 객체에 권한을 부여
  REVOKE 데이터베이스 객체 권한 취소

 

1. CREATE 

-- 컬럼 레벨 제약조건 설정
CREATE TABLE groupcode (
	gcode char(3) PRIMARY KEY,
	gname varchar(20) NOT null
);
-- 테이블 레벨 제약조건 설정 (NOT NULL은 컬럼 러벨 설정만 가능)
CREATE TABLE groupcode (
	gcode char(3),
	gname varchar(20) NOT null,
	PRIMARY key(gcode)
);
-- 컬럼레벨을 이용한 제약조건 설정
CREATE TABLE product (
	code char(3) PRIMARY KEY,
	pname varchar(20) NOT NULL UNIQUE,
	cost int CHECK(cost > 0),
	pnum int,
	jnum int default(0),
	sale int,
	gcode char(3) NOT NULL REFERENCES groupcode(gcode)
);
-- 테이블 레벨 제약조건 설정
CREATE TABLE product (
	code char(3),
	pname varchar(20) NOT NULL,
	cost int,
	pnum int,
	jnum int DEFAULT 0,
	sale int,
	gcode char(3) NOT NULL,
	PRIMARY KEY(code),
	UNIQUE(pname),
	CHECK(cost > 0),
	FOREIGN KEY(gcode) REFERENCES groupcode(gcode)
);

 

2. INSERT 

INSERT INTO STUDENT (num, name, phone )
VALUES (1, '김땡땡', '010-1234-5678');

 

3. SELECT 

SELECT * FROM STUDENT ;
SELECT NAME, NAME FROM STUDENT ;
SELECT * FROM STUDENT WHERE num=1;

 

4. UPDATE 

UPDATE  STUDENT 
   SET  NAME= '이땡땡'
 WHERE  NUM = 1;

 

4. DELETE 

DELETE FROM STUDENT WHERE name='이땡땡';

 

5. ALTER 

ALTER TABLE STUDENT MODIFY COLUMN num int PRIMARY KEY;

ALTER TABLE STUDENT ADD COLUMN age int;

 

6. DROP 

DROP TABLE STUDENT ;

 

6. auto_increment  - 컬럼 값이 자동 증가됨

CREATE TABLE STUDENT  (
  num int not null auto_increment,
  name varchar(50),
  age int,
  gender char(1),
  phone varchar(11),
  PRIMARY KEY (num)
);

 

7. count, sum 

SELECT COUNT(*) FROM STUDENT;
SELECT COUNT(*) FROM STUDENT WHERE GENDER='F';
SELECT SUM(AGE) FROM STUDENT;

 

 

 

 

 

'SQL' 카테고리의 다른 글

[SQL] SET (집합연산자)  (0) 2020.10.15
[SQL] 집계함수, GROUP BY  (0) 2020.10.15
IN, ANY, ALL  (0) 2020.10.14
Subquery  (0) 2020.10.13
JOIN - INNER JOIN, NATURAL JOIN, OUTER JOIN  (0) 2020.10.13