본문 바로가기

& 프로그래밍/& MySQL

MySQL 활용하기 -2

지난 활용하기 1탄을 그대로 따라오셨다면 이제 본격적으로 SQL에서 문법을 작성하는 방법을 배워보자

MySQL을 실행시키면 메인화면에 지난 시간에 만들어 둔 커넥션이 뜬다

이걸 클릭해서 데이터베이스에 진입하여 본격 시작!

기본 화면에 대해 몇가지 살펴보자

1. SQL 쿼리를 작성할 노트 생성
1-1. 1과정에서 생성하여 열린 노트들을 볼 수 있다
2. 스키마 생성 : 데이터 베이스에 들어갈 스키마를 만들어 저장토록 하는 개념
2-1. 생성된 스키마는 옆쪽에 표시가 된다
3. 쿼리 실행 : 노트에 작성한 쿼리들을 실행시켜준다
4. 지정 쿼리 실행 : 노트에 작성한 쿼리 중 자신의 커서가 위치한 쿼리만 실행시킨다(ctrl+엔터)

위 캡쳐처럼 순서대로 클릭한다.

1. 현재 데이터베이스 스키마를 보여준다

2. 데이터베이스 생성 - 이름을 지정해주고 우측 하단에 'Apply' 클릭하면 생성완료!

 

그럼 좌측 스키마에 내가 생성한 데이터베이스가 원통형 아이콘으로 만들어진다

 

이제 본격적으로 데이터베이스를 만져보자(use)
use yhdb;
-- 파이썬에서 주석을 작성할때는 ##이었지만
-- SQL에서 주석을 작성할때는 앞에 하이픈 두개를 붙인다

use 라는 명령어를 이용해 내가 사용할 데이터베이스를 호출해주어야 한다

 

 

테이블을 생성하자(create table)

데이터베이스 안에는 테이블(table)이라는 것이 존재한다. 쉽게말해 데이터프레임을 조작할 틀을 생성하는 것이다

-- create라는 명령어를 사용하여 yhdb라는 테이블을 생성한다
create table cats;

-- 위처럼 테이블은 생성하였지만 문제가 있다. 
-- 파이썬에서 dataframe을 만들때 필요한 조건이 뭔가? 행과 열이 존재해야한다!
-- 지금 상태는 행과 열이 존재하지 않는 빈껍데기만 만들어낸 것이다
-- 먼저 컬럼을 생성해서 기본 틀을 만들어보자

create table cats(name varchar(100), age int);
-- cats라는 테이블 안에 name컬럼과 age 컬럼을 생성하였다
-- name은 문자열로 입력되도록 varchar를 넣어준다
-- varchar 뒤에는 이름으로 입력받을 문자수를 넣어준다
-- age는 숫자로 입력되도록 int를 넣어준다

그리고 테이블이 제대로 생성되었는지 확인하기 위해 좌측 스키마에서 생성한 테이블을 선택하고

맨 우측에 표처럼 보이는 아이콘을 클릭하면 테이블을 출력해서 보여준다

name컬럼과 age컬럼이 정상적으로 입력된 걸 볼 수 있다

 

테이블 안에 정보를 삽입하는 방법(insert)

name과 age를 받을 수 있는 컬럼에 정보를 삽입하려면 insert라는 명령어를 사용한다

-- 1. insert할 테이블을 선택한다
insert into cats

-- 2. 선택한 테이블에 입력할 컬럼을 써준다
insert into cats(name, age)

-- 3. 이제 name과 age에 값을 입력해줄 수 있는데
-- 이 때 주의해야 할 점은 앞에 컬럼이 입력된 순서대로 값을 넣어주어야 한다
-- 나는 name, age 순으로 입력했기에 값을 넣을때도 그 순서를 지켜서 입력한다
insert into cats(name, age) values ('navi',7);
테이블 정보를 확인하는 방법(desc)

desc는 내가 만든 테이블의 정보를 확인하는 방법으로 파이썬에 .describe()와 비슷한 의미인데

테이블내에 들어있는 데이터의 요약을 보여주는 파이썬과 달리, MySQL에서는 테이블에 생성된 컬럼에 대한 정보를 보여준다

 

-- 내가 생성한 테이블의 컬럼 정보를 가져오는 방법
desc cats;

위와 같이 입력하고 ctrl+엔터를 누르면 아래와 같이 요약 창이 뜬다

 

1. Field : 내가 생성한 컬럼의 이름을 보여준다

2. Type : 컬럼의 타입, 최초 컬럼 생성을 하면서 숫자(int)로 받을지, 문자(varchar)로 받을지 입력한 값이 나온다

3. Null : NaN값을 허용하는지 보여준다

4. Default : 컬럼의 고정값으로 사용자가 해당 컬럼의 값을 입력하지 않으면 여기에 설정한 값이 고정되어 입력된다

 

회원번호,일련번호 부여하기(auto_increment)

우리가 특정 사이트에 가입을 하기 위해선 여러가지 정보를 입력한다

문자열로 구성된 이름, 아이디, 패스워드도 있을테고, 숫자로 구성된 생일, 주민번호 등이 있다

그런데 개인마다 다른 고유의 값도 존재할 것이고, 동명이인, 생일이 같은 사람도 존재하지 않을까?

그 정보들은 당연히 데이터베이스에 저장을 하되, 컴퓨터의 원활한 처리를 위해 우리가 추가적으로 번호를 생성하여

원활하게 관리토록 하는 방법이 바로 auto_increment이다

 

예를 들어 회사에서 직원을 관리하는 시스템을 구축할때 직원마다 고유 ID를 생성시켜 관리하고자 한다면

아래와 같이 작성한다

-- auto_increment는 테이블을 생성할때 해당 컬럼에 같이 설정해주면 된다.
create table employees(
	id int not null auto_increment,
    first_name varchar(50),
    last_name varchar(50),
    age int,
    primary key(id));

자, 여기서 중요한 점은 auto_increment로 회원번호가 자동으로 생성되면서 이 값이 고유한 값이 되도록 primary key를 잡아주어야 한다

위 처럼 primary key를 마지막에 입력해주기도 하지만, 조금 더 편한 방법으로는 아래처럼 작성하면 된다

-- auto_increment 옆에 primary key를 함께 작성해주자
create table employees(
	id int not null auto_increment primary key,
    first_name varchar(50),
    last_name varchar(50),
    age int);

이렇게 테이블 세팅이 끝나고 난 뒤, 각 컬럼에 값을 입력할때는 id를 제외한 나머지만 입력해주면 된다

id는 컴퓨터가 자동으로 값을 입력해주기 때문이다~

insert into employees(last_name, first_name, age) values('mike','jordan',22);

 

'& 프로그래밍 > & MySQL' 카테고리의 다른 글

MySQL 활용하기 -1  (0) 2021.03.15