全文検索用にMySQLの検索機能を設定する
これには、全文検索インデックスを使用します。全文検索は、MATCH()...AGAINST構文を使用して実行されます。
まずテーブルを作成しましょう-
mysql> create table DemoTable1542 -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(20) -> ); Query OK, 0 rows affected (2.16 sec)
以下は、全文検索インデックスを作成するためのクエリです-
mysql> create fulltext index search_name on DemoTable1542(Name); Query OK, 0 rows affected, 1 warning (10.51 sec) Records: 0 Duplicates: 0 Warnings: 1
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable1542(Name) values('John Doe'); Query OK, 1 row affected (0.31 sec) mysql> insert into DemoTable1542(Name) values('Chris Brown'); Query OK, 1 row affected (0.29 sec) mysql> insert into DemoTable1542(Name) values('John Smith'); Query OK, 1 row affected (0.46 sec) mysql> insert into DemoTable1542(Name) values('Adam Smith'); Query OK, 1 row affected (4.71 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable1542;
これにより、次の出力が生成されます-
+----+-------------+ | Id | Name | +----+-------------+ | 1 | John Doe | | 2 | Chris Brown | | 3 | John Smith | | 4 | Adam Smith | +----+-------------+ 4 rows in set (0.04 sec)
これは、全文検索に対して一致を使用するためのクエリです-
mysql> select * from DemoTable1542 where match(Name) against('John' in boolean mode);
これにより、次の出力が生成されます-
+----+------------+ | Id | Name | +----+------------+ | 1 | John Doe | | 3 | John Smith | +----+------------+ 2 rows in set (0.03 sec)
-
列値のMySQLでENUMを設定します
テーブルの作成中に、ENUM値が必要な列のENUMタイプを設定します。まずテーブルを作成しましょう- mysql> create table DemoTable2019 -> ( -> StudentMarks int, -> StudentStatus ENUM('First','Second','Fail') -> ); Query OK, 0 rows affected (1.75 sec) 挿入コマンド-
-
検索クエリのMySQLデータベースフィールドタイプ?
以下は構文です- select *from yourTableName where REGEXP_INSTR(yourColumnName,yourSearchValue); 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo64 −> ( −> id int not null auto_increment primary key, −> name varchar(40) −> ); Query OK, 0 rows affected (3.06 sec)