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)
-
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>
-
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 -