데이터베이스
in-memory
( 끄면 데이터 휘발 : 임시저장 ),
file I/O
('데이터 전체'를 단위로 운용 like 엑셀파일 : 필터링 불가)
이 두가지의 단점을 커버하는 database
가 있다.
SQL
Structured Query Language 구조화된 query 언어.
즉, 데이터베이스용 프로그래밍 언어
.
(query란 ? 저장되어있는 정보를 필터하기 위한 질의문)
쿼리를 보내 데이터를 삽입하거나 가져올 수 있다
server에서 전달하는 언어가 SQL(SELECT~~)
우분투로 mysql 설치
참고사이트)
https://docs.rackspace.com/support/how-to/installing-mysql-server-on-ubuntu/
[apt-get(Advanced Package Tool)을 이용한 설치]
sudo apt-get update
sudo apt-get install mysql-server
sudo systemctl start mysql
mysql -u root
(비번설정 안되어있을때 이 명령어로 접속가능.)sudo mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourPassword';
flush privileges
써야하는 경우가 있고, 필요없는 경우가 있던데 더 알아봐야할것같다..
mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;
위. 비번설정 전 이미지 (root의 plugin이 'auth_socket'으로 되어있음)
위. 비번설정 후 이미지 (root의 plugin이 'native_pwd'으로 바뀜)
exit
[데이터베이스 사용하기 위한 기본작업]
CREATE DATABASE 데이터베이스_이름 ;
USE 데이터베이스_이름 ;
CREATE TABLE user (
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(255),
email varchar(255)
);
DESCIBE 테이블_이름 ;
*
SELECT
FROM
WHERE
[특정값을 가진 값들]
SELECT 특성1
FROM 테이블이름
WHERE 특성1="특정값";
[특정 문자열로 시작하는]
SELECT 특성_1, 특성_2
FROM 테이블_이름
WHERE 특성_2 LIKE "특정 문자열%"
ORDER BY
LIMIT
SELECT DISTICT
INNER JOIN ON
(JOIN
으로 대체 가능)OUTER JOIN ON
JOIN 명령어 확인 사이트
https://sql-joins.leopard.in.ua/