SQL3, 4

이재훈·2024년 2월 4일
1

Zerobase_DA3_SQL

목록 보기
2/16

제로베이스 DA 1일차
SQL 3,4강의 내용 정리

1,2강의는 sql에 대한 간단한 인트로, 사용자 생성, 삭제, 권한부여에 대한 내용이였음.

3,4강의는 table 생성, 삭제, insert 등 데이터 입력과 관련된 내용임.

START..
데이터베이스를 생성할 때
create database zerobase default character set utf8mb4;
문자인코딩방식 utf8, 다양한 이모지 사용 mb4!

테이블은 Database안에 들어가 있는 녀석으로 생각하자.

"A"라는 엑셀파일안에 여러가지 시트가 들어갈 수 있다.
여기서 Database = 엑셀파일, 테이블 = 시트 1장 현재 시점에서는 이해하기 편할 듯.

1 ) 테이블 생성 / 삭제 / 정보조회

테이블을 생성하기 위해서는 Create 구문을 사용하면 되는데, 그 전에 내가 이 테이블을
어떤 database에 넣을건지 선언을 하기 위해 다음과 같은 명령어를 사용한다.
아래 명령어에서는 zerobase라는 database를 사용한다고 선언한 것이다.

use zerobase

이후 테이블을 선언하는 과정은 C언어에서 변수를 선언하는 과정과 유사하다고 보면된다.
mytable이라는 테이블을 만들건데, id라는 정수형 데이터랑, name라는 16칸문자열이다.
create table mytable ( id int, name varchar(16) );

show tables; 를 통해 이 database에 있는 테이블을 조회하고, 아래 사진과 같다.

어떤 테이블이 어떤 변수를 갖는지 보기위해서는 desc mytable; 를 사용한다.

테이블을 삭제할 때는 drop table animal;을 사용하면 된다.
나는 animal이라는 테이블을 삭제 할 것이다 라는 의미이고 아래와 같은 결과이다.

이제부터는 다양한 테이블은 특징을 변경하는 방법들이다.

2 ) 테이블 이름변경, 칼럼추가, 데이터형 변경

테이블의 이름을 변경하기 위해 다음과 같은 명령어를 사용한다.

alter table mytable rename person;

alter table mytable는 " 나 mytable이라는 녀석을 조작할거야 "라는 의미이다.
치고 엔터를 누르면 꺽쇠가 나오는데, 이때 어떤 조작을 할지 말해주면 된다.
한번에 타이핑해도 상관없음, sql은 세미콜론이 나와야 어떤 동작을 실행하기 때문이다. 아래 사진참고

alter table person add column agee double;
실수형 데이터 agee를 추가 할거라는 명령어 이다. 결과는 아래사진과 같다.

여기서 ! double형의 변수를 int형으로 바꾸는 방법은? 다음 명령어이다.
alter table person modify column agee int;
->person이라는 테이블의 agee의 데이터형은 int로 바꾼다라는 의미.

또 agee라는 이름을 age로 바꾸려면?
alter table person change column agee age int;

age를 삭제하려면 ?
alter table person drop column age;

위 아래의 desc 결과를 비교하는 drop된 것을 알 수 있다.

3 ) 테이블에 데이터 삽입하기 등등...

종류는 selcet / insert / update / where

select는 테이블에서 어떠한 내용을 가져올 때
insert는 테이블에 어떤 데이터를 넣을 때
update는 데이터를 최신화할 때
where은 if문 !

위 사진에서 insert와 select를 둘다 설명할 수 있다.

person이라는 테이블에 ~~ 이런 정보를 넣기 위해서 아래와 같은 명령어를 사용한다.
insert into person(id,name, age, sex) values(1,'이효리',43,'F');
여기서 주의 할 점은 values(~~)순서대로 id, name, age, sex라는 변수에 저장된다.
그래서 순서를 유의해야함.

insert into person values(1,'이효리',43,'F');
이렇게 써도 동일한 결과가 입력된다.

select name from person;
person이라는 테이블에서 name이라는 정보만 가져올게요! 라는 명령어이고 위 사진 중간에 결과가 보인다.
만약 name대신 ' * '을 넣는다면, person에서 갖는 모든 column변수 다 가져올게요! 라는 의미.


이 사진은 update와 where에 대한 예시이다.
update person set name = '이효리' , age = 23 where id=1;

person 테이블을 set할거에요~ name, age를 이렇게요! , id가 1 인 사람을요!


update person set age=23 where name = '이효리'
person이라는 테이블에서 이름이 이효리라면, age를 23으로 바꿀거에요!

delete from person where name = '이상순';'
person이라는 테이블에서 이름이 이상순이라면, 삭제해요!!

inserto into ~
update ~ set~
delete from ~

항상 같이 다니는 녀석들 !

profile
💻 To be a Data analyst

0개의 댓글