# 데이터베이스 kurly
- 회원테이블 member_table
- 필드1
아이디 userId
문자열 VARCHAR(16)
빈값 허용 안함 NOT NULL
중복불가 PRIMARY KEY
- 필드2
이름 userName
문자열 VARCHAR(30)
빈값 허용 안함 NOT NULL
1. 데이터베이스 만들기 CREATE;
CREATE DATABASE kurly;
```SQL
MariaDB [(none)]> CREATE DATABASE kurly;
Query OK, 1 row affected (0.001 sec)
```
2. 데이터베이스 확인 SHOW;
SHOW DATABASES;
```SQL
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| kurly |
| mysql |
| performance_schema |
| school |
| sys |
+--------------------+
6 rows in set (0.001 sec)
```
3. 데이터베이스 사용 USE;
USE kurly;
```SQL
MariaDB [(none)]> USE kurly;
Database changed
```
4. 테이블 만들기
CREATE TABLE member_table(
userId VARCHAR(16) NOT NULL,
userName VARCHAR(30) NOT NULL,
PRIMARY KEY(userId)
);
```SQL
MariaDB [kurly]> CREATE TABLE member_table(
-> userId VARCHAR(16) NOT NULL,
-> userName VARCHAR(30) NOT NULL,
-> PRIMARY KEY(userId)
-> );
Query OK, 0 rows affected (0.008 sec)
```
5. 테이블 보여라! SHOW
SHOW TABLES;
```SQL
MariaDB [kurly]> SHOW TABLES;
+-----------------+
| Tables_in_kurly |
+-----------------+
| member_table |
+-----------------+
1 row in set (0.000 sec)
```
6. 테이블 구조 보여라 DESC ; Describe(구조)
DESC member_table;
```SQL
MariaDB [kurly]> DESC member_table;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| userId | varchar(16) | NO | PRI | NULL | |
| userName | varchar(30) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.012 sec)
```
7. 데이터베이스 kurly3 안에
배송지테이블 delivery_table
만들어라
- 아이디 userId: VARCHAR(16),PRIMARY KEY, NOT NULL
- 배송지이름 deliveryName : VARCHAR(30),NOT NULL
- 주소 deliveryAddr: VARCHAR(250), NOT NULL
- 연락처 deliveryHp: VARCHAR(13), NULL
USE로 이동없이도 가능
CREATE TABLE kurly3.delivery_table(
userId VARCHAR(16) NOT NULL,
deliveryName VARCHAR(30) NOT NULL,
deliveryAddr VARCHAR(250) NOT NULL,
deliveryHp VARCHAR(13) NULL,
PRIMARY KEY(userId)
);
**인코딩설정 안해서 한글이 안들어가는 것이다.
8. 데이터베이스 정의어 (DDL)
- CREATE : 데이터베이스 생성
- DROP : 데이터베이스 삭제
- ALTER : 테이블 정의를 변경하는 명령어
9. 데이터베이스 조작어 (DML) => CRUD 쓰고,읽고,수정,삭제
- INSERT : 테이블 내용 입력(삽입) =>C
- SELECT : 테이블 내용 조회(검색) =>R
- DELETE : 테이블 내용 삭제 =>U
- UPDATE : 테이블 내용 수정 =>D
10. 데이터베이스 제어어 (DCL)
- COMMIT : 데이터베이스 조작이 정상 완료.
- ROLLBACK : 데이터베이스 조작이 비정상적으로 종료된 경우
원래의 상태로 복구.
- GRANT : 데이터베이스 사용자에게 권한을 부여.
- REVOKE : 데이터베이스 사용자에게 권한을 취소.
11. 데이터베이스 kurly 사용 => 테이블 데이터 입력 INSERT INTO
- USE kurly;
- 테이블 member_table 에 데이터 입력
- VALUES('', ''); 인용부호 작은 따옴표(홑 따옴표)
1명
INSERT INTO member_table(userId, userName) VALUES('otteryeonny', 'nohhyedal');
3명
INSERT INTO member_table(userId, userName) VALUES('otteryeonny1', 'doyeon1'),
('otteryeonny2', 'doyeon2'),
('otteryeonny3', 'doyeon3');
```SQL
MariaDB [kurly]> INSERT INTO member_table(userId, userName) VALUES('otteryeonny1', 'nohdoyeon1'),
-> ('otteryeonny2', 'nohdoyeon2'),
-> ('otteryeonny3', 'nohdoyeon3');
Query OK, 3 rows affected (0.002 sec)
Records: 3 Duplicates: 0 Warnings: 0
```
12. 테이블 데이터 조회 = > SELECT
- 조회해라 모든데이터를 member_table 에서
- 모든 데이터를 검색(조회)하라
SELECT * FROM member_table;
```SQL
MariaDB [kurly]> SELECT * FROM member_table;
+--------------+------------+
| userId | userName |
+--------------+------------+
| hyedal95 | nohdoyeon |
| otteryeonny | nohhyedal |
| otteryeonny1 | nohdoyeon1 |
| otteryeonny2 | nohdoyeon2 |
| otteryeonny3 | nohdoyeon3 |
+--------------+------------+
5 rows in set (0.000 sec)
```
13. 이미 만들어진 테이블 한글 인코딩 수정하기
13-1.테이블의 정보 확인 ...인코딩 확인1
- SHOW CREATE TABLE member_table;
```SQL
MariaDB [kurly5]> SHOW CREATE TABLE member_table;
+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| member_table | CREATE TABLE `member_table` (
`userId` varchar(16) NOT NULL,
`userName` varchar(30) NOT NULL,
PRIMARY KEY (`userId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci |
+--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.000 sec)
```
13-2. 테이블의 정보확인 ... 인코딩 확인2
- SHOW FULL COLUMNS FROM kurly5.member_table;
```SQL
MariaDB [kurly5]> SHOW FULL COLUMNS FROM kurly5.member_table;
+----------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+----------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| userId | varchar(16) | latin1_swedish_ci | NO | PRI | NULL | | select,insert,update,references | |
| userName | varchar(30) | latin1_swedish_ci | NO | | NULL | | select,insert,update,references | |
+----------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
2 rows in set (0.012 sec)
```
13-3. 테이블의 인코딩을 수정하기
- 테이블 수정 => ALTER
- 한글 인코딩 => UTF8
-- 인코딩 변경
ALTER TABLE
kurly5.member_table
CONVERT TO
CHARACTER SET UTF8;
-- Collation => utf8mb3_general_ci
```SQL
MariaDB [kurly5]> ALTER TABLE
-> kurly5.member_table
-> CONVERT TO
-> CHARACTER SET UTF8;
Query OK, 3 rows affected (0.019 sec)
Records: 3 Duplicates: 0 Warnings: 0
MariaDB [kurly5]> SHOW FULL COLUMNS FROM kurly5.member_table;
+----------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+----------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
| userId | varchar(16) | utf8mb3_general_ci | NO | PRI | NULL | | select,insert,update,references | |
| userName | varchar(30) | utf8mb3_general_ci | NO | | NULL | | select,insert,update,references | |
+----------+-------------+--------------------+------+-----+---------+-------+---------------------------------+---------+
2 rows in set (0.012 sec)
MariaDB [kurly5]> SHOW CREATE TABLE member_table;
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| member_table | CREATE TABLE `member_table` (
`userId` varchar(16) NOT NULL,
`userName` varchar(30) NOT NULL,
PRIMARY KEY (`userId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci |
+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.000 sec)
```
14. 인코딩
INSERT INTO kurly5.member_table(userId, userName)
VALUES
('otteryeonny4', '김미옥'),
('otteryeonny5', '이미선'),
('otteryeonny6', '옥소리');
```SQL
--데이터 한글 사용
MariaDB [kurly5]> INSERT INTO kurly5.member_table(userId, userName)
-> VALUES
-> ('otteryeonny4', '김미옥'),
-> ('otteryeonny5', '이미선'),
-> ('otteryeonny6', '옥소리');
Query OK, 3 rows affected (0.002 sec)
Records: 3 Duplicates: 0 Warnings: 0
--데이터 조회
MariaDB [kurly5]> SELECT * FROM member_table;
+--------------+-----------+
| userId | userName |
+--------------+-----------+
| OTTER1 | OTTER1 |
| OTTER2 | OTTER2 |
| OTTER3 | OTTER3 |
| otteryeonny4 | 김미옥 |
| otteryeonny5 | 이미선 |
| otteryeonny6 | 옥소리 |
+--------------+-----------+
6 rows in set (0.000 sec)
```