¿Cómo consultar MySQL like? El uso de la declaración like en la base de datos MySQL

mysql ¿Cómo consultar como?base de datos mysqlUso de declaraciones similares a chino

Cláusula LIKE de MySQL

Sabemos usar el comando SQL SELECT para leer datos en MySQL, y podemos usar la cláusula WHERE en la instrucción SELECT para obtener los registros especificados.

El signo igual se puede utilizar en la cláusula WHERE = Para establecer las condiciones para la obtención de datos, como "chenweiliang_author = 'chenweiliang.com'".

Pero a veces necesitamos obtener todos los registros cuyo campo chenweiliang_author contiene caracteres "COM", entonces necesitamos usar la cláusula SQL LIKE en la cláusula WHERE.

Uso de signos de porcentaje en cláusulas SQL LIKE %carácter para representar cualquier carácter, similar al asterisco en UNIX o expresiones regulares *.

Si no se usa el signo de porcentaje %, Cláusula LIKE con signo igual = El efecto es el mismo.

gramática

La siguiente es la sintaxis general de una instrucción SQL SELECT para leer datos de una tabla de datos usando la cláusula LIKE:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Puede especificar cualquier condición en la cláusula WHERE.
  • Puede usar la cláusula LIKE en la cláusula WHERE.
  • Puede usar la cláusula LIKE en lugar del signo igual =.
  • LIKE generalmente se asocia con % Usados ​​juntos, similar a una búsqueda de metacaracteres.
  • Puede especificar una o más condiciones usando AND u OR.
  • Puede usar la cláusula WHERE...LIKE en los comandos DELETE o UPDATE para especificar condiciones.

Uso de la cláusula LIKE en el símbolo del sistema

A continuación, usaremos la cláusula WHERE...LIKE en el comando SQL SELECT para leer datos de la tabla de datos MySQL chenweiliang_tbl.

Ejemplo

A continuación se muestra cómo obtendremos el campo chenweiliang_author en la tabla chenweiliang_tbl con COM para todos los registros que terminen en:

Declaración de ACTUALIZACIÓN de SQL:

mysql> use chenweiliang;
Database changed
mysql> SELECT * from chenweiliang_tbl WHERE chenweiliang_author LIKE '%COM';
+-----------+---------------+---------------+-----------------+
| chenweiliang_id | chenweiliang_title | chenweiliang_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3 | 学习 Java | chenweiliang.com | 2015-05-01 |
| 4 | 学习 Python | chenweiliang.com | 2016-03-06 |
+-----------+---------------+---------------+-----------------+
2 rows in set (0.01 sec)

Usando la cláusula LIKE en el script PHP

Puede usar la función PHP mysqli_query() y el mismo comando SQL SELECT con una cláusula WHERE...LIKE para obtener datos.

Esta función se usa para ejecutar comandos SQL y luego generar datos para todas las consultas a través de la función PHP mysqli_fetch_assoc().

Pero si es una instrucción SQL que utiliza la cláusula WHERE...LIKE en DELETE o UPDATE, no es necesario utilizar la función mysqli_fetch_array().

Ejemplo

Así es como usamos un script PHP para leer todos los registros que terminan en COM en el campo chenweiliang_author en la tabla chenweiliang_tbl:

Prueba de cláusula MySQL DELETE:

 
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
 die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
 
$sql = 'SELECT chenweiliang_id, chenweiliang_title, 
 chenweiliang_author, submission_date
 FROM chenweiliang_tbl
 WHERE chenweiliang_author LIKE "%COM"';
 
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
 die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
 echo "<tr><td> {$row['chenweiliang_id']}</td> ".
 "<td>{$row['chenweiliang_title']} </td> ".
 "<td>{$row['chenweiliang_author']} </td> ".
 "<td>{$row['submission_date']} </td> ".
 "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

发表 评论

Su dirección de correo electrónico no será publicada. 项 已 用 * 标注

Ir al Inicio