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

検索クエリの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)

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。
mysql> insert into demo64(name) values('John Smith');
Query OK, 1 row affected (0.21 sec)

mysql> insert into demo64(name) values('John Doe');
Query OK, 1 row affected (0.15 sec)

mysql> insert into demo64(name) values('Chris Brown');
Query OK, 1 row affected (0.08 sec)

mysql> insert into demo64(name) values('David Miller');
Query OK, 1 row affected (0.20 sec)

mysql> insert into demo64(name) values('Carol Taylor');
Query OK, 1 row affected (0.10 sec)

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

mysql> select *from demo64;

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

+----+--------------+
| id | name         |
+----+--------------+
|  1 | John Smith   |
|  2 | John Doe     |
|  3 | Chris Brown  |
|  4 | David Miller |
|  5 | Carol Taylor |
+----+--------------+
5 rows in set (0.00 sec)

以下は、フィールドタイプ検索クエリのクエリです-

mysql> select *from demo64 where REGEXP_INSTR(name,'John');

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

+----+------------+
| id | name       |
+----+------------+
|  1 | John Smith |
|  2 | John Doe   |
+----+------------+
2 rows in set (0.00 sec)

  1. MySQLストアドプロシージャに実装されているクエリからデータベース名を取得しますか?

    データベース名を取得するには、以下の構文を使用します- select database(); 上記の構文をストアドプロシージャに実装しましょう- mysql> delimiter // mysql> create procedure get_procedure_database_name()    -> begin    -> select concat('The database name=',database());    -> end    -> // Q

  2. MySQLテーブルにない値をデータベースに照会しますか?

    このために、WHERE NOTEXISTSとともにUNIONALLを使用し、NOT INを実装して、テーブルにすでに存在する値を無視することができます。 UNION ALLでSELECTを使用して、まだテーブルにない値を追加します。 まずテーブルを作成しましょう- mysql> create table DemoTable1918    (    Value int NOT NULL AUTO_INCREMENT PRIMARY KEY    ); Query OK, 0 rows affected (0.00 sec) 挿