January 11, 2022
이번 포스팅에서는 MySQL을 사용하기위해 기본적으로 알아야할 C(create)R(read)U(update)D(delete)에 관한 문법에 대해 포스팅 해보겠다.
CREATE DATABASE 데이터베이스_이름
-- ex
CREATE DATABASE student;
다음 커맨드를 실행하고 정상적으로 실행이 되었을 경우 Query OK. 이런게 뜬다.
이후 show databases
를 통해 sutdent가 생성된 것을 확인할 수 있다.
이후 use 데이터베이스_이름
을 선택하여 원하는 데이터베이스로 이동할 수 있다.
CREATE TABLE은 새로운 테이블을 생성해준다. 다음과 같은 방법으로 생성한다.
CREATE TABLE 테이블이름
(
필드이름1 필드타입1,
필드이름2 필드타입2
...
);
이와 같이 선언하여 Table을 생성할 수 있다. Mysql에서 타입은 다음과 같다.
나는 Student table에서 필요한 컬럼은 이름, 학번, 나이이므로 이에 맞는 쿼리를 작성하면 다음과 같다.
CREATE TABLE student
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(45),
student_number INT,
age INT
);
위에 AUTO_INCREMENT는 그냥 자동으로 id를 생성해주는 조건이다.
이 쿼리를 실행하면 다음과 같이 테이블이 생성된다.
테이블이 잘 생성되었는지 확인해보면
DROP DATABASE 데이터베이스이름
DROP TABLE 테이블이름
위에 DROP 명령어를 통해 만든 DATABASE와 TABLE을 삭제할 수 있다.
MySQL에서는 INSERT INTO 문을 사용하여 테이블에 새로운 레코드를 추가할 수 있다. 다음과 같이 두가지 방법이 있다.
INSERT INTO 테이블이름(필드이름1, 필드이름2, 필드이름3, ...) VALUES (데이터값1, 데이터값2, 데이터값3, ...)
INSERT INTO 테이블이름 VALUES (데이터값1, 데이터값2, 데이터값3, ...)
두번째 방법처럼 생략시에는 데이터베이스의 컬럼과 같은 순서대로 값이 자동 대입된다.
이때 생략할 수 있는 필드
insert into student(name, student_number, age) values("An", 21611111,27);
다음과 같은 명령어로 나는 record를 추가해주었다.
ALTER TABLE student AUTO_INCREMENT = 1
을 통해 테이블의 AUTO_INCREMENT를 다시 1부터 증가하게끔 만들 수 있다.
원할한 확인을 위해 테이블에 데이터를 다 삭제하고 다시 진행하였다.
다음과 같이 id가 다시 1부터 증가하여 새로 만들어짐을 알 수 있다.
SELECT 문을 통해 데이터베이스를 조회 할수 있다. 예시를 보여줄 때 조건을 붙여가며 데이터를 조회하도록 하겠다.
SELECT * FROM 테이블_이름
을 통해 테이블내의 모든 데이터를 조회할 수 있다.
SELECT 컬럼1, 컬럼2, ... FROM 테이블이름
위에서 사용했던 쿼리문에 * 대신에 컬럼의 이름을 적어주면 해당 컬럼들만 조회할 수 있다.
SELECT 컬럼1, 컬럼2, ... FROM 테이블이름 WHERE 조건
여러조건을 AND, OR 로 묶어줄 수 있다.
SELECT 컬럼1, 컬럼2, ... FROM 테이블이름 WHERE 조건 ORDER BY 정렬기준 [ASC,DESC]
ASC는 오름차순(default), DESC는 내림차순이다.
LIMIT [숫자]
LIMIT [숫자1] OFFSET [숫자2]
UPDATE 테이블이름 SET 컬럼명1=바꿀값1, 컬럼명2=바꿀값2, ... WHERE 조건
UPDATE 테이블이름 SET 컬럼명1=바꿀값1, 컬럼명2=바꿀값2, ... WHERE 조건 AND 조건 OR 조건
UPDATE할때도 마찬가지로 AND와 OR을 통해 여러 조건을 줄 수 있다.
DELETE FROM 테이블이름 WHERE 조건
전체 레코드를 제거하고 싶으면 그냥 DELETE FROM 테이블이름
을 하면 된다.