IT Japan

[mySQL5.5] 05장. Client and Tools 본문

MySQL

[mySQL5.5] 05장. Client and Tools

swhwang 2016. 3. 23. 23:27
반응형

n  Safe Updates
- update
delete시에 where 조건절이나 LIMIT절을 포함해야 한다.

- SELECT : LIMIT 절이 기술되어 있지 않은 경우,
단일 테이블인 경우 최대 1000건까지만 표시,         다중테이블인 경우는 최대 1,000,000건까지 표시.

 

1. 현재 여러건의 데이터를 삭제하면 에러 없이 잘 수행됩니다.

mysql> delete from city_temp;

Query OK, 4079 rows affected (0.05 sec)

 

2. 이번에는 --safe-updates 옵션으로 시작합니다.

-bash-3.2$ mysql -uroot -poracle  --safe-updates

mysql> use world_innodb;

Database changed

mysql>  select count(*) from city_temp;

+----------+

| count(*) |

+----------+

|     4079 |

+----------+

1 row in set (0.00 sec)

 

3. where 조건없이 삭제하는 경우, 에러가 발생합니다.

mysql> delete from city_temp;

ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column

 

4. where 조건절을 사용하면 잘 수행됨을 알 수 있습니다.

mysql> delete from city_temp where id =100;

Query OK, 1 row affected (0.00 sec)

 

mysql> delete from city_temp where id =101 limit 1;

Query OK, 1 row affected (0.01 sec)

 

5. select를 테스트합니다.

mysql> SELECT COUNT(*) FROM scores; // 현재 건수를 조회한다.

|    16384    |

 

mysql> SELECT * FROM scores;

...

...

|    1 | 1st     |

+------+---------+

1000 rows in set (0.00 sec)

 

6. LIMIT 을 주면 원하는 행을 조회할수 있다.

 

mysql> SELECT * FROM scores LIMIT 1001;

 

...

|    1 | 1st     |

|    1 | 1st     |

+------+---------+

1001 rows in set (0.01 sec)

 

 

 

 

 

 

 


n  Output Format

    Interactive : |(vertical bar) –(dash)를 이용한 박스로 결과 표시

mysql> show databases;

+--------------------+

| Database                |

+--------------------+

| information_schema      |

| mysql                   |

| performance_schema    |

| test                     |

| world_innodb            |

+--------------------+

5 rows in set (0.00 sec)

 

    Batch : tab으로 구분된 결과 표시

-bash-3.2$ mysql -uroot -poracle <./aa.sql

ID      Name                 CountryCode    District                          Population

1       Kabul   AFG                  Kabol                              1780000

2       Qandahar       AFG     Qandahar                    237500

3       Herat     AFG                  Herat                 186800

4       Mazar-e-Sharif  AFG                  Balkh                 127800

5       Amsterdam      NLD      Noord-Holland               731200

6       Rotterdam       NLD     Zuid-Holland                 593321

7       Haag                 NLD                  Zuid-Holland                 440900

8       Utrecht                NLD                  Utrecht                            234323

9       Eindhoven       NLD     Noord-Brabant               201843

10      Tilburg                NLD                  Noord-Brabant               193238


n  tee
-
현재 session  기록합니다.

 

1. 현재 session을 기록합니다.

mysql> tee t1.txt

Logging to file 't1.txt'

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

….

+--------------------+

…..

mysql> select count(*) from City;

+----------+

| count(*) |

+----------+

|     4079 |

+----------+

mysql> notee;

Outfile disabled.

 

2. 세션 로깅 정보를 확인합니다.

-bash-3.2$ more t1.txt

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

...

mysql> select count(*) from City;

+----------+

| count(*) |

+----------+

|     4079 |

+----------+

1 row in set (0.00 sec)

 

mysql> notee;

n  \e


n  pager

 - 원하는 pager를 설정할 수 있습니다.

- interactive하게 OS 명령어를 사용하는 기능

 

1. \P more를 실행하면, 데이터를 1 페이지정도 표시한 후, --More--prompt상태에서 대기한다

-bash-3.2$ mysql -uroot -poracle --pager=more


2. 이번에는 OS 명령어  ps -ef|grep mysqld를 실행해봅니다.


 

n  Rehash
- database, table, column명을 자동 완성하는 기능: 첫글자 입력후 + Tab을 누르면 됩니다.

-bash-3.2$ mysql -uroot -poracle --auto-rehash

mysql> use world_innodb;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

 

 

반응형

'MySQL' 카테고리의 다른 글

[mySQL5.5] 08장. Transaction & Locking  (0) 2016.03.23
[mySQL5.5] 06장. Data Types  (0) 2016.03.23
[mySQL5.5] 04장. Server Configuration  (0) 2016.03.23
[mySQL5.5] 03장. Upgrading from 5.1 to 5.5  (0) 2016.03.23
[mySQL5.5] 03장. MySQL Server  (0) 2016.03.23
Comments