MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLクエリのテーブルと列を引用符で囲む必要がありますか?


テーブル名または列名が予約済みの単語である場合は、MySQLクエリでテーブル名と列名を引用符で囲む必要があります。テーブル名と列名の前後にバッククォートを使用する必要があります。構文は次のとおりです。

SELECT *FROM `table` where `where`=condition;

これは、予約語を含む引用符なしのテーブルを作成するためのクエリです。事前定義された予約語であるため、エラーが発生します。エラーは次のとおりです。

mysql> create table table
   -> (
   -> where int
   -> );
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 'table
(
   where int
)' at line 1

「table」と「where」は予約語なので、テーブルと列の名前を引用符で囲みます。引用符付きのクエリは次のとおりです:

mysql> create table `table`
   -> (
   -> `where` int
   -> );
Query OK, 0 rows affected (0.55 sec)

挿入コマンドを使用して、テーブルにレコードを挿入します。クエリは次のとおりです。

mysql> insert into `table`(`where`) values(1);
Query OK, 1 row affected (0.13 sec)
mysql> insert into `table`(`where`) values(100);
Query OK, 1 row affected (0.26 sec)
mysql> insert into `table`(`where`) values(1000);
Query OK, 1 row affected (0.13 sec)

where条件を使用して、テーブルから特定のレコードを表示します。クエリは次のとおりです。

mysql> select *from `table` where `where`=100;

出力は次のとおりです。

+-------+
| where |
+-------+
| 100   |
+-------+
1 row in set (0.00 sec)

  1. 2つのテーブルに対する単一のMySQL選択クエリは可能ですか?

    はい、可能です。以下は構文です- select * from yourTableName1,yourTableName2; まずテーブルを作成しましょう- mysql> create table DemoTable1    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY    -> ); Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql>

  2. MySQLは、1つのクエリで2つのテーブルを選択して挿入します

    これが最初のテーブルを作成するためのクエリです。 mysql> create table DemoTable1    -> (    -> StudentName varchar(20),    -> StudentMarks int    -> ); Query OK, 0 rows affected (0.67 sec) 上記の概念を理解するために、2番目のテーブルを作成しましょう。 mysql> create table DemoTable2    -