Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 "order"라는 테이블을 어떻게 만들 수 있습니까?

<시간/>

아시다시피 order는 MySQL의 키워드이므로 테이블 이름에 직접 order를 지정할 수 없습니다. 테이블 이름 순서 주위에 백틱을 사용해야 합니다. 백틱을 사용하면 사용자가 키워드를 테이블 또는 열 이름으로 간주할 수 있습니다.

구문은 다음과 같습니다.

CREATE TABLE `order`
(
   yourColumnName1 dataType,
   yourColumnName2 dataType,
   yourColumnName3 dataType,
   .
   .
   .
   .
   N
);

테이블을 만들어 봅시다. 테이블 생성 쿼리는 다음과 같습니다.

mysql> create table `order`
   - > (
   - > Id int,
   - > Price int
   - > );
Query OK, 0 rows affected (0.66 sec)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오.

쿼리는 다음과 같습니다.

mysql> insert into `order` values(1,200);
Query OK, 1 row affected (0.21 sec)
mysql> insert into `order` values(2,100);
Query OK, 1 row affected (0.17 sec)
mysql> insert into `order` values(3,300);
Query OK, 1 row affected (0.20 sec)
mysql> insert into `order` values(4,1200);
Query OK, 1 row affected (0.13 sec)
mysql> insert into `order` values(5,1000);
Query OK, 1 row affected (0.18 sec)
mysql> insert into `order` values(6,7000);
Query OK, 1 row affected (0.20 sec)
mysql> insert into `order` values(7,900);
Query OK, 1 row affected (0.16 sec)
mysql> insert into `order` values(8,10000);
Query OK, 1 row affected (0.18 sec)
mysql> insert into `order` values(9,1100);
Query OK, 1 row affected (0.30 sec)
mysql> insert into `order` values(10,500);
Query OK, 1 row affected (0.18 sec)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다.

쿼리는 다음과 같습니다.

mysql> select *from `order`;

다음은 출력입니다.

+------+-------+
| Id   | Price |
+------+-------+
|    1 |   200 |
|    2 |   100 |
|    3 |   300 |
|    4 |  1200 |
|    5 |  1000 |
|    6 |  7000 |
|    7 |   900 |
|    8 | 10000 |
|    9 |  1100 |
|   10 |   500 |
+------+-------+
10 rows in set (0.00 sec)

키워드로 설정된 테이블 이름에 백틱 기호를 사용하지 않으면 오류가 발생합니다.

오류는 다음과 같습니다.

mysql> select *from order;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'order' at line 1

따라서 이 오류를 수정하고 키워드를 테이블 또는 열 이름으로 사용하려면 이름 주위에 백틱 기호를 사용해야 합니다.