- 데이터베이스 언어, SQL(Structured Query Language)
- 데이터 베이스와 대화하기 위해 사용하는, 약속의 언어
- Query(쿼리) = SQL로 쓰인 데이터베이스에 명령을 내리는 문장
- 사용자가 데이터베이스의 기능을 사용하기 위해서는 응용프로그램을 활용해야한다
응용 프로그램 - DBMS (ORACLE
,MySQL
,SQL Server
,MariaDB
, ...)
링크텍스트(MySQL홈페이지)
DOWNLOADS - MySQL Community (GPL) Downloads >> (클릭)
로그인 없이 다운로드 받기
기본 설정에 따라 변경없이 진행
설치해야하는 파일 EXCUTE
비밀번호 설정이 필요함으로 자주 사용하는 비밀번호를 사용하거나 메모해두어야한다.
(작업을 위해 접속 시 PASSWORD요구.)
실행화면
213 >>>
숫자형 데이터 저장 공간
<<<"ABC" (ERROR)
숫자형 데이터 저장 공간
- 정수형 : 소수점이 없는 숫자 데이터 INT
- 소수형 : 소수점이 있는 데이터 FLOAT
숫자형 데이터는 데이터 간 연산이 가능하다
QUARY 01.
SELECT 1+2, 80-12, 3*5, 20/5;
1+2 | 80 - 12 | 3*5 | 20/5 |
---|---|---|---|
3 | 68 | 15 | 4.0000 |
※MySQL에서 *는 곱하기. /는 나누기를 의미합니다.
QUARY 02.
SELECT a,b,a+b...;
a | b | a+b |
---|---|---|
120 | 2 | 122 |
문자형 데이터 저장 공간
VARCHAR(n)
: n을 1부터 65535까지 지정 가능, 지정 안할 시 사용 불가, 변동 길이로 문자열 저장
문자형 데이터는 반드시 " " 또는 ' ' (따옴표) 와 함께 쓰여야 합니다.
따옴표가 없는 문자는키워드
나함수
,데이터베이스/테이블/컬럼
의 이름으로 인식된다.
예시표
id |
---|
20221122 |
QUARY01.
SELECTid;
id |
---|
20221122 |
id가 '이름'으로 쓰인 것
QUARY02.
SELECT"id";
id id
id 가 '문자형 데이터'로 쓰인 것
데이터 타입 | 바이트 수 | 표현 가능 범위 |
---|---|---|
DATE | 3 | 0000-00-00 ~ 9999-12-31 |
DATETIME | 3 | 0000-00-00 00:00:00 ~ 9999-12-31 23:59:59 |
테이블
데이터 베이스에서 데이터 형태를 정해 모아 놓은 저장 공간 (행과 열로 이루어진 데이터 표)
테이블 테이블 테이블 컬럼1 컬럼2 컬럼3 값 값 값 값 값 값 값 값 값
데이터 베이스
: 테이블을 저장해두는 저장소 = 스키마(Schema)
✏️ 데이터 베이스 생성 순서
데이터베이스를 생성한 후에 특정 데이터데이터베이스 내에 테이블을 생성한다.
데이터베이스 만들기
쿼리문법
CREATE[데이터베이스 이름]; 해석 : [데이터베이스 이름]라는 이름의 데이터베이스를 생성해주세요.
💡 쿼리가 끝날 때는 항상 '명령을 마친다'는 의미의
;
(세미콜론)을 꼭 붙여준다.
💡 키워드는 약속입니다.
데이터베이스 목록 보기
쿼리문법
SHOW DATABASES; 해석 : 현재 존재하는 모든 데이터베이스 목록을 보여주세요
💡 마지막에
S
를 꼭 붙여주세요.
💡 문법은 약속입니다.
데이터베이스 사용하기
USE[DATABASE 이름]; 해석 : 이제부터 [DATABASE 이름]데이터베이스를 사용 할게요.
테이블 만들기
쿼리문법
CREATE TABLE [테이블 이름]( [컬럼 이름] [데이터 타입], [컬럼 이름] [데이터 타입], ... );
컬럼1 컬럼2 컬럼3 공백 공백 공백 공백 공백 공백 공백 공백 공백 컬럼 (열)
1. 컬럼의 이름과 데이터 타입은 테이블을 만들 떄 미리 정해진다.
2. 컬럼의 이름은 동일한 테이블 내에서 중복될 수 없다.
3. 테이블은 반드시 1개 이상의 컬럼을 가져야한다.
문법
💡괄호()
안에 칼럼리스트를 삽입한다.
💡[칼럼 이름][데이터 타입] 한칸띄기.
💡칼럼 이름과 데이터 타입을 기준으로,
쉼표로 연결.
💡마지막엔 '명령을 마친다';
세미콜론 삽입.
실습CREATE TABLE 아이돌( 이름 VARCHAR(20), 나이 INT, 소속 VARCHAR(50) );
테이블 이름 변경하기
쿼리문법
ALTER TABLE [테이블 이름] RENAME [새로운 테이블 이름];
ALTER TABLE costomor RNAME customers;
💡customor --> customers
새로운 컬럼 추가하기
쿼리문법
ALTER TABLE [테이블 이름] ADD COLUMN [컬럼 이름][데이터 타입];
ALTER TABLE custormers ADD COLUMN age INT;
id name 아래와 같이 컬럼이 추가된다.
id name age
기존 컬럼 타입 변경하기
쿼리문법
ALTER TABLE [테이블 이름]MODIFY COLUMN[컬럼이름][새로운 데이터 타입];
ALTER TALBE customers MODIFY COLUMN age FLOAT;
💡
age = INT
--->age = FLOAT
기존 컬럼 이름과 타입 변경하기
ALTER TABLE [테이블 이름] CHANGE COLUMN [컬럼 이름][새로운 컬럼 이름][새로운 데이터 타입];
ALTER TABLE customers CHANGE COLUMN age new_age FLOAT;
customers
age = INT
--->new_age = FLOAT
컬럼 지우기
ALTER TABLE [테이블 이름] DROP COLUMN [컬럼 이름];
ALTER TABLE customers DROP COLUMN new_age;
new _age
---> X (삭제)
데이터베이스 지우기
쿼리문법
DROP DATABASE[데이터베이스 이름];
해석
: [데이터베이스 이름]이라는 데이터베이스를 지워 주세요.
테이블 지우기
쿼리문법
DROP TABLE[테이블 이름];
해석
:[테이블 이름]이라는 테이블을 지워 주세요.
테이블 값만 지우기
쿼리문법
TRUNCATE TABLE[테이블 이름];
해석
:[테이블 이름]이라는 테이블을 값만 지워주세요.
DROP 과 TRUNCATE의 차이점
DORP TABLE customer;
칼럼1 칼럼2 칼럼3 1 2 3 4 5 6 7 8 9 --> X (테이블 자체 삭제)
TRUNCATE TABLE customer;
칼럼1 칼럼2 칼럼3 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) --> '
( )
= 값이 없음 '
데이터베이스/테이블이 존재한다면 지우기
💡만약
IF EXISTS
가 없이, 존재하지 않는 데이터베이스/테이블을 삭제한다면, ERROR가 발생합니다.쿼리문법
DROP DATABASE IF EXISTS[데이터베이스 이름];
해석
: [데이터베이스 이름] 데이터베이스가 존재한다면 지워주세요
쿼리문법DROP TABLE IF EXISTS[테이블이름];
해석
:[테이블 이름] 테이블이 존재한다면 지워 주세요.
데이터 하나 삽입하기
쿼리문법
INSERT INTO[테이블 이름]([컬럼1이름],[컬럼2이름],[컬럼3이름]) VALUES ([컬럼1값], [컬럼2값], [컬럼3값]);
※ 컬럼이 3개라고 가정한 경우이므로, 컬럼이 더 많다면 이어 적어주세요.
[컬럼n
이름] , [컬럼n
값]
n의 값은 동일해야한다.INSERT INTO idol (name,age,group) VALUES("제니",27,"블랙핑크")
💡
INSERT INTO
,VALUES
두 개의 리스트의 갯수는 일치해야합니다.<idol>
name age group 제니 27 블랙핑크
데이터 여러 개 삽입하기
쿼리문법
INSERT INTO[테이블 이름]([칼럼1이름],[칼럼2이름],[칼럼3이름]) VALUES ([칼럼1값],[칼럼2값],[칼럼3값]), ([칼럼1값],[칼럼2값],[칼럼3값]), ... ([칼럼1값],[칼럼2값],[칼럼3값]);
💡로우 마다 괄호 여닫기
💡쉽표 로우마다 기입하기
데이터 삭제하기
쿼리문법
DELETE FROM[테이블 이름] WHERE [조건 값];
데이터 수정하기
쿼리문법
UPDATE[데이터 이름] SET[컬럼 이름]=[새값] WHERE[조건값];
내일배움카드 패스트 캠퍼스 수업!