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

MySQL에 테이블이 있는지 확인하고 테이블이 이미 존재하지 않는 경우 생성하는 방법은 무엇입니까?

<시간/>

테이블을 생성하려고 하고 테이블 이름이 이미 존재하는 경우 MySQL은 경고 메시지를 표시합니다. 개념을 확인해 보겠습니다.

여기에서 이미 존재하는 테이블을 생성합니다 -

mysql> CREATE TABLE IF NOT EXISTS DemoTable
   (
   CustomerId int,
   CustomerName varchar(30),
   CustomerAge int
   );
Query OK, 0 rows affected, 1 warning (0.05 sec)

테이블 이름 DemoTable이 이미 있습니다. 경고 메시지를 확인합시다.

다음은 쿼리입니다 -

mysql> show warnings;

그러면 다음과 같은 출력이 생성됩니다. 즉, 경고 메시지 -

+-------+------+------------------------------------+
| Level | Code | Message                            |
+-------+------+------------------------------------+
| Note  | 1050 | Table 'demotable' already exists   |
+-------+------+------------------------------------+
1 row in set (0.00 sec)

테이블 이름을 변경하고 이미 존재하지 않는 테이블을 생성합시다 -

mysql> CREATE TABLE IF NOT EXISTS DemoTable2
   (
   CustomerId int,
   CustomerName varchar(20),
   CustomerAge int
   );
Query OK, 0 rows affected (0.56 sec)

테이블이 이미 존재하지 않으므로 위에서 성공적으로 생성되었습니다.

다음은 삽입 명령을 사용하여 테이블에 레코드를 삽입하는 쿼리입니다 -

mysql> insert into DemoTable2 values(101,'Chris',23);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable2 values(102,'Robert',24);
Query OK, 1 row affected (0.12 sec)

다음은 select 명령 -

을 사용하여 테이블의 레코드를 표시하는 쿼리입니다.
mysql> select *from DemoTable2;

그러면 다음과 같은 출력이 생성됩니다.

+------------+--------------+-------------+
| CustomerId | CustomerName | CustomerAge |
+------------+--------------+-------------+
| 101        | Chris        | 23          |
| 102        | Robert       | 24          |
+------------+--------------+-------------+
2 rows in set (0.00 sec)