[제로베이스 데이터 분석 취업 스쿨]Day10 SQL

Database 정의

여러 사람이 공유하여 사용할 목적으로 체계화통합, 관리하는 데이터의 집합체

 

DMMS란?

데이터베이스관리해주는 시스템을 말해준다. 

 

RDB란?

서로간에 관계가 있는 데이터 테이블들을 모아둔 데이터 저장공간 

 

SQL이란?

데이터베이스를 정의, 조작, 제어하기 위해 사용하는 언어

 

DDL

CREATE, ALTER, DROP

 

DML

INSERT, UPDATE, DELETE, SELECT

데이터사이언티스트DMLSELECT문을 주로 많이 사용한다. 

 

DCL

GRANT, REVOKE, COMMIT, ROLLBACK

 

User 관리

사용자 정보 mysql 데이터베이스에서 관리하므로 일단 mysql 데이터베이스로 이동후 조회한다. 

 

Local에서 접속 가능한 유저 생성

현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성(noma, 1234)

CREATE USER 'noma'@'localhost' identified by '1234'

 

외부에서 접속 가능한 유저 생성

현재 PC에서만 접속 가능한 사용자를 비밀번호와 함께 생성(noma, 1234)

CREATE USER 'noma'@'%' identified by '1234'

 

User 삭제

DROP USER 'username'@''localhost'
DROP USER 'username'@''%'

 

실습

권한 관리를 실습하기 위한 Database 생성 

 

 

User 생성 

 

User 권한 관리 

사용자에게 부여된 모든 권한 목록 확인

 

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

GRANT ALL ON dbname.* to 'username'@'localhost';

사용자에게 특정 데이터베이스의 모든 권한을 삭제

REVOKE ALL ON dbname.* from 'username'@'localhost';

 

실습

사용자에게 모든 권한 부여 

처음에는 에러가 났다.

하지만, 사용자 root에게 다른 유저에게 권한을 줄 수 있는 권한을 주고 나니 오류가 해결되었다.

새로고침한다.

권한 확인

권한 삭제 

 

테이블 생성(CREATE)

Describe 쿼리문을 사용하여서 테이블 상세 정보를 확인할 수 있다. 

 

테이블 정보 변경(ALTER)

ALTER~RENAME 쿼리를 사용하여서 테이블 이름을 변경할 수 있다. 

ALTER~ADD를 사용하여서 테이블에 칼럼을 추가할 수 있다. 

ALTER TABLE tablename
ADD COLUMN columnname datatype;

ALTER~MODIFY를 사용하여서 테이블자료구조를 바꿀 수 있다. 

ALTER TABLE tablename
MODIFY COLUMN columnname datatype;

ALTER~CHANGE를 사용하여서 테이블명을 바꿀 수 있다. 

ALTER TABLE tablename
CHANGE COLUMN old_columnname new_columnname new_datatype;

 

DROP 

테이블 칼럼 삭제 

ALTER TABLE tablename
DROP COLUMN columname;

 

INSERT

데이터 삽입 

 

SELECT

데이터 검색

 

UPDATE

조건에 맞는 데이터를 업데이트 한다.(where절 생략 가능)

조건이 없는 경우에는 테이블에 있는 열 전체가 변경할 값으로 UPDATE 됩니다.

UPDATE tablename
SET column1 = value1, column2 = value2, ...
WHERE condition;

 

DELETE

DELETE FROM tablename
WHERE condition;

WHERE절을 생략하면 테이블 전체가 삭제된다.