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만 없는 걸 확인할 수 있다.