当Python字符串遇上MySQL
时间:2022-05-05
本文章向大家介绍当Python字符串遇上MySQL,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
学习的时候我喜欢对比,MySQL和Oracle比,Python和MySQL比,总能有一些收获,也有了新的理解。
今天整理这部分内容的时候,我发现Python和MySQL还是有很多相似之处。学习一门语言,一个数据库,字符串的处理都是一个相对重要的部分,所以我决定对比一下两者的差别。
下面的演示会一边Python,一边MySQL,所以按照这个思路来看就不会感觉突兀了。
转义字符
>>> print '\'
mysql> select '\';
+---+
| |
+---+
| |
+---+
>>> 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> set @name:='yangjianrong';
mysql> select left(@name,1);
+---------------+
| left(@name,1) |
+---------------+
| y |
+---------------+
mysql> select right(@name,1);
+----------------+
| right(@name,1) |
+----------------+
| g |
+----------------+
mysql> select substring(@name,2,3);
+----------------------+
| substring(@name,2,3) |
+----------------------+
| ang |
+----------------------+
mysql> select substring(@name,1);
+--------------------+
| substring(@name,1) |
+--------------------+
| yangjianrong |
+--------------------+
或者使用mid
mysql> select mid(@name,2,3);
+----------------+
| mid(@name,2,3) |
+----------------+
| ang |
+----------------+
mysql> select mid(@name,1);
+--------------+
| mid(@name,1) |
+--------------+
| yangjianrong |
+--------------+
>>> name
'yangjianrong'
>>> print '%s' %name
yangjianrong
字符串格式化,匹配
>>> '{name},{alias}'.format(name='yangjianrong',alias='jeanron100')
'yangjianrong,jeanron100'
>>>
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 = 'aabbcc'
>>> s.replace('aa','tt')
'ttbbcc'
mysql> set @s='aabbcc';
Query OK, 0 rows affected (0.00 sec)
mysql> select replace(@s,'aa','tt');
+-----------------------+
| replace(@s,'aa','tt') |
+-----------------------+
| ttbbcc |
+-----------------------+
字符串编码
>>> s.encode('utf8')
'aabbcc'
mysql> select convert(@s using utf8);
+------------------------+
| convert(@s using utf8) |
+------------------------+
| aabbcc |
+------------------------+
判断字符串开始匹配的字符
>>> s.startswith('aa')
True
mysql> SELECT LOCATE('aa',@s,1);
+-------------------+
| LOCATE('aa',@s,1) |
+-------------------+
| 1 |
+-------------------+
- Python中map函数
- 10g,11g中数据库静默安装中的细小差别(r6笔记第85天)
- SDP(8):文本式数据库-MongoDB-Scala基本操作
- SDP(7):Cassandra- Cassandra-Engine:Streaming
- TensorFlow实现神经网络入门篇
- 27.反射,类加载器,设计模式,jdk新特性
- SDP(6):分布式数据库运算环境- Cassandra-Engine
- 配置dg broker的问题分析及修复(r6笔记第84天)
- SDP(5):ScalikeJDBC- JDBC-Engine:Streaming
- SDP(4):ScalikeJDBC- JDBC-Engine:Updating
- SDP(3):ScalikeJDBC- JDBC-Engine:Fetching
- SDP(2):ScalikeJDBC-Connection Pool Configuration
- 使用外部表关联MySQL数据到Oracle(r6笔记第100天)
- 使用selenium模块模拟浏览器爬去网页,并进行点击定位内容笔记
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法