코딩하는 타코야끼

[스터디 노트] Week8_1일차 [basic_1 ~ 4] - SQL 본문

zero-base 데이터 취업 스쿨/스터디 노트

[스터디 노트] Week8_1일차 [basic_1 ~ 4] - SQL

가스오부시 2023. 8. 23. 01:10
728x90
반응형

1. 데이터 언어

📎 데이터 정의 언어 (DDL: Data Definition Language)

  • CREATE, ALTER, DROP 등의 명령어

📎 데이터 조작 언어 (DML: Data Manipulation Language)

  • INSERT, UPDATE, DELETE, SELECT 등의 명령어

📎 데이터 제어 언어 (DCL: Data Control Language)

  • GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어

2. 데이터베이스 및 권한 관리


📍 데이터베이스 생성 및 삭제


📍 User 생성 및 삭제

  • 나만 접속 가능한 사용자 id 와 비밀번호 생성

  • 외부에서 접속 가능한 사용자 id 비밀번호 생성

  • User 삭제

❗️ Error 메모

  • 해당 오류는 MySQL 또는 MariaDB에서 비밀번호를 설정할 때 해당 비밀번호가 서버의 비밀번호 정책을 충족하지 않을 때 발생합니다


📍 사용자에게 특정 데이터베이스 권한 부여

GRANT ALL ON dbname.* TO 'noma'@'localhost';
SHOW GRANTS FOR 'noma'@'localhost'; # 조회


📍 사용자에게 특정 데이터베이스 권한 삭제

REVOKE ALL ON dbname.* FROM 'noma'@'localhost';
SHOW GRANTS FOR 'noma'@'localhost';

 

❗️ 수정내용이 적용이 되지 않은 경우 새로 고침

FLUSH PRIVILEGES;

3. Table 생성과 변경 및 삭제


📍 기초 환경 구축

# 데이터베이스 생성
CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4;
USE zerobase;
# 테이블 생성
CREATE TABLE zero (id INT, name VARCHAR(16));
SHOW TABLES;


📍 테이블 정보 확인

DESC zero;


📍 ALTER TABLE

# 테이블 이름 수정
# ALTER TABLE 수정할 테이블이름  // RENAME  테이블이름
ALTER TABLE tablename RENAME new_tablename;

# 테이블의 컬럼 추가
# ALTER TABLE 수정할 테이블이름  // ADD COLUMN 컬럼이름 컬럼타입
ALTER TABLE tablename ADD COLUMN column name datatype;

# 테이블의 컬럼 데이터타입 수정
# ALTER TABLE 수정할 테이블이름  // MODIFY COLUMN 컬럼이름 컬럼타입
ALTER TABLE tablename MODIFY COLUMN column name datatype;

# 테이블의 컬럼이름 수정
# ALTER TABLE 수정할 테이블이름 // CHANGE COLUMN 바꿀이름 바뀔이름 데이터타입
ALTER TABLE tablename CHANGE COLUMN old_name new_name datatype;

# 테이블의 컬럼 삭제
# ALTER TABLE 수정할 테이블이름 // DROP COLUMN 삭제할 컬럼이름
ALTER TABLE tablename DROP COLUMN columnname;

4. DML - 데이터 조작 언어


📍 INSERT: 데이터추가

INSERT INTO tablename (col1, col2)
VALUES (data1, data2)

# 모든 컬럼값을 추가하는 경우 -> 컬럼 이름 지정 X
# 하지만 입력하는 값의 순서가 테이블의 컬럼 순서와 일치하도록 주의
INSERT INTO tablename
VALUES (data, data, data...);

# ex)
INSERT INTO person(id, name, age)
VALUES (1, 유재석, 45)

📍 SELECT: 데이터 조회

SELECT col
FROM tablename;

# ex)
SELECT * FROM person;

📍 UPDATE: 데이터 수정

UPDATE person
SET col1=value1
WHERE 조건;

# ex)
UPDATE table
SET age=50
WHERE name='유재석';

📍 DELETE: 데이터 삭제

DELETE FROM tablename
WHERE 조건;

# ex)
DELETE FROM person
WHERE name='유재석';

5. ORDER BY

  • ASC(Ascending): 오름차순으로 정렬
  • DESC(Descending): 내림차순으로 정렬
SELECT col1
FROM tablename
ORDER BY col1 DESC; # or ASC;
반응형