채널 내 database 생성
create database nembizzang default character set utf8mb4;
show databases;
mysql> create database nembizzang default character set utf8mb4;
Query OK, 1 row affected (0.02 sec) # database 생성 완료
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| nembizzang | # database 확인
| performance_schema |
| sakila |
| sys |
| world |
+--------------------+
7 rows in set (0.00 sec)
📌 default character set utf8mb4
- 문자열의 기본값을 다국어(uft8)와 이모지(mb4)로 설정
복수의 컬럼을 가진 table을 생성
채널 내 모든 table을 조회
mysql> create table mytable
-> (
-> id int,
-> name varchar(16)
-> );
show tables
Query OK, 0 rows affected (0.06 sec) # 테이블 생성 완료
mysql> show tables;
+------------------------------------------------------+
| Tables_in_nembizzang |
+------------------------------------------------------+
| mytable | # 테이블 확인
+------------------------------------------------------+
1 rows in set (0.00 sec)
table 정보 확인
desc mytable;
mysql> desc mytable;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
📌 NULL columns
- 해당 컬럼 value로 null 허용 여부 (default = YES)
📌 varchar
- pandas의 object와 같은 형태(string)
📌 DESC
- description의 약어
table 이름 변경
alter table mytable
rename nembizzang;
show tables;
Query OK, 0 rows affected (0.06 sec) # 이름 변경 완료
mysql> show tables;
+--------------------+
| Tables_in_zerobase |
+--------------------+
| animal |
| nembizzang | # 이름 변경 확인
+--------------------+
2 rows in set (0.00 sec)
table에 column 추가
alter table nembizzang
add column agee double;
desc nembizzang;
Query OK, 0 rows affected (0.07 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc nembizzang;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
| agee | double | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
📌 DOUBLE
- pandas의 float와 유사한 형태(실수)로 부동소수점 타입
table의 특정 column 내 type 변경
alter table nembizzang
modify agee int;
desc nembizzang;
Query OK, 0 rows affected (0.11 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc nembizzang;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
| agee | int | YES | | NULL | | # column type 변경 확인
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
table의 특정 column 이름 변경
alter table nembizzang
change column agee age int;
desc nembizzang;
Query OK, 0 rows affected (0.07 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc nembizzang;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
| age | int | YES | | NULL | | # coulmn명 변경 확인
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
📌 change 사용 시 유의점
- 변경할 컬럼명 뒤에 type을 적지 않으면 오류 발생
- column type도 함께 변경 가능
table의 특정 column 삭제
alter table nembizzang
drop column age;
desc nembizzang;
Query OK, 0 rows affected (0.05 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc nembizzang;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(16) | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
table 삭제
drop table nembizzang;
show table;
Query OK, 0 rows affected (0.04 sec)
mysql> show tables;
Empty set (0.00 sec)