Функция MySQL INSERT ()
Функция INSERT ()
Функция MySQL INSERT () вставляет строку в строку, удаляя количество символов из исходной строки.
Исходная строка, строка, которая будет вставлена, позиция вставки в исходной строке и количество символов, которые должны быть удалены из исходной строки - все это указывается в качестве аргументов функции.
Синтаксис:
INSERT (ori_string, in_pos, length, new_string)
аргументы
название | Описание |
---|---|
ori_string | Оригинальная строка. |
in_pos | Положение вставки в исходной строке. |
длина | Количество символов, которые будут удалены из исходной строки. |
new_string | Строка для вставки. |
Синтаксическая диаграмма:
Версия MySQL: 5.6
Видео презентация
Иллюстрированная презентация
Пример функции MySQL INSERT ()
В следующем операторе MySQL строка «insert» вставляется в строку «Originalstring», удаляя 5 символов из 4-го символа «Originalstring». Вывод «Ori вставить строку».
Код:
SELECT INSERT('Originalstring', 4, 5, ' insert ');
Пример вывода:
mysql> SELECT INSERT ('Originalstring', 4, 5, 'insert'); + -------------------------------------------- + | INSERT ('Originalstring', 4, 5, 'insert') | + -------------------------------------------- + | Ori вставить строку | + -------------------------------------------- + 1 ряд в наборе (0,02 сек)
Пример функции MySQL INSERT () с отрицательным значением
Следующая инструкция MySQL возвращает Originalstring, саму строку. Это происходит потому, что позиция вставки, которая указана как -3, находится вне диапазона, поэтому вставка не происходит.
Код:
SELECT INSERT('Originalstring', -3, 5, ' insert ');
Пример вывода:
mysql> SELECT INSERT ('Originalstring', -3, 5, 'insert'); + --------------------------------------------- + | INSERT ('Originalstring', -3, 5, 'insert') | + --------------------------------------------- + | Оригинальная строка | + --------------------------------------------- + 1 ряд в наборе (0,02 сек)
Пример превышения длины функции MySQL INSERT ()
Следующая инструкция MySQL возвращает «Ori insert». Это происходит потому, что количество удаляемых символов (из 4-й позиции исходной строки) превышает количество доступных символов (после 4-й позиции) в исходной строке. Таким образом, он продолжает удалять символы до конца исходной строки.
Код:
SELECT INSERT('Originalstring', 4,15, ' insert ');
Пример вывода:
mysql> SELECT INSERT ('Originalstring', 4,15, 'insert'); + -------------------------------------------- + | INSERT ('Originalstring', 4,15, 'insert') | + -------------------------------------------- + | Ori вставить | + -------------------------------------------- + 1 ряд в наборе (0,00 сек)
Пример функции MySQL INSERT () с использованием где
Следующий оператор MySQL берет aut_id из таблицы автора, проверяя, является ли страна автора США, если это так, то он возвращает строку, вставляя новую строку '/' в 4-ю позицию (из aut_id), удаляя число 0 символов с 4-й позиции (из aut_id).
Код:
SELECT INSERT(aut_id,4,0, '/')
FROM author
WHERE country='USA';
Пример таблицы: автор
Пример вывода:
mysql> SELECT INSERT (aut_id, 4,0, '/') -> ОТ автора -> ГДЕ страна = 'США'; + ------------------------- + | INSERT (aut_id, 4,0, '/') | + ------------------------- + | AUT / 006 | | AUT / 008 | | AUT / 010 | | AUT / 015 | + ------------------------- + 4 ряда в наборе (0,00 сек)
PHP скрипт
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>example-insert-function - php mysql examples | w3resource</title>
<meta name="description" content="example-insert-function - php mysql examples | w3resource">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<h2>list of author's id with a string manipulation function called insert:</h2>
<table class='table table-bordered'>
<tr>
<th>Author's id</th>
</tr>
<?php
$hostname="your_hostname";
$username="your_username";
$password="your_password";
$db = "your_dbname";
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password);
foreach($dbh->query('SELECT INSERT(aut_id,4,0, "/") as a_id
FROM author
WHERE country="USA"') as $row) {
echo "<tr>";
echo "<td>" . $row['a_id'] . "</td>";
echo "</tr>";
}
?>
</tbody></table>
</div>
</div>
</div>
</body>
</html>
JSP скрипт
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>example-insert-function</title>
</head>
<body>
<%
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String Host ="jdbc:mysql://localhost:3306/w3resour_bookinfo";
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
connection = DriverManager.getConnection(Host, "root", "datasoft123");
statement = connection.createStatement();
String Data ="SELECT INSERT(aut_id,4,0, '/') as a_id FROM author WHERE country='USA'";
rs = statement.executeQuery(Data);
%>
<TABLE border="1">
<tr width="10" bgcolor="#9979">
<td>Author's id</td>
</tr>
<%
while (rs.next()) {
%>
<TR>
<TD><%=rs.getString("a_id")%></TD>
</TR>
<% } %>
</table>
<%
rs.close();
statement.close();
connection.close();
} catch (Exception ex) {
out.println("Cant connect to database.");
}
%>
</body>
</html>
Все строковые функции
Новый контент: Composer: менеджер зависимостей для PHP , R программирования