検索クエリの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)
-
MySQLストアドプロシージャに実装されているクエリからデータベース名を取得しますか?
データベース名を取得するには、以下の構文を使用します- select database(); 上記の構文をストアドプロシージャに実装しましょう- mysql> delimiter // mysql> create procedure get_procedure_database_name() -> begin -> select concat('The database name=',database()); -> end -> // Q
-
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) 挿