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

SQLクエリでフィールド「from」を使用して問題が発生するのはなぜですか?


fromは使用できません from のため、列名として直接 MySQLの予約語です。これを回避するには、バックティック記号を使用する必要があります。まずテーブルを作成しましょう-

mysql> create table DemoTable
   (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   `from` varchar(100),
   Name varchar(10)
   );
Query OK, 0 rows affected (0.92 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(`from`,Name) values('US','John');
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable(`from`,Name) values('UK','Carol');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable(`from`,Name) values('AUS','David');
Query OK, 1 row affected (0.12 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+----+------+-------+
| Id | from | Name  |
+----+------+-------+
|  1 | US   | John  |
|  2 | UK   | Carol |
|  3 | AUS  | David |
+----+------+-------+
3 rows in set (0.00 sec)

以下は、予約語から列名として使用するクエリです-

mysql> select `from` from DemoTable;

これにより、次の出力が生成されます-

+------+
| from |
+------+
| US   |
| UK   |
| AUS  |
+------+
3 rows in set (0.00 sec)

  1. フィールド値からコンマをカウントするMySQLクエリ?

    以下は構文です- select length(yourColumnName) - length(replace(yourColumnName, ',', '')) as anyAliasName from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1510    -> (    -> Value varchar(50)    -> ); Query OK, 0 rows affected (6.75

  2. MySQLのENUMフィールドを使用して行を選択する

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> EmployeeStatus ENUM('FULLTIME','Intern') default NULL    -> ); Query OK, 0 rows affected (0.66 sec) 挿入コマンドを使用してテーブルにいくつかのレコードを挿入します- mysql> insert into DemoTable values('FULL