CREATE / DB 오브젝트를 생성
ALTER / DB 오브젝트를 변경
DROP / DB 오브젝트를 삭제
TRUNCATE / DB 오브젝트 내용 삭제
INSERT / 테이블 신규 내용 삽입
SELECT / 테이블 내용 조회
UPDATE / 테이블 내용 변경
DELETE / 테이블 내용 삭제
GRANT / DB 사용자 권한 부여
REVOKE / DB 사용자 권한 회수
COMMIT -TCL / 트랜잭션 확정
ROLLBACK -TCL / 트랜잭션 취소
CHECKPOINT -TCL / 복귀지점 설정
CRUD (creat read update delete)
CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다. 사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다.
root : 최상위관리자
MySQL에 데이터베이스 생성
CREATE DATABASE hhy23db DEFAULT CHARACTER SET UTF8;
CREATE DATABASE +db이름(hhy23db)+ 옵션(인코딩 방식)
MySQL에생성된 모든 데이터베이스 조회
SHOW DATABASES;
MySQL에 사용자 아이디 생성
CREATE user 'db아이디'@'%' IDENTIFIED BY 'db비번';
MySQL에 사용자 아이디 삭제
DROP USER db아이디@'%';
사용자계정 생성 및 권한 부여문장
grant select,insert,update,delete,create,drop,alter on db이름. to 'db아이디'@'localhost' identified by 'db비번';
사용자 아이디 권한 부여
GRANT ALL PRIVILEGES ON db이름.* TO 'db아이디'@'%';
변경된 내용을 메모리에 반영
FLUSH PRIVILEGES;
MySQL 에 생성된 DB에 사용자 권한 회수
REVOKE ALL ON db이름.* FROM db아이디;
MySQL에생성된 db선택
USE db이름;
선택된 db에 테이블 생성
---예) 회원테이블
CREATE TABLE 테이블이름
( u_id VARCHAR(100) NOT NULL PRIMARY KEY COMMENT '회원 아이디'
,u_pw VARCHAR(100) NOT NULL COMMENT '회원 비밀번호'
,u_name VARCHAR(100) NOT NULL COMMENT '회원 이름'
,u_birth DATE COMMENT '회원 생년월일'
,u_add VARCHAR(100) NOT NULL COMMENT '회원 주소'
,u_mobile1 VARCHAR(100) COMMENT '회원 연락처1'
,u_mobile2 VARCHAR(100) COMMENT '회원 연락처2'
,u_date DATE COMMENT '등록일자'
);
INSERT INTO tb_user
(u_id, u_pw, u_name, u_birth, u_add, u_mobile1, u_mobile2, u_date)
VALUES();
테이블 열을 선택해서 INSERT 생성을 누르면 자동으로 생성된다.
추가하고자 하는 데이터 값을 입력한다.
SELECT * FROM tb_user
SELECT
u_id,
u_pw,
u_name,
u_birth,
u_add,
u_mobile1,
u_mobile2,
u_date
FROM
tb_user
WHERE
u_name = '나재민';
SELECT
*
FROM
tb_user
WHERE
u_id = 'id001';
-> where 구문으로 u_id 속성에 id001값을 가진 데이터 먼저 확인한다.
-> 실행순서 :
1. FROM -테이블내의
2. WHERE -위치(범위)를 찾아가서
3. SELECT -전체를 조회해라.
UPDATE
tb_user
SET
u_add='덕진동',
WHERE
u_id='id001';
-> where 구문으로 u_id가 id001인 값을 찾아 u_add 속성값을 덕진동으로 업데이트(수정)한다.
AS 로 호출을 짧게 하자.
SELECT
*
FROM
tb_user
WHERE
tb_user.u_id = 'id001';
↓
SELECT
*
FROM
tb_user as u
WHERE
u.u_id = 'id001';
지우고자하는 테이블의 속성값과 데이터가 있는지 먼저 꼭 확인한다.
DELETE
FROM
tb_user
WHERE
u_id = 'id001';
-> DELETE : 행들을 하나씩 전부삭제한다.
where 구문을 추가해 행을 선택하면 해당데이터만 삭제한다.
TRUNCATE TABLE 테이블이름;
-> TRUNCATE : 테이블 전체 삭제한 뒤 새로 생성한다.
전체 복제
CREATE TABLE tb_user_backup_all
(SELECT
*
FROM
tb_user);
부분 복제
CREATE TABLE tb_user_backup
(SELECT
u.u_id
,u.u_pw
,u.u_name
FROM
tb_user AS u);
ASC; 오름차순
DESC; 내림차순
SELECT
*
FROM
tb_user
ORDER BY u_id DESC;
제한된 조회
-> 내림차순 desc로 2개까지만 보여준다.
-> 테이블을 찾아가서, 해당 컬럼을 불러오고, 아이디기준 내림차순으로 10까지 보이도록 하여라.
-> 오름차순 asc로 7개까지만 보여준다.
-> 데이터 조회
-> 한글 정렬
count : 중복된 값의 카운트를 센다.
count 에 조건을 걸어 만족하는 GROUP 값만 보여준다.
사용자가 직접 원하는 값을 설정할 수 있다.
INSERT INTO tb_user (u_id, u_pw, u_name, u_birth, u_add, u_mobile1, u_mobile2, u_date)
VALUES
('id001', 'pw001', '홍01', '2020-01-10', '덕진동', '010', '00010001', '2020-03-10')
ON DUPLICATE KEY UPDATE
u_birth = '2019-01-10’;
중복키 에러가 발생했을 때 신규로 입력되는 레코드를 무시하는 방법.
INSERT IGNORE INTO tb_user (u_id, u_pw, u_name, u_birth, u_add, u_mobile1, u_mobile2, u_date)
VALUES('id010','pw010','홍10','2020-10-10','덕진동','010','00010001','2020-03-10');
INSERT IGNORE INTO tb_user (u_id, u_pw, u_name, u_birth, u_add, u_mobile1, u_mobile2, u_date)
VALUES('id011','pw011','홍11','2020-11-10','덕진동','010','00010001','2020-03-10');