[ MySQL ] 기초 문법 정리
(수정: -)
⚠️ 개요
해당 글은 작성자가 공부한 내용을 정리한 글입니다.
📕 MySQL 기초
SQL문법은 대소문자를 구별하지 않는다. 해당 글에서는 읽기 편하게 대소문자를 구별하여 사용할 것이다.
✅ 기초문법 - 데이터 언어
1.데이터 정의 언어 (DDL)
데이터베이스의 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 (생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어들을 말함
SQL문 | 내용 |
CREATE | 데이터베이스 객체를 생성 한다. |
DROP | 데이터베이스 객체를 삭제 한다. |
ALTER | 기존에 존재하는 데이터베이스 객체를 다시 정의하는 역활을 한다. |
RENAME | 기존에 존재하는 테이블명을 변경한다. |
TRUNCATE | 테이블 또는 테이블의 지정된 파티션에서 모든 행을 제거한다. |
스키마객체의 데이터를 입력, 수정, 조회 삭제한다.
SQL문 | 내용 |
INSERT | 데이텁이스 객체에 데이터를 입력한다. |
DELETE | 데이터베이스 객체의 데이터를 삭제한다. |
UPDATE | 기존에 존재하는 데이터베이스 객체의 데이터를 삭제한다. |
SELECT | 데이터베이스 객체로부터 데이터를 검색한다. |
3.데이터 제어 언어 (DCL)
권한의 설정과 회수
SQL문 | 내용 |
GRANT | 데이터베이스 사용자 권한 설정 |
REVOKE | 데이터베이스 사용자 권한 회수 |
✅ 기초문법 - 데이터 조작 언어 (DML)
1.SELECT문
SELECT문은 데이터베이스로부터 저장되어 있는 데이터를 검색 하는데 사용됩니다. (가장 많이 쓰입니다.)
<구문 순서>
SELECT select_list
FROM table_name
WHERE conditon (표현식, 상수, 비교 연산자 등)
ORDER BY (질의 결과 정렬을 위한 옵션[ABS(오름차순)/DESC(내림차순)])
|
<사용 방법>
SELECT 컬럼명 FROM 테이블명 WHERE 조건 ORFER BY 컬럼명 ASC or DESC;
<예시>
SELECT emp_no as 사번, first_name 성명, gender FROM employees WHERE gender = 'M';
|
2.INSERT문
INSERT문은 데이터를 삽입하는 쿼리문입니다. 테이블명 다음에 칼럼의 수에 맞게 값을 줘야합니다.
<구문 순서>
INSERT INTO table_name ((c1),(c2),(c3))
VALUES values ((v1),(v2),(v3))
|
<사용 방법>
INSERT INTO 테이블명 (칼럼명1, 칼럼명2, 칼럼명3) VALUES (값1,값2,값3);
<예시>
INSERT INTO membertbl VALUES ('lee','이건아','서울 강동구 천호동');
-테이블명에 있는 칼럼명에 순서에 맞게 값을 입력해주고 칼럼명과 값을 개수는 동일해야 합니다.
-테이블의 수에 맞춰서 값을 입력하지 않으면 오류가 발생한다.
|
3.UPDATE문
UPDATE문은 데이터를 수정하는 쿼리문입니다.
<구문 순서>
UPDATE table_name
SET calum1_name = value, calum2_name = value, ...
WHERE conditon
|
<사용 방법>
UPDATE 테이블명 SET 칼럼명 = 변경 값 , ... WHERE 조건;
-WHETE을 생략하면 모든 행에 있는 값이 변경된다.
<예시>
UPDATE membertbl SET memberName = '이국자' WHERE memberName = '이건아';
-칼럼명 memberName에서 '이건아'라는 이름을 가진 데이터만 '이국자'로 변경한다.
|
4.DELETE문
DELETE문은 데이터를 삭제하는 쿼리문입니다.
<구문 순서>
DELECT
FROM table_name
WHERE conditon (해당 조건에 맞는 데이터만 삭제합니다.)
|
<사용 방법>
DELECT FROM 테이블명 WHERE 조건;
-조건이 없으면 테이블에 모든 데이터를 삭제한다.
<예시>
DELECT FROM membertbl WHERE memberName = '이국자';
-전에 사진과 비교해보면 '이국자'가 표함된 열이 삭제된 것을 확인할 수 있다.
|
✅ 기초문법 - 데이터 정의 언어 (DDL)
1.CREATE문
CREATE문은 데이터베이스 or 테이블을 생성할 때 사용하는 쿼리문입니다.
1-1.CREATE DATABASE (데이터베이스 생성)
<구문 순서>
CREATE DATABASE database_name;
|
<사용 방법>
CREATE DATABASE 데이터베이스명;
-데이터베이스를 생성한다.
|
1-2.CREATE TABLE (테이블 생성)
<구문 순서>
CREATE TABLE table_name
(
field_name1 field_type1 CONSTRAINT,
field_name1 field_type1 CONSTRAINT,
...
)
|
<사용 방법>
CREATE TABLE 테이블명
(
필드이름1 필드타입1 제약조건,
필드이름1 필드타입1 제약조건,
...
)
-제약조건(CONSTRAINT) 선택
1.NOT NULL : 해당 필드는 NULL 값을 저장할 수 없게 됩니다.
2.UNIQUE : 해당 필드는 서로 가른 값을 가져야만 합니다.
3.PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가지게 됩니다.
4.FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만듭니다.
5.DEFAULT : 해당 필드의 기본값을 설정합니다.
|
2.ALTER문
ALTER문은 컬럼을 추가, 삭제, 변경, 수정을 할 수 있는 쿼리문입니다.
1-1.ALTER TABLE ADD (컬럼 추가)
선택한 테이블에 컬럼을 추가합니다.
<구문 순서>
ALTER TABLE table_name
ADD calum_name type option;
|
<사용 방법>
ALTER TABLE 테이블명 ADD 컬럼명 타입 옵션;
<예시>
ALTER TABLE membertbl ADD today date;
|
1-2.ALTER TABLE DROP (컬럼 삭제)
선택한 테이블에 컬럼을 삭제합니다.
<구문 순서>
ALTER TABLE table_name
DROP calum_name;
|
<사용 방법>
ALTER TABLE 테이블명 DROP 컬럼명;
<예시>
ALTER TABLE membertbl DROP today;
-'today'라는 컬럼이 삭제됩니다.
|
1-3.ALTER TABLE CHANGE (컬럼 변경 및 타입 변경)
선택한 테이블에 컬럼의 이름&타입을 변경합니다.
<구문 순서>
ALTER TABLE table_name
CHANGE calum_name change_calum_name type;
|
<사용 방법>
ALTER TABLE 테이블명 CHANGE 컬럼명 변경할컬럼명 타입;
<예시>
ALTER TABLE membertbl CHANGE memberName memberNickname char(10);
-이름과 타입을 변경합니다. (이때 타입을 적지 않으면 오류가 생깁니다.)
|
1-4.ALTER TABLE MODIFY (컬럼 타입 수정)
선택한 테이블에 컬럼의 타입을 수정합니다.
<구문 순서>
ALTER TABLE table_name
MODIFY calum_name type;
|
<사용 방법>
ALTER TABLE 테이블명 MODIFY calum_name type;
<예시>
ALTER TABLE membertbl MODIFY memberNickname char(20);
-'memberNickname'의 타입을 'char(20)'으로 변경합니다.
|
1-5.ALTER TABLE RENAME (테이블명 수정)
선택한 테이블의 이름을 변경합니다.
<구문 순서>
ALTER TABLE table_name
RENAME change_table_name;
|
<사용 방법>
ALTER TABLE 테이블명 RENAME 변경할테이블명;
<예시>
ALTER TABLE membertbl RENAME memberstble;
-'membertbl'을 'memberstbl'로 변경합니다.
|
'《 IT 》 > Database' 카테고리의 다른 글
[MySQL] 연산자 (4) | 2023.12.01 |
---|