[MySQL] CRUD, 기본 쿼리 정리

Kai·2022년 12월 1일
0

MySQL

목록 보기
1/15

MySQL의 기본적인 쿼리들에 대해서 치팅 시트를 만들어보자! ㅎㅎ

⭐ INSERT : 데이터 생성

INSERT INTO users (name, age) VALUES ("이름1", 20);

⭐ SELECT : 데이터 조회

  • 전체 조회
SELECT * from users;
  • 특정 컬럼만 조회
SELECT name,age from users;
  • 조건부 조회 : WHERE문
SELECT * from users WHERE id = 1; 
  • 정렬 : ORDER BY문
SELECT * FROM users ORDER BY name ASC; // 오름차순(1-9, a-z, 과거-미래)
SELECT * FROM users ORDER BY name DESC; // 내림차순(9-1, z-a, 미래-과거)
  • 조회되는 갯수 제한 : LIMIT문
SELECT * from users LIMIT 10; // 첫번째행부터 10개
SELECT * from users LIMIT 10, 10; // 11번째 행부터 10개
  • 그룹화 : GROUP_BY문 (통계 기능에 자주 쓰임)
SELECT * from users GROUP BY age; // 나이별로 데이터가 조회된다.
  • 조건부 그룹화 : HAVING문
SELECT * from users GROUP BY age HAVING COUNT(age) = 1;

-> 전체 user데이터중에서 자신의 나이가 유일한 사람이 조회됨


⭐ UPDATE : 데이터 수정

UPDATE users SET age = 21 WHERE id = 1;

⭐ DELETE : 데이터 삭제

DELETE FROM users WHERE age = 20;

-> users테이블에서 age가 20인 데이터 모두 삭제


⭐ 데이터베이스 관련

  • 데이터베이스 조회
SHOW DATABASES;
  • 특정 데이터베이스 선택
USE {db명};
  • 데이터베이스의 메타 데이터 수정
ALTER DATABASE {db명} CHARACTER SET=utf8
ALTER DATABASE {dbaud} COLLATE=utf8
...

⭐ 테이블 관련

  • 테이블 생성
CREATE TABLE users
(
    ID INT,
    name VARCHAR(255)
)
  • 테이블 내용 삭제
DELETE TABLE `users`;
DELETE TABLE `users` WHERE `age` = 20;
  • 테이블 자체를 삭제
DROP TABLE `users`;
DROP TABLE if exists `users`;
  • 테이블에서 외래키 삭제
ALTER TABLE `users` DROP FOREIGN KEY `address`;
  • 컬럼 추가
ALTER TABLE `users` ADD `updated_at` timestamp AFTER `created_at`;

-> users테이블의 created_at컬럼 앞에 updated_at이라는 컬럼 추가

  • 컬럼 이름 변경
ALTER TABLE `users` CHANGE COLUMN `name` `username` VARCHAR(255) NOT NULL DEFAULT '' AFTER `age`;

-> users테이블의 name컬럼을 username으로 변경

  • 컬럼 수정
ALTER TABLE `users` MODIFY `name` LONGTEXT;

-> users 테이블의 name 컬럼을 LONGTEXT 타입으로 수정


⭐ 유저 관련


  • 유저 생성
CREATE USER '{유저 ID}'@'{호스트}' IDENTIFIED BY '{비밀번호}';

CREATE USER 'hello'@'%' identified BY 'world';
  • 유저 권한 부여
GRANT {all privileges, select, insert 등등} ON {DB이름}.{테이블} TO '{사용자}'@'{호스트}';

GRANT all privileges ON test.* TO 'hello'@'%';
  • 권한 즉시 반영
FLUSH PRIVILEGES;
  • 유저 삭제
DROP USER '{유저 ID}'@'{호스트}';
-- 또는 
DELETE FROM USER WHERE USER='{유저 ID}'@'{호스트}';

0개의 댓글