[DATABASE] MySQL이란 + 명령어

김기용·2020년 10월 15일
0
post-thumbnail

폭발적으로 증가하는 정보의 수와 다양성으로 인해 파일만으로는 정보를 효과적으로 입력,저장,출력하는것이 어려워진다. 이러한 필요로 인해 탄생한 데이터베이스 프로그램중 그중에서 MySQL을 알아보자


MYSQL이란

구조화된 질의 언어(Structured Query Language)
관계형 데이터 베이스(Relational database)
관계형 데이터 베이스의 특징은 데이터를 표의 형태로 표현해준다.


실행 방법:

terminal 실행후
cd /usr/local/mysql/bin/
./mysql -uroot -p

이렇게 화면이 나오면 성공
mysql>


MySQL의 구조

3개정도의 구성요소: Table, Schema, Database Server

표(table)
관계형데이터베이스는 엑셀과 같은 스프레드시트와 비슷한 구조를 가지고 있다. 즉, 정보는 표에 저장이된다.

스키마(schema)
많아지는 표들을 그룹화하기위해 사용하는 폴더이다

데이터베이스 서버(database server)
스키마(schema)로 이루어진 데이터베이스 서버

*MySQL은 기본적으로 권한기능을 지원한다. 데이터베이스에 접속한 유저들에게 각각의 테이블, 스키마에 대해서 읽기,쓰기 권한을 차등적으로 부여해줄수있다.


스키마(schema)의 사용

표(table)을 사용하기전에 스키마(schema)를 먼저 만들어야한다.

스키마 생성.
mysql> CREATE DATABASE 스키마이름;

create database test character set utf8mb4 collate utf8mb4_general_ci;

스키마 삭제.
DROP DATABASE 스키마이름;

스키마 보기.
SHOW DATABASES;

사용할 스키마 선택
USE 스키마이름;


SQL 테이블 구조

idtitledescriptioncreated
1MySQLMySQL is...2020-09-02
2OracleOracle is ...2020-09-03

x: row | record | 행 | == 데이터가 2개가 있다.
y: column | 열 | == 데이터의 타입


테이블의 생성 문법

CREATE TABLE topic(
	id INT(11) NOT NULL AUTO_INCREMENT,
	title VARCHAR(100) NOT NULL,
	description TEXT NULL,
	created DATETIME NOT NULL,
	author VARCHAR(30) NULL,
	profile VARCHAR(100) NULL,
	PRIMARY KEY(id)
);
Note: INT 형 데이터 타입, (11): 보여질 항목개수, NOT NULL: 필수항목, AUTO_INCREMENT: record가 생성될때마다 ++i, PRIMARY KEY를 id 값으로 지정하고 중복을 방지한다

CRUD(Create, Read, Update, Delete)

생성하기전 중요한 명령어.
SHOW TABLES; 스키마안에서 테이블 보기
DESC 테이블이름; 테이블 구조 보기


CREATE

레코드 생성, 삽입, 추가

INSERT INTO topic(title, description, created, author, profile) VALUES('MySQL', 'MySQL is...', NOW(), 'Amuse', 'developer');

READ

레코드 읽기

SELECT * FROM topic;`
`SELECT id, title, created, author FROM topic;

i. 조건기능 WHERE

SELECT id, title, created, author FROM topic WHERE author='Amuse';

ii. 정렬기능 ORDER BY 이름 | ORDER BY 이름 DESC

SELECT id, title, created, author FROM topic WHERE author='Amuse' ORDER BY id DESC;

iii. 데이터 개수제한

SELECT id, title, created, author FROM topic WHERE author='Amuse' ORDER BY id DESC LIMIT 2;

UPDATE

레코드 수정

UPDATE topic SET description='Oracle is...', WHERE id=2;
!중요: WHERE 문을 빠트리면 인생이 바뀔수있다. 🤯

DELETE

레코드 삭제

DELETE FROM topic WHERE id=5;





reference

생활코딩: https://opentutorials.org/course/3161/19531

profile
매일 새로운 배움을 통해 꾸준히 성장하는 것을 목표를 두고 있습니다. 논리적인 사고로 문제해결 하는것에 희열을 느끼고 언젠가 제가 만든 결과물들이 사람들에게 편이를 제공하며 사용되는 날을 간절히 소망하고 있습니다. 🙏

0개의 댓글