테이블 : RDBMS에서 데이터가 저장되는 장소
테이블의 구조와 관련된 정보를 스키마라고 한다.
테이블의 구조는 컬럼이름/컬럼타입/컬럼길이로 구성
레코드: 스키마에 정의된 컬럼에 해당하는 값의 모음
하나의 테이블은 여러개의 레코드로 구성되어있음.
주요키 : 테이블에 저장된 레코드를 사용하기 위해서 각각의 레코드를 구별하는 방법 중 하나
주요키는 하나의 테이블에 저장된 레코드가 서로 다른 값을 갖는 컬럼을 의미
인덱스 : 데이터의 순서를 미리 정렬하기 위해 사용
레코드를 쉽게 찾을 수 있도록 미리 정리된 표를 만들어 사용(주요키도 인덱스 중에 하나)
DBMS : 데이터베이스를 관리해주는 시스템
데이터베이스 : 데이터베이스 : 데이터를 저장하는 공간
DBMS 클라이언트 : DBMS 클라이언트 : 데이터베이스를 사용하는 어플
1.MariaDB접속
- password - 로그인
2.데이터베이스 만들기
CREATE DATABASE 데이터베이스명;
ex) CREATE DATABASE java;
CREATE DATABASE 데이터베이스명;
ex) CREATE DATABASE java;
3. 확인
SHOW DATABASES;
SHOW DATABASES;
4. java 데이터베이스 사용하기
USE 데이터베이스명;
USE java;
USE 데이터베이스명;
USE java;
5. 테이블 확인
SHOW TABLES;
SHOW TABLES;
6. ID 생성
CREATE USER '아이디'@'접속위치' IDENTIFIED BY '비밀번호';
CREATE USER 'test01'@'%' IDENTIFIED BY '1234567';
(접속위치 localhost, %)
CREATE USER '아이디'@'접속위치' IDENTIFIED BY '비밀번호';
CREATE USER 'test01'@'%' IDENTIFIED BY '1234567';
7. 권한 주기
java DB 전체 권한 주기
GRANT ALL PRIVILEGES ON 데이터베이스명.테이블명 TO '아이디'@'접속위치';
GRANT ALL PRIVILEGES ON java.* TO 'test01'@'%';
GRANT ALL PRIVILEGES ON 데이터베이스명.테이블명 TO '아이디'@'접속위치';
GRANT ALL PRIVILEGES ON java.* TO 'test01'@'%';
8. 반영하기
FLUSH PRIVILEGES;
FLUSH PRIVILEGES;
9. 접속하기
----------------------------------------------------------------
USE mysql;
USE mysql;
SELECT user, password FROM user;
암호패턴보기
SELECT user, password FROM user;
---------------------------------------------------------------
10. 사용자 권한보기
SHOW GRANTS FOR '아이디'@'접속위치;
SHOW GRANTS FOR 'test01'@'%';
SHOW GRANTS FOR '아이디'@'접속위치;
SHOW GRANTS FOR 'test01'@'%';
11. 비밀번호변경
UPDATE user SET password=password('새비밀번호') WHERE user='아이디';
UPDATE user SET password=password('000000000') WHERE user='test01';
SET PASSWORD FOR 아이디=password('새비밀번호');
SET PASSWORD FOR test01=password('00000000');
SET PASSWORD FOR 아이디=password('새비밀번호');
SET PASSWORD FOR test01=password('00000000');
GRANT USAGE ON *.*to '아이디'@'접속위치' IDENTIFIED BY '새비밀번호';
GRANT USAGE ON *.*to 'test01'@'%' IDENTIFIED BY '00000000';
GRANT USAGE ON *.*to '아이디'@'접속위치' IDENTIFIED BY '새비밀번호';
GRANT USAGE ON *.*to 'test01'@'%' IDENTIFIED BY '00000000';
12. 권한 삭제
REVOKE ALL ON 데이터베이스.* FROM 'temp01'@'%';
REVOKE ALL ON java.* FROM 'test01'@'%';
REVOKE ALL ON 데이터베이스.* FROM 'temp01'@'%';
REVOKE ALL ON java.* FROM 'test01'@'%';
13. 사용자 삭제
DROP USER '아이디'@'접속위치';
DROP USER 'temp01'@'%';
DROP USER '아이디'@'접속위치';
DROP USER 'temp01'@'%';
14. 데이터베이스 삭제
DROP DATABASE 데이터베이스명;
DROP DATABASE java;
DROP DATABASE 데이터베이스명;
DROP DATABASE java;
15. 테이블 생성
CREATE TABLE 테이블명(
컬럼명 데이터타입(값) 옵션,
컬럼명 데이터타입(값) 옵션,
컬럼명 데이터타입(값) 옵션,
....
);
옵션에는 자동증가, NOT NULL등
CREATE TABLE 테이블명(
컬럼명 데이터타입(값) 옵션,
컬럼명 데이터타입(값) 옵션,
컬럼명 데이터타입(값) 옵션,
....
);
//회원을 저장하는 테이블
회원 번호
회원 이름
회원 비밀번호
회원 전화번호
회원 email
member 테이블
물리 컬럼명 데이터타입 값
번호 no int 11
이름 name varchar 10
비밀번호 pw varchar 20
email email varchar 30
===============================
CREATE TABLE member(
`no` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) NOT NULL,
`pw` varchar(20) NOT NULL,
`email` varchar(30) NOT NULL,
PRIMARY KEY(no)
);
CREATE TABLE member(
`no` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) NOT NULL,
`pw` varchar(20) NOT NULL,
`email` varchar(30) NOT NULL,
PRIMARY KEY(no)
);
16. 구조 출력
EXPLAIN 테이블명;
DESCRIBE 테이블명;
EXPLAIN 테이블명;
DESCRIBE 테이블명;
EXPLAIN member;
DESCRIBE member;
17. 값 넣기
INSERT INTO 테이블명 (컬럼명, ...) VALUES ('값' ...);
INSERT INTO member (name, pw, email) VALUES ('홍길동', '01234567', 'hong@hong.com');
INSERT INTO 테이블명 (컬럼명, ...) VALUES ('값' ...);
INSERT INTO member (name, pw, email) VALUES ('홍길동', '01234567', 'hong@hong.com');
여러개 값넣기
INSERT INTO member (name, pw, email) VALUES
('홍길동', '01234567', 'hong@hong.com'),
('홍길동', '01234567', 'hong@hong.com'),
('홍길동', '01234567', 'hong@hong.com'),
...;
INSERT INTO member (name, pw, email) VALUES
('홍길동', '01234567', 'hong@hong.com'),
('김길동', '01234567', 'kim@hong.com'),
('박길동', '01234567', 'gog@hong.com'),
...;
18. 조회하기
SELECT 컬럼명 FROM 테이블명;
SELECT * FROM member;
SELECT * FROM member;
SELECT name as '이름' FROM member; //name 컬럼 별칭 정하기
SELECT name as '이름' FROM member; //name 컬럼 별칭 정하기
19. 수정하기
UPDATE 테이블명 SET 컬럼명=값 WHERE 조건절;
UPDATE member SET email='kim@kakao.com' WHERE no=2; // whwer 조건절은 p키
UPDATE member SET name='백길동', pw='12345', email='bbb@naver.com' WHERE no=1;
UPDATE 테이블명 SET 컬럼명=값 WHERE 조건절;
UPDATE member SET email='kim@kakao.com' WHERE no=2; // whwer 조건절은 p키
UPDATE member SET name='백길동', pw='12345', email='bbb@naver.com' WHERE no=1;
20. 삭제하기
DELETE FROM 테이블명 WHERE 조건절;
DELETE FROM member WHERE no=1;
DELETE FROM 테이블명 WHERE 조건절;
DELETE FROM member WHERE no=1;
'데이터베이스(DB) > MariaDB' 카테고리의 다른 글
[MYSQL] 일반적인 오류를 해결하는 유용한 정보 (0) | 2022.04.20 |
---|---|
[MySQL] isolation level 종류 및 특징 (0) | 2022.01.07 |
MariaDB - 암호화, 복호화 (0) | 2021.09.01 |
MariaDB- sql 쿼리문 (일간/주간/월간/연간) 게시글 출력 (0) | 2021.08.25 |