본문 바로가기

프로그래밍/SQL

6주차 데이터베이스실무

6주차 주요 개념들

1. 린스타트업 이론 기초

2. 데이터 베이스 실무와 관련된 개념, SQL 등을 학습함

 

 

 

 

1. mySQL에 접속

 

먼저 xampp를 설치하고

(설치하느라 애를 좀 먹었음)

 

terminal로 실행하고

mysql -uroot -p

를 입력하면 비밀번호 입력 칸이 나오는데 초기 설정이 빈칸이므로 그냥 엔터를 치면 실행된다.

 

MariaDB [(none)] >

이게 뜨면 이제 코드를 옆에 입력하면 된다!

 

 

 

 

2. 데이터베이스 생성

CREATE DATABASE sampledb default CHARACTER SET UTF8;
#데이터베이스를 생성하되 기본 문자 세트를 UTF8로 지정
SHOW DATABASES;
#디비를 보여주세요. 여기에서 databases에 s가 붙음에 주의
USE sampledb;
#샘플 디비를 사용하겠음

 

sql에서도 명령 끝에 ; 세미클론을 붙여주는 것이 중요하다. 세미클론을 찍지 않으면 한 칸 띄어진 상태로 화살표가 나오게 된다. 

 

이렇게 실행되면 성공

 

 

 

 

 

 

3. Member 테이블 생성하기

DROP TABLE member;
#혹시 있을 테이블을 생성시킴
CREATE TABLE member ( id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, last_name VARCHAR(50), first_name VARCHAR(50), age TINYINT UNSIGNED, PRIMARY KEY (id));
#create table member을 통해 테이블을 생성한다. id 한 칸 띄고 적혀있는 AUTO_INCREMENT는 자동으로 1씩 증가하는 것.
# varchar은 자유로운 문자열 입력을 받는 자료형이다.
# NOT NULL은 빈칸 금지

 

이 코드를 쓸 때 계속 에러가 나와서 좀 고생했다..

교수님이 도와주셨는데 피피티에 나온 것처럼 하지 말고 그냥 쭉 한 줄로 적는게 포인트일지도...

가독성은 조금 떨어지지만..... 아니면 그냥 단순 오타가 있었을지도,,,

 

 

 

 

첫번째 코드 블럭에서 에러가 나온 게 내가 한 것이고, 두 번째 코드에서 쭉 한 줄로 나열했더니 Query OK, 가 뜬 게 교수님이 적어주신 코드이다. 

 

 

 

 

 

 

3. 데이터 추가

 

그 다음은 만든 테이블에 데이터를 추가하면 된다.

이 과정에서 비슷한 코드가 계속 반복되니까 조금 귀찮을 수 있는데 이럴 때에는 키보드 방향키 중에서 위쪽 방향키를 누르면 직전에 내가 타이핑한 코드가 나와서 편하다

 

** 아 그리고 이건 한 번 입력하면 되돌릴 수 없는데 (오타가 있더라도)

그럴 때에는 control + c를 누르면 아예 초기화돼서 처음부터 실행할 수 있게 된다. ( 다시 mysql -uroot -p부터 하면 됨)

 

insert into member(last_name, first_name, age)
value('ko','gildong',21);

insert into member(last_name, fist_name, age)
value('park','hidong',18);

insert into member(lat_name, first_name, age)
value('ko','younghi',35);

insert into member(lat_name, first_name, age)
value('ko','chilsoo',10);

insert into member(lat_name, first_name, age)
value('park','jungja',28);

 

insert into member (last_name, first_name, age)를 치고 enter를 누르면

-> 이렇게 화살표가 뜨고 value ( ooo, ooo, oo); 를 해주면 마무리된다.

세미클론이 없으면 그 코드가 안 끝나서 계속 화살표가 나오게 되니 insert member()에는 세미클론을 붙이지 않게 조심해야 되고, value()에는 세미클론을 빠뜨리지 않게 조심해야 한다.

 

 

우리가 추가한 데이터를 보려면

SELECT * FROM member; 

코드를 이용하면 된다.

 

select * from member;

 

 

두 번째 코드 블럭처럼 읽어낼 데이터를 조건을 붙여서 한정할 수도 있다.

 

SELECT * FROM member WHERE age>20;
#where 뒤에 조건을 써줌
#age 칼럼에서 20을 초과하는 데이터가 대상이 됨

 

두 가지 조건을 이어 붙일 땐 && 을 쓰면 된다.

where age>20 && age <30;

 

 

 

 

 

 

 

 

4. 데이터 수정 및 삭제

 

UPDATE member SET last_name='kim' WHERE last_name = 'ko';

where 조건절이 last name이 ko인 데이터를 찾아서 SET 절에서 값을 수정한다

즉 ko -> kim

 

데이터를 삭제하는 코드는 아래와 같다.

DELETE FROM member WHERE first_name = 'gildong';

아까 select * from member 코드에서 

select * -> delete 만 바꾼 것이다.

 

 

나는 10번 인덱스에 있는 lee jelly를 -> kim jelly로 바꿔보았다. 

바꾸는 조건으로 where id = 10; 이렇게 줘봤고 결과를 확인한 후, id = 10인걸 지웠다.

 

 

 

id는 고유 식별의 기능을 해서 그런지 id=10인 데이터를 삭제해도 11이 10번이 되는 게 아니라 (python list에서는 하나를 없애면 인덱스가 한 칸씩 앞당겨졌다) 그냥 10번 인덱스가 비어있다고 나온다.

 

 

id >7인 데이터를 읽었을 때 10만 없는 걸 확인할 수 있다.