인공지능 개발일지

[MySQL] MySQL 기본 사용 법 (feat. 매우 간단!) 본문

개발 지식/데이터베이스(DB)

[MySQL] MySQL 기본 사용 법 (feat. 매우 간단!)

Prcnsi 2021. 9. 7. 17:20
728x90

요새 판다스로 머신러닝 공부하고 있는데 SQL과 비슷하다고 느꼈다.
근데 개인적으로 판다스가 더 어려운 것 같다는.. 여하튼 코드 주석으로 설명을 대체하겠다.

SQL은 기본 명령 구조가 비슷해서 비교적 쉽게 사용할 수 있었다.

MySQL은 터미널에서 사용할 수도 있고 API로 웹과 연동해서 사용할 수도 있다.
대부분의 웹은 API를 사용한다.

1. 터미널에서 db사용

터미널에서 사용하려면 아래와 같은 순서로 접근한다.
(테이블이 생성되어 있을 시)

1. service mysql start
2. mysql -u root -p -> Enterr
3. 비밀번호 입력 -> Enter
4. use db명
5. select * from 테이블 명;

행: 로우, 레코드
열: 칼럼, 필드

∴ DB테이블레코드




2. 코드 내에서 db사용(API)

API로 코드 내에서 웹과 연동해서 사용하려면 보통 세 줄이 필요하다.

1.$con=mysqli_connect(주소, 사용자명, db 패스워드, db명);
2. $query="명령";
3. $result=mysqli_query($con,$query);
4. $rows = mysqli_fetch_array($result);
5. echo $row ['칼럼명'];


보통 회원가입 폼 같은 입력 란에 저장받은 데이터를 출력할 때는 1~3만으로 되고
각 항목별로 출력할 때는 1~5번까지 해서 웹 화면에 출력할 수 있다.

명령의 위치에는 보통 아래와 같은 것들이 들어간다.

출력: select * from 테이블명 (where 칼럼명=$받은 변수명);
삭제: delete * from 테이블명 (where 칼럼명=$받은 변수명);
입력: insert into 테이블명(변수명들) values (대응하는 입력 값들);

위의 where조건문은 조건과 일치하는 행만 select 해오고 생략 가능하다.
그러니까 명령어 위치에는 터미널에서 사용하는 명령어를 그대로 작성하면 된다.

∴ mysqli_query(연결-고정,명령-유동)

요약하자면 DB선택-> 테이블 선택

3. 명령어 Zip

3.1 데이터베이스 관련

//데이터베이스(DB) 생성

create database [DB명];



//데이터베이스(DB) 목록 출력

show databases;



//데이터베이스(DB) 삭제

drop database [DB명];



//데이터베이스(DB) 선택

use [DB명];

3.2 테이블 관련

//테이블 생성

create table [테이블명](
->변수명 자료형 [최대길이] [옵션 자리],
->변수명 자료형 [최대길이],
->변수명 자료형 [최대길이],
->변수명 자료형 [최대길이]
``
``
) [디폴트 값 위치];

테이블 생성 시 브레이스 밖에 보통 디폴트 값으로
default character set utf8 collate utf8_general_ci;
등을 사용했던 것 같다.

옵션 자리의 뜻은 NOT NULL, AUTO INCREMENT 등을 사용할 수 있고
AUTO INCREMENT사용 시 키 값을 꼭 주어야 한다.

또한 옵션은 여러 개 줄 수 있다.

+처음에 테이블 생성할 때 마지막 변수 뒤에 쉼표 안 빼서 계속 에러 났었다는..ㅠㅠ


//테이블 목록 출력

show tables;


//테이블 구조 출력

desc [테이블명];

3.3 데이터 사용 관련

//데이터 출력

select [칼럼명] from [테이블명];
select [컬럼명] from [테이블명] where [칼럼명]=="값";


칼럼명에 *(전체)가 들어가면 전체 테이블을 보여준다.
MySQL에서 where은 조건문의 역할로 조건에 일치하는 값을 가져온다.


//데이터 수정

update [테이블명] set [바꿀 칼럼명]='바꿀 값' where 변수명='값';

조건에 일치하는 곳의 칼럼 값을 바꿈!!


//데이터 삭제

delete [삭제할 칼럼명] from [테이블명]
delete [칼럼명] from [테이블명] where [칼럼명]=="값"

마찬가지로 조건에 일치하는 레코드를 삭제한다.



728x90