加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

当Python字符串碰上MySQL

发布时间:2022-03-22 22:29:37 所属栏目:编程 来源:互联网
导读:学习的时候我喜欢对比,MySQL和Oracle比,Python和MySQL比,总能有一些收获,也有了新的理解。 今天整理这部分内容的时候,我发现Python和MySQL还是有很多相似之处。学习一门语言,一个数据库,字符串的处理都是一个相对重要的部分,所以我决定对比一下两者
      学习的时候我喜欢对比,MySQL和Oracle比,Python和MySQL比,总能有一些收获,也有了新的理解。
 
     今天整理这部分内容的时候,我发现Python和MySQL还是有很多相似之处。学习一门语言,一个数据库,字符串的处理都是一个相对重要的部分,所以我决定对比一下两者的差别。
 
     下面的演示会一边Python,一边MySQL,所以按照这个思路来看就不会感觉突兀了。
 
  转义字符
 
>>> print '"'
"
mysql> select '"';
+---+
| " |
+---+
| " |
+---+
 
>>> print '''
'
mysql> select ''';
+---+
| ' |
+---+
| ' |
+---+
 
字符串拼接
>>> x = 'hello'
>>> y = 'tester'
>>> z = x + y
>>> print z
hellotester
 
set @x='hello';
set @y='tester';
mysql> select @x;
+-------+
| @x    |
+-------+
| hello |
mysql> select @y;
+--------+
| @y     |
+--------+
| tester |
+--------+
mysql> select concat(@x,@y);
+---------------+
| concat(@x,@y) |
+---------------+
| hellotester   |
+---------------+
 
字符串复制
>>> print '#'*20
####################
mysql> select repeat('#',20);
+----------------------+
| repeat('#',20)       |
+----------------------+
| #################### |
+----------------------+
 
>>> print ' '*20 + 'end'
                    end
mysql> select space(20);
+----------------------+
| space(20)            |
+----------------------+
|                      |
+----------------------+
 
字符串截取
>>> name = 'yangjianrong'
>>> name[0]
'y'
 
>>> name[-1]
'g'
>>> name[1]
'a'
>>> name[1:4]
'ang'
 
>>> name[:]
'yangjianrong'
>>>
>>> name[1:4:2]
'ag'
 
mysql>  select concat(insert(@name,1,4,'yangjianrong'),insert(@alias,1,5,'jeanron100')) comm;
+------------------------+
| comm                   |
+------------------------+
| yangjianrongjeanron100 |
+------------------------+
字符串长度>>> ba
'this is a test bar'
>>> len(ba)
18
mysql> select length(@ba);
    
字符串空格处理
 
>>> s = ' abc '
>>> s.lstrip()
'abc '
>>> s.rstrip()
' abc'
>>> s.strip()
'abc'
>>>
mysql> set @s=' abc ';
Query OK, 0 rows affected (0.00 sec)
mysql> select ltrim(@s);
+-----------+
| ltrim(@s) |
+-----------+
| abc       |
+-----------+
1 row in set (0.00 sec)
 
mysql> select rtrim(@s);
+-----------+
| rtrim(@s) |
+-----------+
|  abc      |
+-----------+
1 row in set (0.00 sec)
 
mysql> select trim(@s);
+----------+
| trim(@s) |
+----------+
| abc      |
+----------+
1 row in set (0.00 sec)
 
字符串匹配
 
>>> l = ['a','b','c']
>>> ''.join(l)
'abc'
>>> '*'.join(l)
'a*b*c'
 
mysql> select concat_ws(',','a','b','c','d','e') comm;
+-----------+
| comm      |
+-----------+
| a,b,c,d,e |
+-----------+
>>> s = 'a b c d e '
>>> s.split(' ')
['a', 'b', 'c', 'd', 'e', '']
mysql> set @s='a b c d e ';
Query OK, 0 rows affected (0.00 sec)
 
mysql> select replace(@s,' ',',');
+---------------------+
| replace(@s,' ',',') |
+---------------------+
| a,b,c,d,e,          |
+---------------------+
 
判断字符串开始匹配的字符
>>> s.startswith('aa')
True
 
mysql> SELECT LOCATE('aa',@s,1);  
+-------------------+
| LOCATE('aa',@s,1) |
+-------------------+
|                 1 |
+-------------------+

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读