>  기사  >  데이터 베이스  >  MySQL 시작하기 튜토리얼 2 - 쿼리 입력 및 쿼리 명령 종료

MySQL 시작하기 튜토리얼 2 - 쿼리 입력 및 쿼리 명령 종료

黄舟
黄舟원래의
2017-02-23 11:26:131334검색

이전 섹션에서 설명한 대로 서버에 연결되어 있는지 확인하세요. 서버에 연결해도 데이터베이스가 선택되지는 않지만 괜찮습니다. 쿼리 방법에 대한 기본 사항을 아는 것이 바로 테이블 생성, 데이터 로드, 테이블에서 데이터 검색을 시작하는 것보다 더 중요합니다. 이 섹션에서는 몇 가지 쿼리를 사용하여 mysql이 어떻게 작동하는지 이해할 수 있도록 명령을 입력하는 기본 원칙을 설명합니다.

이것은 서버에 버전 번호와 현재 날짜를 알려달라고 요청하는 간단한 명령입니다. mysql> 프롬프트에 다음 명령을 입력하고 Enter를 누르십시오.

mysql> SELECT VERSION(), CURRENT_DATE; +-----------------+--------------+
| VERSION()       | CURRENT_DATE |
+-----------------+--------------+
| 5.1.2-alpha-log | 2005-10-11   |
+-----------------+--------------+
1 row in set (0.01 sec)
mysql>

이 쿼리는 mysql의 여러 측면을 설명합니다.

· 명령은 일반적으로 SQL 문으로 구성됩니다. 세미콜론으로. (세미콜론이 필요하지 않은 예외도 있습니다. 앞에서 언급한 QUIT는 예시입니다. 다른 예시는 나중에 살펴보겠습니다.)

· 명령이 실행되면 mysql이 메시지를 보냅니다. 이를 서버에 전송하고 실행 결과를 표시한 다음 다른 명령을 받아들일 준비가 되었음을 표시하기 위해 또 다른 mysql>을 표시합니다.

· mysql은 쿼리 출력을 테이블(행과 열)로 표시합니다. 첫 번째 행에는 열 레이블이 포함되고 후속 행은 쿼리 결과입니다. 일반적으로 열 레이블은 데이터베이스 테이블에서 가져온 열의 이름입니다. 이전 예에서와 같이 테이블 열의 값이 아닌 표현식을 검색하는 경우 mysql은 해당 열을 표현식 자체로 표시합니다.

· mysql은 반환된 행 수와 쿼리에 걸린 시간을 표시하여 서버 성능에 대한 일반적인 아이디어를 제공합니다. 이는 시계 시간(CPU 또는 머신 시간이 아님)을 나타내고 서버 로드 및 네트워크 대기 시간과 같은 요소의 영향을 받기 때문에 이러한 값은 부정확합니다. (간결하게 하기 위해 이 장의 다른 예에서는 "컬렉션의 행"이 더 이상 표시되지 않습니다.)

대문자 및 소문자로 키워드를 입력하는 기능(대소문자 구분 안 함). 다음 쿼리는 동일합니다.

mysql> SELECT VERSION(), CURRENT_DATE; mysql> select version(), current_date; mysql> SeLeCt vErSiOn(), current_DATE; 这是另外一个查询,它说明你能将mysql用作一个简单的计算器:
mysql> SELECT SIN(PI()/4), (4+1)*5; +------------------+---------+
| SIN(PI()/4)      | (4+1)*5 |
+------------------+---------+
| 0.70710678118655 |      25 |
+------------------+---------+
rrree

지금까지 표시된 명령은 비교적 짧은 한 줄 명령문입니다. 세미콜론으로 구분하여 한 줄에 여러 명령문을 입력할 수 있습니다.

1 row in set (0.02 sec)

한 줄에 명령을 모두 입력할 필요는 없습니다. 더 긴 명령을 여러 줄에 입력할 수 있습니다. mysql은 입력 줄의 끝이 아닌 종료 세미콜론을 찾아 명령문이 끝나는 위치를 결정합니다. (즉, mysql은 자유 형식 입력을 허용합니다. 입력 줄을 수집하지만 세미콜론이 나타날 때까지 실행되지 않습니다.)

다음은 간단한 여러 줄 문의 예입니다.

mysql> SELECT VERSION(); SELECT NOW(); +-----------------+
| VERSION()       |
+-----------------+
| 5.1.2-alpha-log |
+-----------------+
1 row in set (0.00 sec)

+---------------------+
| NOW()               |
+---------------------+
| 2005-10-11 15:15:00 |
+---------------------+
1 row in set (0.00 sec)

