데이터 스쿨 8주차 학습내용 정리 - 1

호진·2023년 12월 22일
0

AI_스쿨

목록 보기
30/51
post-thumbnail

이번주 이야기

학교에서 주최하는 빅데이터 교육을 들으러 갔다왔더니 sql 강의가 50개가 쌓여있는 모습을 볼 수 있었다.. 그걸 처리하느라 이번주는 정리는 몇개 없을꺼 같다.. 주말에 다 끝낼수 있기를...

Database 관리

데이터베이스(Database)는 정보를 체계적으로 저장하고 관리하는데 사용되는 시스템입니다. MySQL에서는 다양한 데이터베이스를 생성하고 관리할 수 있습니다.

SHOW databases

데이터 베이스 목록을 출력해줍니다.

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
| zerobase           |
+--------------------+

다음과 같이 가지고있는 데이터베이스들을 출력해줌

CREATE 데이터베이스명
USE 데이터베이스명
DROP DATABASE 데이터베이스명

각각

데이터베이스 생성
사용할 데이터베이스를 지정
데이터베이스 삭제

User 계정 관리

MySQL에서는 사용자 계정을 생성하고 권한을 할당하여 데이터베이스에 접근 및 조작할 수 있습니다. 사용자 계정을 효율적으로 관리하면 보안과 데이터의 무결성을 유지할 수 있습니다.

select host, user from user;

SQL 쿼리는 "user" 테이블에서 "host"와 "user" 열을 선택하는 것입니다. 이 쿼리는 MySQL 데이터베이스에서 특정 테이블에서 원하는 열의 데이터를 조회하는 기본적인 형태의 SELECT 문입니다.

User 권한 관리

사용자 권한 관리는 각 사용자에 대한 특정 데이터베이스 또는 테이블에 대한 접근 권한을 관리하는 과정입니다. 필요한 권한만을 부여하여 보안을 강화하고 데이터의 손상을 방지할 수 있습니다.

create user 'username'@'localhost' identified by 'password';

create user 'username'@'%' identified by 'password';

MySQL 데이터베이스에 새로운 사용자를 생성하는 명령어입니다. 여기서 'username'은 사용자의 이름, 'localhost'는 해당 사용자가 접속할 수 있는 호스트를 나타냅니다. 'identified by' 다음의 'password'는 사용자의 비밀번호를 설정합니다
%를 사용하면 로컬환경 뿐만 아니라 외부 환경에서도 접근 할 수 있도록 해줍니다.

Table 생성

테이블은 데이터를 구조화하고 저장하는 데 사용됩니다. MySQL에서는 테이블을 생성하여 필요한 필드와 데이터 형식을 정의할 수 있습니다.

create table zero (id int , name varchar(16));

테이블을 생성하고 테이블 내부에 어떤 형식의 행렬을 구성할지를 적어줌

Table 변경 및 삭제

테이블의 구조를 변경하거나 삭제하는 것도 가능합니다. 필드를 추가하거나 삭제하거나, 테이블 자체를 삭제함으로써 데이터를 유연하게 관리할 수 있습니다.

ALTER TABLE mytable RENAME person;

ALTER TABLE person ADD COLUMN agee double;

ALTER TABLE person MODIFY COLUMN agee int;

다음과 같이 ALTER TABLE을 사용하여 컬럼명을 바꾸거나 컬럼을 추가, 데이터 타입을 바꿀수도 있습니다.

ALTER TABLE person CHANGE COLUMN agee age int;

다음과 같이 하면 컬럼명과 데이터타입을 한번에 바꿀수도 있습니다.

INSERT 구문

INSERT 문은 데이터베이스에 데이터를 넣는 구문이며 다음과 같이 사용된다.

 insert into celeb values (1, '아이유', '1993-05-16', 29. 'F', '가수, 텔런트', 'EDAM엔터테이먼트');

이렇게 데이터를 삽입하면 다음과 같이 데이터가 데이터베이스에 들어가게 된다.

+----+--------+------------+------+------+--------------+------------------+
| ID | NAME   | BRITHDAY   | AGE  | SEX  | JOB_TITLE    | AGENCY           |
+----+--------+------------+------+------+--------------+------------------+
|  1 | 아이유 | 1993-05-16 |   29 | F    | 가수, 텔런트 | EDAM엔터테이먼트 |
+----+--------+------------+------+------+--------------+------------------+
+----+--------+------------+------+------+------------------+------------------+
| ID | NAME   | BRITHDAY   | AGE  | SEX  | JOB_TITLE        | AGENCY           |
+----+--------+------------+------+------+------------------+------------------+
|  1 | 아이유 | 1993-05-16 |   29 | F    | 가수, 텔런트     | EDAM엔터테이먼트 |
|  4 | 강동원 | 1981-01-18 |   41 | M    | 영화배우 ,텔런트 | YG엔터테이먼트   |
|  7 | 이수현 | 1999-05-04 |   23 | F    | 가수             | YG엔터테이먼트   |
|  6 | 차승원 | 1970-06-07 |   48 | M    | 영화배우, 모델   | YG엔터테이먼트   |
|  3 | 송강   | 1994-04-23 |   28 | M    | 텔런트           | 나무엑터스       |
|  5 | 유재석 | 1972-08-14 |   50 | M    | MC, 개그맨       | 안테나           |
|  2 | 이미주 | 1994-09-23 |   28 | F    | 가수             | 울림엔테이먼트   |
+----+--------+------------+------+------+------------------+------------------+

다음과 같은 데이터가 데이터베이스안에 있다고 가정하겠습니다.

SELECT와 WHERE 구문

SELECT 문은 데이터베이스에서 데이터를 검색하는 데 사용되며, WHERE 절을 통해 특정 조건을 만족하는 데이터만을 선택할 수 있습니다. 이를 통해 필요한 정보에 접근할 수 있습니다.

select * from celeb where age > 29 and sex = 'M' order by age desc;

다음과 같이 29살 이상이며 성별이 남자인 데이터를 오름차순으로 찾아오면

+----+--------+------------+------+------+------------------+----------------+
| ID | NAME   | BRITHDAY   | AGE  | SEX  | JOB_TITLE        | AGENCY         |
+----+--------+------------+------+------+------------------+----------------+
|  5 | 유재석 | 1972-08-14 |   50 | M    | MC, 개그맨       | 안테나         |
|  6 | 차승원 | 1970-06-07 |   48 | M    | 영화배우, 모델   | YG엔터테이먼트 |
|  4 | 강동원 | 1981-01-18 |   41 | M    | 영화배우 ,텔런트 | YG엔터테이먼트 |
+----+--------+------------+------+------+------------------+----------------+

다음과 같이 찾아 올수있게 됩니다.

UPDATE와 DELETE 구문

UPDATE 문은 데이터를 업데이트하고, DELETE 문은 데이터를 삭제하는데 사용됩니다. 이를 통해 데이터를 효과적으로 수정하거나 불필요한 데이터를 삭제할 수 있습니다.

update person set sex = 'F' where name = '유재석';

다음과 같이 실행을 하면 유느님의 성별이 여자로 데이터베이스에 변경되게 됩니다.

DELETE FROM person where sex ='F';

다음과 같이 작성하면 person 테이블에 있는 여자 데이터들을 삭제 할수있게 됩니다.

profile
중요한 건 꺽였는데도 그냥 하는 마음

0개의 댓글