유랑하는 나그네의 갱생 기록

だけど素敵な明日を願っている -HANABI, Mr.children-

Computer Science/Database

mysql 테이블 생성과 조작 그리고 레코드 삽입

Madirony 2019. 8. 2. 18:08
728x90

mysql 테이블

 

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.00 sec)

 

mysql db생성 포스트는 차후에 게시해서 이곳에 링크하겠습니다.

 

mysql에 접속을 해서 show databases; 명령어로 접속할 데이터베이스名을 확인합니다.

저는 test DB로 들어갈 거에요.

 

mysql> use test;



Database changed

 

use (DB名); 명령어로 test DB로 넘어왔습니다.

 

 

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| user           |
| webuser        |
+----------------+
2 rows in set (0.00 sec)

 

show tables; 명령어는 데이터베이스 안에 있는 table 목록을 보여줍니다.

 

 

mysql> desc user;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| no    | int(11)     | NO   | PRI | NULL    | auto_increment |
| id    | varchar(32) | NO   |     | NULL    |                |
| pw    | varchar(32) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

 

desc (테이블名); 명령어는 테이블의 구성을 보여주는 명령어입니다.

어떤 칼럼이 어떻게 구성되어 있는지를 명시해줍니다.

 

 

mysql> select *from user;
+----+-------+------+
| no | id    | pw   |
+----+-------+------+
|  1 | admin | 123  |
|  2 | guest | 1234 |
+----+-------+------+
2 rows in set (0.00 sec)

 

select *from (테이블名); 명령어는 테이블에 있는 레코드를 보여주는 명령어예요.

 

 

 

그럼 이제 테이블을 생성하구 레코드를 삽입해봅시다.

 

mysql> CREATE TABLE myuser(
    -> id char(20),
    -> pw char(20),
    -> email char(40),
    -> date DATETIME
    -> );
Query OK, 0 rows affected (0.06 sec)

 

테이블 생성문은 CREATE TABLE 테이블名(필드名 데이터 타입,......);으로 작성합니다.

데이터 타입엔 CHAR(num(최대 255)), VARCHAR(num), TEXT(num), INT(num), DATETIME 등을 넣을 수 있어요.

이것 역시 차후에 포스팅해서 이곳에 링크하도록 하겠습니다.

 

 

mysql> desc myuser;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id    | char(20) | YES  |     | NULL    |       |
| pw    | char(20) | YES  |     | NULL    |       |
| email | char(40) | YES  |     | NULL    |       |
| date  | datetime | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
4 rows in set (0.00 sec)

 

대충 만들어졌네요.

date에는 레코드 입력 시 그때의 시간을 넣을 거예요.

 

 

mysql> INSERT INTO myuser (id,pw,email,date) VALUE('myadmin','1234','admin@admin',now());
Query OK, 1 row affected (0.00 sec)

 

레코드 입력은 INSERT INTO 테이블名 (필드名) VALUE(필드 값); 을 작성하면 돼요.

테이블을 만들 때 필드의 데이터 타입을 datetime으로 설정했었죠.

현재시간을 넣기 위해 now()를 사용하였습니다.

 

잘 입력됐나 확인해 봅시다.

mysql> select *from myuser;
+---------+------+-------------+---------------------+
| id      | pw   | email       | date                |
+---------+------+-------------+---------------------+
| myadmin | 1234 | admin@admin | 2019-08-02 08:19:42 |
+---------+------+-------------+---------------------+
1 row in set (0.00 sec)

 

이쁘게 잘 입력되었네요. ^^

근데 aws서버가 어느 국가에 박혀 있는 건지 시차가 좀 많이 나네요.

이건 나중에 손봅시다.

 

 

mysql> select *from myuser;                                                     
+------------+------+----------------------+---------------------+
| id         | pw   | email                | date                |
+------------+------+----------------------+---------------------+
| myadmin    | 1234 | admin@admin          | 2019-08-02 08:19:42 |
| user1      | 1234 | user1@admin          | 2019-08-02 08:20:32 |
| user2      | 1234 | user2@naver.com      | 2019-08-02 08:20:45 |
| user3      | 1234 | user3@naver.com      | 2019-08-02 08:20:53 |
| user4      | 1234 | user4@naver.com      | 2019-08-02 08:20:59 |
| user5      | 1234 | user5@naver.com      | 2019-08-02 08:21:05 |
								.
								.
                                .
| nodap      | 1234 | TT@TT                | 2019-08-02 08:24:13 |
| sqlhard    | 1234 | yes@dog              | 2019-08-02 08:24:28 |
| zebra      | 1234 | isnot@cat            | 2019-08-02 08:24:45 |
| salary     | 1234 | oneyear@6000         | 2019-08-02 08:25:19 |
+------------+------+----------------------+---------------------+
18 rows in set (0.00 sec)

 

어느 정도 그럴듯한 userDB가 생겼네요.

다음 포스트에서 칼럼 필터링과 정렬하는 법을 알아보아요.

728x90