`
dushanggaolou
  • 浏览: 172967 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

MySQl连接及重要函数总结

阅读更多

内连接:    只连接匹配的行
左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行
右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行
全外连接: 包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。
交叉连接  生成笛卡尔积-它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个

字符创连接函数

 

MySQL中concat函数
使用方法:
CONCAT(str1,str2,…)  

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)

MySQL的concat函数可以连接一个或者多个字符串,如
mysql> select concat('10');
+--------------+
| concat('10') |
+--------------+
| 10   |
+--------------+
1 row in set (0.00 sec)

mysql> select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233 |
+------------------------+
1 row in set (0.00 sec)

MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
mysql> select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL   |
+------------------------+
1 row in set (0.00 sec)

MySQL中concat_ws函数
使用方法:
CONCAT_WS(separator,str1,str2,...)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

如连接后以逗号分隔
mysql> select concat_ws(',','11','22','33');

+-------------------------------+
| concat_ws(',','11','22','33') |
+-------------------------------+
| 11,22,33 |
+-------------------------------+
1 row in set (0.00 sec)

和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL
mysql> select concat_ws(',','11','22',NULL);
+-------------------------------+
| concat_ws(',','11','22',NULL) |
+-------------------------------+
| 11,22 |
+-------------------------------+
1 row in set (0.00 sec)

MySQL中group_concat函数
完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

基本查询

mysql> select * from aa;
+------+------+
| id| name |
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200   |
|3 | 500   |
+------+------+
6 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔(默认)

mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,分号分隔

mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500   |
+------+----------------------------------+
3 rows in set (0.00 sec)

以id分组,把去冗余的name字段的值打印在一行,

逗号分隔

mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20   |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序

mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10   |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)

 

repeat()函数

    用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数

    mysql> select repeat('ab',2);

    +----------------+
| repeat('ab',2) |
+----------------+
| abab           |
+----------------+

   1 row in set (0.00 sec)

   又如
mysql> select repeat('a',2);

    +---------------+
| repeat('a',2) |
+---------------+
| aa            |
+---------------+
1 row in set (0.00 sec)

 


mysql向表中某字段后追加一段字符串:
update table_name set field=CONCAT(field,'',str)

mysql 向表中某字段前加字符串
update table_name set field=CONCAT('str',field)

 

这个函数对你也许会有很大帮助哦!!

 

 

 

分享到:
评论

相关推荐

    mysql的函数手册——汇总了mysql的常用函数

    根据提供的文件信息,本文将对MySQL中的常用函数进行详细的解读与总结。这些函数涵盖了字符串处理、数值转换等多个方面,对于数据库开发与维护人员来说是非常重要的工具。下面将逐一解析每个函数的功能及其用法。 #...

    C与MYSQL连接

    ` 函数用于初始化MySQL连接结构体。 4. **建立连接**:`mysql_real_connect` 函数尝试与MySQL服务器建立连接。参数包括服务器地址、用户名、密码、数据库名等。 5. **连接成功与失败处理**:通过条件判断,分别输出...

    phpmysql常用的函数

    **注意事项**: 使用此函数建立的连接需显式调用`mysql_close()`来关闭连接。 ##### 2. `mysql_pconnect()` **功能**: 同样用于建立与MySQL服务器的连接,但使用的是持久连接。 **格式**: ```php resource mysql_...

    C连接mysql例子

    此函数初始化MySQL连接句柄,并准备进行连接操作。 ##### 6. 建立数据库连接 ```c if (!(sock = mysql_real_connect(&mysql, "localhost", "dbuser", "dbpwd", "9tmd_bbs_utf8", 0, NULL, 0))) { fprintf(stderr, ...

    mysql函数大全

    在MySQL中,字符串函数是非常重要的组成部分,用于处理文本数据。本文将详细介绍一些常用的MySQL字符串处理函数及其使用方法,帮助开发者更好地理解和运用这些函数。 #### ASCII(str) **功能简介:** - **ASCII...

    Mysql数据库语句、增删该查总结及MFC对MySQL数据库连接

    3. 建立连接:使用`Connect()`函数尝试建立到MySQL服务器的连接。 4. 执行SQL:通过预处理和执行SQL语句来完成增删改查操作。使用`PrepareStatement()`预处理SQL,然后用`Execute()`执行。 5. 处理结果集:如果...

    labview与mysql数据库连接

    - 在LabVIEW中调用相应的函数时,将前面配置的数据源名称作为连接信息字符串的输入。 2. **远程连接**: - 若要连接到远程数据库,只需在配置数据源时提供服务器的IP地址即可。 - 确保防火墙允许使用的端口...

    php+mysql连接数据库

    本文将以“php+mysql连接数据库”为主题,详细介绍如何使用PHP连接MySQL数据库,并执行基本的数据查询操作。无论是初学者还是有一定基础的开发者都能从中获益。 #### 二、环境搭建与配置 在开始学习之前,我们需要...

    JDBC连接Mysql数据库jar包

    总结,本压缩包中的JDBC驱动是Java开发人员连接MySQL数据库的重要工具,理解和熟练使用JDBC可以帮助开发者构建高效、稳定的数据库应用。无论是新手还是经验丰富的开发者,都应该掌握JDBC的基础知识和最佳实践,以...

    mysql-数据库基本操作-实验二.doc

    1. **字符串函数**:MySQL提供了多种对文本数据进行操作的函数,如`CONCAT()`用于连接字符串,`SUBSTRING()`用于提取字符串的一部分,`REPLACE()`用于替换字符串中的特定部分,`LOWER()`和`UPPER()`分别将字符串转换...

    php mysql 连接

    ### PHP与MySQL连接详解 在Web开发领域,PHP与MySQL的结合是非常常见且重要的技术组合。两者之间的连接是实现动态网站功能的基础之一。本篇文章将详细介绍如何使用PHP连接到MySQL数据库,并通过示例代码深入理解...

    C语言连接mysql

    总结起来,C语言连接MySQL涉及学习和使用MySQL C API,包括初始化连接、设置连接参数、执行SQL语句、处理结果集以及关闭连接等步骤。理解这些概念和实践操作对于开发涉及数据库的应用至关重要。

    Delphi 7连接MySql

    因此,实现 Delphi 与 MySQL 的有效连接对于很多项目来说至关重要。 #### 二、环境搭建 本章节将详细介绍如何在 Windows XP SP3 操作系统环境下,通过 Delphi 7 实现与 MySQL 数据库的有效连接。 ##### 2.1 软件...

    带你读源码之MySQL连接管理1

    首先,我们要明确的是MySQL连接的概念,它包含了事务处理和通信两大部分。事务是数据库操作的基本单元,具备ACID属性,确保数据的一致性;通信则涉及服务器与客户端之间的信息交换。 MySQL的启动阶段,服务器会根据...

    Mysql字符串处理函数详细介绍、总结

    MySQL中的字符串处理函数是数据库操作中非常重要的工具,它们允许我们对存储的数据进行各种操作,如拼接、截取、转换、查找等。以下是对这些函数的详细解释: 1. ASCII(char):此函数返回字符的ASCII码值,即字符...

    Mysql函数大全.pdf

    在本文档中,我们将详细地探讨MySQL函数大全中所包含的部分重要函数以及它们的用法和作用。 ### 数值函数 **ASCII()** ASCII()函数用于获取字符串第一个字符的ASCII码值。例如,ASCII('2')返回50,因为字符'2'的...

    mysql 函数--常用命令--中文文档

    对于初学者而言,掌握这些基本的MySQL函数和命令是至关重要的。通过阅读和实践这些文档,不仅可以了解MySQL的基本操作,还能深入理解如何利用MySQL进行数据存储、查询和处理,从而为日后的数据库管理工作打下坚实...

    MySQL8.0窗口函数入门实践及总结

    MySQL8.0窗口函数是数据库查询中的一个重要特性,它使得在处理复杂的数据分析和统计时变得更加便捷。在MySQL8.0之前,如果要进行类似的数据排名或统计,通常需要借助子查询或自连接等复杂操作,而窗口函数的引入极大...

    php mysql连接

    在PHP编程中,MySQL连接是将PHP脚本与MySQL数据库服务器进行交互的关键步骤。这个过程允许开发者执行SQL查询、管理数据库、检索数据等操作。在本文中,我们将深入探讨PHP如何连接到MySQL数据库,以及相关的知识点。 ...

    mysql连接Oracle数据库所需oci.dll资源

    总结来说,MySQL连接Oracle数据库涉及以下步骤: 1. 安装Oracle Instant Client,确保oci.dll等必要的库文件可用。 2. 配置环境变量,如`TNS_ADMIN`和`PATH`。 3. 设置Oracle数据库的连接信息,如在`tnsnames.ora`中...

Global site tag (gtag.js) - Google Analytics