이 예에서는 여러 줄 쿼리의 첫 번째 줄을 입력한 후 프롬프트가 mysql>에서 ->로 어떻게 변경되는지 확인하세요. 이것이 바로 mysql이 가리키는 방식입니다. 완전한 문에는 빠져 있고 나머지 부분을 기다리고 있습니다. 프롬프트는 귀중한 피드백을 제공하기 때문에 친구이며, 이 피드백을 사용하면 mysql이 무엇을 기다리고 있는지 항상 알 수 있습니다.

입력 중인 명령을 실행하지 않으려면 c를 입력하여 취소하세요.

mysql> SELECT     -> USER()     -> , -> CURRENT_DATE; +---------------+--------------+
| USER()        | CURRENT_DATE |
+---------------+--------------+
| jon@localhost | 2005-10-11   |
+---------------+--------------+

또한 c를 입력한 후 나타나는 프롬프트에 주의하세요. mysql>로 다시 전환하면 mysql이 새 명령을 받아들일 준비가 되었음을 나타내는 피드백이 제공됩니다.

다음 표는 볼 수 있는 다양한 프롬프트를 보여주고 mysql의 상태를 간략하게 설명합니다.

提示符 含义
mysql> 准备好接受新命令。
-> 等待多行命令的下一行。
'> 等待下一行,等待以单引号(“'”)开始的字符串的结束。
"> 等待下一行,等待以双引号(“"”)开始的字符串的结束。
`> 等待下一行,等待以反斜点(‘`’)开始的识别符的结束。
/*> 等待下一行,等待以/*开始的注释的结束。
프롬프트
의미
mysql> ; 새로운 명령을 받을 준비가 되었습니다.
-> 여러 줄 명령의 다음 줄을 기다립니다.
'> 다음 줄과 작은따옴표("'")로 시작하는 문자열의 끝을 기다립니다. .
"> 다음 줄과 큰따옴표(""")로 시작하는 문자열의 끝을 기다립니다.
`> 백슬래시 점('`으로 시작하는 식별자의 끝을 기다리면서 다음 줄을 기다립니다. ').
/*> 다음 줄과 /*로 시작하는 주석 끝을 기다립니다.

当你打算在一个单行上发出一个命令时,通常会“偶然”出现多行语句,但是没有终止分号。在这种情况中,mysql等待进一步输入:

mysql> SELECT USER()     ->

如果出现这种情况(你认为输完了语句,但是只有一个->提示符响应),很可能mysql正在等待分号。如果你没有注意到提示符的提示,在意识到你需要做什么之前,你可能会呆坐一会儿。输入一个分号完成语句,mysql将执行:

mysql> SELECT USER()    -> ; +---------------+
| USER()        |
+---------------+
| jon@localhost |
+---------------+

在字符串收集期间将出现 '> 和 "> 提示符(提示MySQL正等待字符串的结束)。在MySQL中,可以写由‘'’或‘"’字符括起来的字符串 (例如,'hello'或"goodbye"),并且mysql允许输入跨越多行的字符串。当看到一个 '> 或 "> 提示符时,这意味着已经输入了包含以‘'’或‘"’括号字符开始的字符串的一行,但是还没有输入终止字符串的匹配引号。这显示你粗心地省掉了一个引号字符。例如:

mysql> SELECT * FROM my_table WHERE name = &#39;Smith AND age < 30;     &#39;>

如果你输入SELECT语句,然后按Enter(回车)键并等待结果,什么都没有出现。不要惊讶,“为什么该查询这么长呢?”,注意">提示符提供的线索。它告诉你mysql期望见到一个未终止字符串的余下部分。(你看见语句中的错误吗?字符串"Smith丢掉了第二个引号。)

走到这一步,你该做什么?最简单的是取消命令。然而,在这种情况下,你不能只是输入\c,因为mysql作为它正在收集的字符串的一部分来解释它!相反,应输入关闭的引号字符(这样mysql知道你完成了字符串),然后输入\c:

mysql> SELECT * FROM my_table WHERE name = &#39;Smith AND age < 30;     &#39;> '\c mysql>

提示符回到mysql>,显示mysql准备好接受一个新命令了。

`> 提示符类似于 '> 和"> 提示符,但表示你已经开始但没有结束以`> 开始的识别符。

知道'>和">提示符的含义很重要,因为如果你错误地输入一个未终止的字符串,任何后面输入的行将要被mysql忽略--包括包含QUIT的行!这可能令人相当困惑,特别是如果取消当前命令前还不知道你需要提供终止引号。

 以上就是MySQL入门教程2 —— 输入查询及退出查询命令的内容,更多相关内容请关注PHP中文网(www.php.cn)! 


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.