상세 컨텐츠

본문 제목

[SQL]0416_데이터베이스생성_테이블생성.md

<개인공부>/[SQL데이터베이스]

by 데브수달 2024. 4. 16. 15:06

본문

728x90
반응형
# 데이터베이스 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)


```
 

 

728x90
반응형

관련글 더보기