SQL - 시작하기 : 데이터 취업 스쿨 스터디 노트 12/18

slocat·2023년 12월 18일
0

start-data

목록 보기
42/75

1. database 관리

# root 계정으로 mysql 접속
mysql -u root -p

# mysql 종료
EXIT

# database 목록 확인
show databases;

# database 생성
create database testdb;

# databse로 이동
use testdb;

# database 삭제
drop database testdb;

2. user 관리

# user 조회
# 사용자 정보는 mysql에서 관리하므로 mysql 데이터베이스로 이동 후 조회
use mysql;
select host, user from user;

# user 생성
# 현재 PC에서만 접속 가능한 사용자 생성
create user 'username'@'localhost' identified by 'password';

# 외부에서 접속 가능한 사용자 생성
create user 'username'@'%' identified by 'password';

# user 삭제
drop user 'username'@'localhost'
drop user 'username'@'%'

3. user 권한 관리

# 실습 환경 설정
create database testdb;

# user 생성
use mysql
create user 'username'@'localhost' identified by 'password';
# user 권한 확인
show grants for 'username'@'localhost';

# user 권한 부여
# all: testdb의 모든 권한 부여
grant all on testdb.* to 'username'@'localhost';

# user 권한 삭제
revoke all on testdb.* 'username'@'localhost';

수정된 내용이 확인되지 않으면 새로고침 해보자.

flush privileges;

4. table 사용

# 실습 환경 설정
# 데이터베이스에서 사용할 기본 자료형은 utf8mb4(다국어 지원)
create database zerobase default character set utf8mb4;
# 테이블 생성
create table mytable(id int, name varchar(16));

# 테이블 목록 확인
show tables;

# 테이블 상세 정보 확인
desc mytable;

# 테이블 이름 변경
alter table mytable rename person;

# 컬럼 추가
alter table person add column agee double;

# 컬럼의 데이터 타입 변경
alter table person modify column agee int;

# 컬럼의 이름 변경
alter table person change column agee age int;

# 컬럼 삭제
alter table person drop column age;

# 테이블 삭제
drop table person;

5. INSERT : 데이터 삽입

입력한 컬럼 이름 순서와 값의 순서가 일치하도록 해야 한다.

insert into person (id, name, age, sex)
values (1, 'jenny', 20, 'F');

# 모든 컬럼 값을 추가할 때는 컬럼 이름 생략 가능
insert into person
values (1, 'jenny', 20, 'F');

6. SELECT : 데이터 조회

select * from person;

7. WHERE : 특정 조건을 만족하는 데이터 조회

select * from person where sex='F';
select * from person where age=20;

8. UPDATE : 데이터 수정

update person set age=30 where name='jenny';

where절을 넣지 않으면 모든 데이터의 age 값이 30으로 변경된다.

9. DELETE : 데이터 삭제

delete from person where name='tom';

where절을 넣지 않으면 테이블 내 전체 데이터가 삭제된다.

10. ORDER BY : 데이터 정렬

# 실습 환경 설정
create table celeb(
    ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    NAME varchar(32) NOT NULL DEFAULT '',
    BIRTHDAY date,
    AGE int,
    SEX char,
    JOB_TITLE varchar(16),
    AGENCY varchar(32)
);

ASC = 오름차순 (기본값)
DESC = 내림차순

select age, name from celeb order by age asc;
select age, name from celeb order by age desc;

select age, name from celeb order by age, name;
select age, name from celeb order by age desc, name asc;

0개의 댓글