SQL 모음집

성유진·2024년 9월 1일

내가 보려고 쓰는 SQL문 모음집

DDL(Data Definition Language)

CREATE

CREATE TABLE [테이블이름] ([컬럼이름, 자료형, 제약조건들, …])

CREATE TABLE task (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(50),
    content VARCHAR(255),
    categoryId INT
);

ALTER

  • 컬럼 추가
    ALTER TABEL [테이블이름] ADD COLUMN [컬럼이름][컬럼속성]
ALTER TABLE task ADD COLUMN createdTime TIMESTAMP;

DROP

DROP [테이블이름]

TRUNCATE

TRUNCATE TABLE [테이블이름]

테이블에 있는 데이터를 모두 제거한다
ROLLBACK이 불가능!

DML(Data Manipulation Language)

SELECT

SELECT [컬럼이름] FROM [테이블이름]

DELETE

DELETE FROM [테이블이름]

where절로 조건을 지정하지 않으면 테이블의 전체 행을 제거한다

INSERT

INSERT INTO [테이블이름] VALUES [컬럼이름]

여러 행을 삽입할 수도 있다.

INSERT INTO link VALUES (1, 'http://naver.com', 'NAVER');

INSERT INTO link(url, url_name) 
VALUES
	('http://google.com', 'Google'),
	('http://facebook.com', 'Facebook'),
	('http://naver.com', 'Naver');

UPDATE

UPDATE [테이블이름] SET [수정할컬럼=값]

delete와 마찬가지로 where절로 조건을 지정하지 않으면 테이블의 전체 행을 수정한다

UPDATE link SET description='No information' WHERE description IS NULL;

DCL(Data Control Language)

CREATE USER

CREATE USER [사용자이름]@[호스트] IDENTIFIED BY [비밀번호]

  • 호스트
    특정 ip를 지정하거나 localhost로 설정 가능하다.
    %로 지정하면 어떤 호스트로 접근하든지 허용한다.
CREATE USER 'yujin'@'%' IDENTIFIED BY '1234';

GRANT

GRANT [권한] ON [테이블이름] TO [사용자이름]@[호스트이름]

  • 권한
    select, create와 같은 명령어를 지정하여 권한을 설정할 수 있다.
    all로 지정하면 모든 권한을 허용하는 것이다.
grant all on taskify.* to 'yujin'@'%' with grant option;

+) MySQL 명령어

FLUSH

어떤 요소를 갱신한다.

  • FLUSH PRIVILEGES : 사용자 권한을 갱신한다
  • FLUSH LOGS : MySQL 서버의 로그 파일을 닫고 새로운 로그 파일을 연다

USE

USE [데이터베이스 이름]

데이터베이스를 선택하여 작업을 수행할 수 있게 한다.

SHOW

MySQL 서버의 다양한 정보를 보여준다

  • SHOW DATABASES : 데이터베이스 목록을 보여준다
  • SHOW TABLES : 현재 데이터베이스의 테이블 목록을 보여준다
  • SHOW STATUS : 서버의 상태 정보를 보여준다

0개의 댓글