ํ ์ด๋ธ์ ๋ง๋ค ๋ create๋ฅผ ํ๊ณ , ๊ฐ ์ด์ data type, null, key, default ๊ฐ์ ์ ํด์ค๋ค.
create table test01 (
no integer not null,
name varchar(30),
birthday date);
mysql> desc test01;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| no | int | NO | | NULL | |
| name | varchar(30) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
์ด์ ์ถ๊ฐ/์์ /์ ๊ฑฐํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์๋ ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
alter table test01 add ์ด์ ์
alter table test01 modify ์ด์ ์ # ์ด ์์ฑ ๋ณ๊ฒฝํ ๋
alter table test01 change ์ด์ ์ # ์ด ์ด๋ฆ ๋ณ๊ฒฝํ ๋
alter table test01 drop ์ด์ด๋ฆ
#email column ์ถ๊ฐํ๊ธฐ
alter table test01 add email varchar(50) not null;
mysql> desc test01;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| no | int | NO | | NULL | |
| name | varchar(30) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| email | varchar(50) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
# no์ pk ์ง์ ํด์ฃผ๊ธฐ
mysql> alter table test01 add constraint pkey primary key(no);
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| no | int | NO | PRI | NULL | |
| name | varchar(30) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| email | varchar(50) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
mysql> insert into
test01 (no, name, birthday, email)
values(1, '์ด์์', 19910401, 'yeni@gg.com');
mysql> select * from test01;
+----+-----------+------------+-------------+
| no | name | birthday | email |
+----+-----------+------------+-------------+
| 1 | ์ด์์ | 1991-04-01 | yeni@gg.com |
+----+-----------+------------+-------------+
1 row in set (0.00 sec)
update ๋ช
๋ น์์๋ set ๊ตฌ
๋ฅผ ์ฌ์ฉํ๋ค. ์ฑ
์ ๋ณด๋ฉด์ ๋ ์ฝ๋๋ฅผ ์
๋ฐ์ดํธ ํ๋ ค๊ณ ์ฟผ๋ฆฌ๋ฅผ ์ฐ๋๊น, ์๋์ ๊ฐ์ด ๋ฐ๋์ด๋ฒ๋ ธ๋ค ๐ต
where์ ์ฐ์ง ์์ผ๋ฉด ํด๋น ์ด์ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋๊ฐ์ value๊ฐ์ผ๋ก ๋ฐ๊ฟ๋ฒ๋ฆฐ๋ค. ์์๋ null๊ฐ์ธ ํ๋ค์ ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ผ๋ก ์ฐ์๋๋ฐ, where๊ตฌ๋ฅผ ํตํด ์ํ๋ ๊ฐ๋ค์ ์์ ํด์ฃผ์ด์ผ ํ๋ ๊ฒ์ ๊ธฐ์ตํ์!
+----+-----------+------------+----------------+
| no | name | birthday | email |
+----+-----------+------------+----------------+
| 1 | ์ด์์ | 2000-04-01 | yeni@gg.com |
| 2 | ๊น์ฝ๋ | 2020-05-24 | code@naver.com |
+----+-----------+------------+----------------+
update test01 set birthday=19951220;
+----+-----------+------------+----------------+
| no | name | birthday | email |
+----+-----------+------------+----------------+
| 1 | ์ด์์ | 1995-12-20 | yeni@gg.com |
| 2 | ๊น์ฝ๋ | 1995-12-20 | code@naver.com |
+----+-----------+------------+----------------+
update test01 set birthday=19951220;
mysql>update test01 set birthday=20200401 where name='์ด์์';
+----+-----------+------------+----------------+
| no | name | birthday | email |
+----+-----------+------------+----------------+
| 1 | ์ด์์ | 2020-04-01 | yeni@gg.com |
| 2 | ๊น์ฝ๋ | 1995-12-20 | code@naver.com |
+----+-----------+------------+----------------+
like ์ ์ด๋ฅผ ์ฌ์ฉํด ํจํด ๋งค์นญ์ผ๋ก ๊ฒ์ํ ์ ์๋ค. ํจํด์ ์ ์ํ ๋ ์ฌ์ฉํ ์ ์๋ ๋ฉํ ๋ฌธ์๋ %์ _๊ฐ ์๋ค.
์ธ๋๋ฐ๋ก๋ง ๊ฒ์ํ ๊ฒฝ์ฐ์ ๊ฒฐ๊ณผ๊ฐ ์ ๋์จ๋ค. ์๋ํ๋ฉด like '์ง' ์ด๋ฐ ์์ผ๋ก ๊ฒ์ํ๊ฒ ๋๋ฉด ๋ฌธ์ ํ๋๊ฐ ์ง์ด๊ณ ๋์ธ ๊ฒฝ์ฐ๋ฅผ ๊ฒ์ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ ๋ค์ ๋ฌธ์์ด์ด ์๋ ์ ๋ค์ ๊ฒ์ํ๋ ค๋ฉด '์ง%' ์๋ฐ ์์ผ๋ก ๊ฒ์ํด์ผ ํ๋ ์ ์ ์ฐธ๊ณ ํ์.
๋ง์ฝ ์๊ณ ๋ฆฌ์ฆ์ด pow์ธ ์ํธ ํํ๋ฅผ ์๊ณ ์ถ๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ด ๊ฒ์ํด์ฃผ๋ฉด ๋๋ค.
#์ ๋ฐฉ ์ผ์น
select currency_infos.code, currency_infos.algorithm
from currency_infos where algorithm like '%pow';
+------+-----------+
| code | algorithm |
+------+-----------+
| BTC | PoW |
| BCH | PoW |
| BSV | PoW |
| LTC | PoW |
| ETC | PoW |
| HDAC | ePoW |
+------+-----------+
%์ ์์น์ ๋ฐ๋ผ ์ ๋ฐฉ, ์ค๊ฐ, ํ๋ฐฉ ์ผ์น๋ฅผ ๊ฒ์ํ ์ ์๋ค๋๋ฐ ๊ฒฐ๊ณผ ๊ฐ๋ง ๋ดค์ ๋๋ ์ ๋ชจ๋ฅด๊ฒ ๋ค. ์์ ๊ฒฐ๊ณผ๊ฐ๋ ์ ๋ฐฉ์ผ์น๋ก ๊ฒ์ํ๋๋ฐ e๋ก ์์ํ๋ ๊ฐ์ด ๋์๋ฒ๋ ค์ ์กฐ๊ธ ํท๊ฐ๋ ธ์ง๋ง ์ ๋ฐฉ ์ผ์น๋ ์ฒซ ๋ฒ์งธ ๋ฌธ์์ด์ ํฌํจ๋์ด ์๋์ง ์ฌ๋ถ๋ฅผ ๋งํ๋ ๊ฒ ๊ฐ๋ค.
์ฐ์ฐ ๊ด๋ จ๋ ๋ถ๋ถ์ ๋๋ถ๋ถ ์ฃผ์ํ ์ฌํญ์ด ๋ง์์ ๋ฐ๋ก ๊ฒ์๋ฌผ์ ๋ง๋ค์๋๋ฐ, ์ด๋ฒ์ ์ํธํํ ๊ฑฐ๋์๋ฅผ ํ๋ฉด์ ์์ฒญ๋๊ฒ ํ์ํ ๋ด์ฉ์ ์๊ฒ ๋๋ค.
์ฐ์ ๋ ๋ฒ์งธ ํ๋ก์ ํธ์์ ์ํธํํ์ ์ํ ํ์ฐ ๊ฐ๊ฒฉ์ด ๋๋ฌด๋ ํธ์ฐจ๊ฐ ์ปธ๋ค. ์ต์ ์ฃผ๋ฌธ ๊ฐ๊ฒฉ์ด 500์์ด์๋๋ฐ, ์ด๋ค ํํ๋ 1,000๋ง์์ด๊ณ ์ด๋ค ํํ๋ 20๋ง์์ด์ด์ ์ฃผ๋ฌธ ๊ฐ๋ฅ ์๋์ ์์์ ํธ์ฐจ๊ฐ ์ปธ๋ค. (0.000001๊ฐ๋ฅผ ์ด ์ ์๋ ํํ๋ ์๊ณ , ์๋ ๊ฒ๋ ์๊ณ )
๊ทธ๋ฐ๋ฐ ์๋ ๋ก์ฐ ์ฟผ๋ฆฌ๋ฅผ ํ์ฉํ orm์ ์์๋ค๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋ ๊นจ๋ํ๊ฒ ๋ณด๋ด์ค ์ ์์์ ๊ฒ ๊ฐ๋ค.
mysql> select * from userwallets;
+----+---------------------+--------------+----------+-----------+
| id | volume | price | asset_id | user_id |
+----+---------------------+--------------+----------+-----------+
| 12 | 10100000.0000000000 | 0.0000000000 | 34 | 5 |
| 13 | 0.0000000000 | 0.0000000000 | 8 | 5 |
| 14 | 30000.0000000000 | 0.0000000000 | 34 | 7 |
| 15 | 0.0000000000 | 0.0000000000 | 8 | 7 |
+----+---------------------+--------------+----------+-----------+
mysql> select round(volume, 1) from userwallets;
# ํ ๋ฒ์ ํด๊ฒฐ!
+------------------+
| round(volume, 1) |
+------------------+
| 10100000.0 |
| 0.0 |
| 30000.0 |
| 0.0 |
+------------------+