생활코딩의 강의를 바탕으로 MySQL을 공부해보자.
4)MySQL의 구조 ~ 13)DELETE
관계형 데이터베이스는 스프레드시트와 비슷한 구조를 가지고 있다.
→ 정보가 표에 저장됨.
중요한 단어 몇가지를 알아보자.
데이터베이스 : 연관된 표들을 그룹핑한 것.
스키마 : 표들을 서로 그룹핑할 때 사용하는 일종의 폴더 (=데이터베이스)
데이터베이스 서버 : 스키마가 저장된 장소
*스키마와 데이터베이스가 완전히 같은 것인지 헷갈려서 찾아보았다.
데이터베이스의 장점 : 보안 / 권한기능
[MySQL 접속]
mysql -uroot -p
mysql create database
CREATE DATABASE 데이터베이스이름;
opentutorials라는 이름의 데이터베이스를 생성했다.
mysql delete database
DROP DATABASE 데이터베이스이름;
how to show database list in mysql
SHOW {DATABASES | SCHEMAS};
opentutorials가 생성된 것을 확인할 수 있다.
# USE opentutorials
SQL = Structured Query Language
table(표)
row(record, 행)와 column(열)으로 이루어져 있다.
column : 데이터의 구조
row : 데이터 자체
create table in mysql
*명령어 팁 : cheat sheet 이용
id값이 없으면 수정이나 삭제를 할 수 없다.
INT(m) → 저장이 아니라 얼마까지 노출시키는지에 대한 수이다.
보통 11을 많이 쓴다.
데이터타입
VARCHAR(size)
사이즈를 지정할 수 있다. 지정한 size 이외는 버린다.
255개의 문자까지 허용한다.
TEXT(size)
65,535개의 문자까지 허용한다.
DATETIME
날짜와 시간을 모두 표현할 수 있다.
NOT NULL
공백을 허용하지 않는다.
NULL
공백을 허용한다.
PRIMARY KEY
중복을 방지
id값은 중복되면 안된다.
속성
AUTO_INCREMENT
자동으로 id값이 늘어나게 한다.
새로운 테이블 topic을 생성했다.
SHOW TABLES;
테이블 내용을 확인할 수 있다.
에러 내용을 확인하고 싶을 때는 다음과 같이 명령한다.
SHOW WARNINGS\G
패스워드 변경
SET PASSWORD = PASSWORD('111111');
DESC topic;
테이블의 구조를 보여준다.
위와 같이 보여준다.
컬럼명에 description이 desciption으로 오타가 있는 걸 깨달았다.
컬럼명 변경
#ALTER TABLE 테이블명 CHANGE 기존컬럼명 변경할컬럼명 컬럼타입;
잘 변경된 것을 확인했다.
mysql create row
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
컬럼명을 변경하기 전이라 desciption으로 썼다.
how to read row in mysql
SELECT * FROM topic;
데이터가 추가된 것이 잘 보인다.
같은 방법으로 4개의 데이터를 더 추가해보겠다.
5개의 데이터가 생겼다.
SELECT 컬럼명 FROM 테이블명;
id, title, created, author만 출력
공식문서의 select문법을 첨부한다.
[ ]는 생략가능한 것이다.
select 뒤에는 컬럼의 목록이 나온다.
FROM은 생략가능하다.
WHERE
SELECT 컬럼 FROM 테이블명 WHERE 컬럼명='검색어';
저자가 ruming인 행만 가져올 수 있다.
ORDER BY
SELECT 컬럼명 FROM 테이블명 ORDER BY id DESC;
id값을 기준으로 내림차순(DESC)으로 정렬되어 나온다.
기본은 오름차순(ASC)이다.
LIMIT
SELECT 컬럼명 FROM 테이블명 LIMIT 표시할 데이터 수;
데이터가 많이 저장되어 있는 상태에서 그대로 출력해버리면 문제가 생기기 때문에
데이터를 가져올 때 제약을 걸어야 한다.
LIMIT 3;을 했더니 3개만 나왔다.
*LIMIT로 페이징 기능을 사용할 수 있다.
UPDATE
UPDATE 테이블명 SET 컬럼명='변경내용' WHERE 조건;
※WHERE을 사용하지 않으면 모든 행이 수정된다.
DELETE
DELETE FROM 테이블명 WHERE 조건;
※WHERE을 사용하지 않으면 모든 행이 삭제된다.
여기까지 기본적인 명령문을 실습해보았다.
기본 명령어는 더 간단하게 정리해서 포스팅하도록 하겠다.
'웹개발 > MySQL' 카테고리의 다른 글
[MySQL] 기본 명령어 정리 (0) | 2021.03.01 |
---|---|
[MySQL] 생활코딩 MySQL 15~21 (0) | 2021.01.29 |