학교에서 주최하는 빅데이터 교육을 들으러 갔다왔더니 sql 강의가 50개가 쌓여있는 모습을 볼 수 있었다.. 그걸 처리하느라 이번주는 정리는 몇개 없을꺼 같다.. 주말에 다 끝낼수 있기를...
데이터베이스(Database)는 정보를 체계적으로 저장하고 관리하는데 사용되는 시스템입니다. MySQL에서는 다양한 데이터베이스를 생성하고 관리할 수 있습니다.
SHOW databases
데이터 베이스 목록을 출력해줍니다.
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
| zerobase |
+--------------------+
다음과 같이 가지고있는 데이터베이스들을 출력해줌
CREATE 데이터베이스명
USE 데이터베이스명
DROP DATABASE 데이터베이스명
각각
데이터베이스 생성
사용할 데이터베이스를 지정
데이터베이스 삭제
MySQL에서는 사용자 계정을 생성하고 권한을 할당하여 데이터베이스에 접근 및 조작할 수 있습니다. 사용자 계정을 효율적으로 관리하면 보안과 데이터의 무결성을 유지할 수 있습니다.
select host, user from user;
SQL 쿼리는 "user" 테이블에서 "host"와 "user" 열을 선택하는 것입니다. 이 쿼리는 MySQL 데이터베이스에서 특정 테이블에서 원하는 열의 데이터를 조회하는 기본적인 형태의 SELECT 문입니다.
사용자 권한 관리는 각 사용자에 대한 특정 데이터베이스 또는 테이블에 대한 접근 권한을 관리하는 과정입니다. 필요한 권한만을 부여하여 보안을 강화하고 데이터의 손상을 방지할 수 있습니다.
create user 'username'@'localhost' identified by 'password';
create user 'username'@'%' identified by 'password';
MySQL 데이터베이스에 새로운 사용자를 생성하는 명령어입니다. 여기서 'username'은 사용자의 이름, 'localhost'는 해당 사용자가 접속할 수 있는 호스트를 나타냅니다. 'identified by' 다음의 'password'는 사용자의 비밀번호를 설정합니다
%를 사용하면 로컬환경 뿐만 아니라 외부 환경에서도 접근 할 수 있도록 해줍니다.
테이블은 데이터를 구조화하고 저장하는 데 사용됩니다. MySQL에서는 테이블을 생성하여 필요한 필드와 데이터 형식을 정의할 수 있습니다.
create table zero (id int , name varchar(16));
테이블을 생성하고 테이블 내부에 어떤 형식의 행렬을 구성할지를 적어줌
테이블의 구조를 변경하거나 삭제하는 것도 가능합니다. 필드를 추가하거나 삭제하거나, 테이블 자체를 삭제함으로써 데이터를 유연하게 관리할 수 있습니다.
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 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 * 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 person set sex = 'F' where name = '유재석';
다음과 같이 실행을 하면 유느님의 성별이 여자로 데이터베이스에 변경되게 됩니다.
DELETE FROM person where sex ='F';
다음과 같이 작성하면 person 테이블에 있는 여자 데이터들을 삭제 할수있게 됩니다.