首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python字符串 ① ( Python 字符串定义形式 | 单引号定义法 | 双引号定义法 | 三引号定义法 | 字符串中包含单引号或双引号处理方式 )

文章目录 一、Python 字符串定义形式 二、字符串中包含 单引号 / 双引号 一、Python 字符串定义形式 ---- Python 字符串定义形式 : 单引号定义法 : name = 'Tom...' 双引号定义法 : name = "Tom" 三引号定义法 : 该定义方式与多行注释相同 , 使用 三引号 定义字符串 : 如果使用变量接收 , 那么定义就是字符串 ; 如果没有变量接收 ,...单引号 / 双引号 ---- 如果定义一个字符串 , 其中 包含 单引号 / 双引号 ; 单引号定义字符串 可以包含 双引号 ; 双引号定义字符串 可以包含 单引号 ; 使用 转义字符 \ 解除...单引号 或 双引号 作用 , 使其变为普通字符 ; 代码示例 : 第一个示例中 , 在单引号中包含了双引号 ; 第二个示例中 , 在双引号中包含了单引号 ; 第三个示例中 , 在双引号中使用 转义字符...双引号定义字符串 可以包含 单引号 name = "'Tom' is 18 years old" print(name) # 使用 转义字符 \ 解除 单引号 或 双引号 作用 name = "\

2.9K40

MySQL见闻录 - 入门之旅(四)

3、特殊字符处理 SQL标准对于字符两端规定为单引号MySQL可以识别出字符串中转义序列,这就很尴尬: ? 那怎么办? 首先,这表里转义序列是区分大小写。...也可以使用转义字符来转义字符串中引号和双引号。 当然,处理字符串中引号还有别的办法: 1、如果引号字符串两端引号相同,双写该引号,如: ‘I can ’ ’ t.’...“He said,” “I can 't.” " " 2、用不同引号把该字符串包起来,如: ’ “I can’t .” ’ " He said,'I can ‘t.’ " 4、MySQL如何处理非法数据...如果你赋值给某个SET数据列值包含非合法子字符串,MySQL将删除那些子字符串而只把剩下来东西赋值给该数据列。 对于日期和时间数据列,非法值将被转换为该类型“零值”。...在MySQL句中,也有这样分隔符: 复合语句由begin开头,由end结尾。

98610
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL或者MariaDB里面sql_mode设置详解

ANSI_QUOTES 启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符。...>createtable `partition` (i int(3));  对于表名或者其它与保留关键字地方或者内置函数同名称的话,,必须加反引号,不然MySQL报错。...但二者还有些区别: 严格模式控制MySQL如何处理非法或丢失输入值。有几种原因可以使一个值为非法。例如,数据类型错误,不适合列,或超出范围。...对于事务表,当启用STRICT_ALL_TABLES或STRICT_TRANS_TABLES模式时,如果语句中非法或丢失值,则会出现错误。语句被放弃并滚动。...对于STRICT_TRANS_TABLES,MySQL非法值转换为最接近该列合法值并插入调整后值。如果值丢失,MySQL在列中插入隐式默认值。

2.2K20

4.表记录更新操作

特殊字符序列 转义后字符 \" 双引号“ \' 单引号‘ \\ 反斜线\ \n 换⾏符 \r 回⻋符 \t 制表符 \0 ASCII 0(NUL) \b 退格符 replace语句功能与...“\0”字符可以与数值进⾏算术运算,此时将“\0”当作整数 0处理;“\0”字符还可 以与字符串进⾏连接,此时“\0”当作空字符处理。⽽NULL与其他数据进⾏运算时,结果永远为 NULL。...:当使⽤ union时,MySQL会筛选掉select结果集中重复记录(结果集合并 后会对新产⽣结果集进⾏排序运算,效率稍低)。...⼦查询 如果⼀个select语句能够返回单个值或者⼀列值,且该select语句嵌套在另⼀个SQL语句(例如select 句、insert语句、update语句或者delete语句)中,那么该select...⼦查询⼀般⽤在主查询where⼦句或having⼦句中,与⽐较运算符或者逻辑运 算符⼀起构成where筛选条件或having筛选条件。

1.2K30

Oracle 与 MySQL 差异分析(4):SQL写法

3 引号 MySQL字符串既可以用单引号也可以用双引号,而 Oracle 中只能用单引号。...insert intot_test1(abc) values(“2015”); 4 NULL和空字符串 4.1 Oracle 对于字符类型字段,null 和“空字符串”是等价,都要用is null 或...4.2 MySQL null 和“空字符串”是不等价,null 表示什么都没有,而“空字符串”则表示值是存在,只不过是个空值。...6.2 MySQL 可以这样 insert 多条数据: insert intot_test4 values(“11”),(“12”),(“13”); 7 组函数 MySQL 中组函数在 select 语句中可以随意使用...,但在 Oracle 中如果查询语句中有组函数,那其他列名必须是组函数处理,或者是group by子句中列,否则报错。

1K21

SQL注入学习「建议收藏」

SQL注入攻击指的是通过构建特殊输入作为参数传入Web应用程序,而这些输入大都是SQL语法里一些组合,通过执行SQL语句进而执行攻击者所要操作,其主要原因是程序没有细致地过滤用户输入数据,致使非法数据侵入系统...ssh连接 用户名: root 密码:123456 打开mysql 命令行客户端,连接数据库(或者使用靶机连接数据库)(我用BUUCTF) 语句:mysql -u root -p 用户名:...and password =‘123456’ 用户名:lezhun 密码:123456 提交 由于用户名和密码都是字符串,SQL注入方法即把参数携带数据变成mysql中注释字符串。...mysql中有2种注释方法: (1) ‘#’ , ‘#’ 后所有的字符串都会被当成注释处理 常用于SQL注入万能语句 用户名输入:lezhun’#(单引号闭合lezhun左边引号),密码随意输入...判断是否存在SQL注入方法:在url或者表单中输入一个单引号或者其他特殊符号,页面出现错误说明此页面存在SQL注入,如果页面正常显示说明有字符被过滤或者不存在注入。

61340

MySQL sql_mode应该如何指定

sql_mode是个很容易被忽视变量,在5.6之前默认为空值,在这种设置下是可以允许一些非法操作,比如允许一些非法数据插入。在生产环境一般将这个值设置为严格模式。...BY中出现,那么这个SQL是不合法 直接报错 允许 ANSI_QUOTES 启用ANSI_QUOTES 后,不能用双引号来引用字符串,因为它被解释为识别符,作用与 ` 一样 直接报错 允许 PIPES_AS_CONCAT...将||视为字符连接操作符而非 或 运算符- - NO_TABLE_OPTIONS 使用SHOW CREATE TABLE时不会输出MySQL特有的语法部分,如 ENGINE。...测试insert值超过指定字符类型长度 (root@localhost) [test]>insert into test_4(id,name,addr,sex) values(1,'aa','aa','...,没有在GROUP BY中出现,那么将认为这个SQL是不合法,因为列不在GROUP BY从句中

2K30

MySQL案例:sql_mode详解

前言 相信看过上一篇文章《MySQL案例:一个数据丢失惨》童鞋,都应该意识到,sql_mode是一个非常关键配置,接下来就带来该配置项详细解析。...(5)ANSI_QUOTES:该选项决定引用字符;它允许双引号"作为引用字符,和反引号`一样。...(11)NO_BACKSLASH_ESCAPES:该选项决定反斜杠\作用;启用后,反斜杠\不再作为转义字符,而是用作普通字符。...(17)NO_UNSIGNED_SUBTRACTION:一般情况下,整数之间减法(其中一个为符号),结果为符号,如果结果为负数则报错;启用该选项后,负数则可以正常处理。...sql_mode设置,可以让MySQL非常灵活地运行在各种不同模式下,但与此同时也带来各种各样风险;在MySQL广泛应用于各类重要系统情况下,建议是要对sql_mode进行严格审核设置,同时对开发代码进行规范化管理

1.2K60

MySQL反斜杠()也太坑了吧!!真是醉了

喏 → MySQL江湖路 | 专栏目录   在MySQL中有很多特殊符号都是相当恶心,比如字符串中有单引号(')、双引号(")、反斜杠(\)等等,同学们可以先脑补一下可能会出现啥问题?   ...总结 一、INSERT句中有反斜杠(\) 1、实际测试 咱们用下面这些SQL来测试一下反斜杠(\)在INSERT句中会是啥样?...后来发现,原因其实很简单,在MySQL中,反斜杠在字符串中是属于转义字符,经过语法解析器解析时会进行一次转义,所以当我们insert反斜杠(\)字符时,如 insert “\” 在数据库中最终只会存储"...",第一个反斜杠(\)被当做转义字符处理。   ...原来在mysqllike语法中,like后边字符串除了会在语法解析时转义一次外,还会在正则匹配时进行第二次转义。

3.7K10

SQL注入及如何解决

SQL注入即是指web应用程序对用户输入数据合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好查询语句结尾上添加额外SQL语句,在管理员不知情情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权任意查询...1、SQL注入案例 模拟一个用户登录SQL注入案例,用户在控制台上输入用户名和密码, 然后使用 Statement 字符串拼接方式实现用户登录。...1.6 SQL语法报错 使用拼接方式,还会出现SQL语法错误等报错,例如 ? 2. 解决方案 使用Statement方式,用户可以通过字符串拼接,改变原本SQL真正含义,导致存在SQL注入风险。...2.5 模拟SQL语法错误 使用预处理类后,输入带有单引号或双引号内容也不会再出现SQL语法错误报错 ? 3....是预编译SQL语句对象,语句中可以包含动态参数“?”

1.8K10

JDBC:PreparedStatement预编译执行SQL语句

,代表任意长度字符串),比如:insert into table1 values(null, ?, ?); !!...预编译SQL安全性能:     1) 首先最明显一点就是Statement不支持占位符,因此SQL语句中包含可变内容时必须要进行字符串拼接,而字符串拼接不仅加大了编程难度,降低了代码可读性,而且非常容易发生因拼接错误而导致地极难发现...这最主要是由于不带占位符拼接必须要用单引号'来包裹SQL字符串,而占位符填写无需单引号,JDBC会自动将Java变量转换成纯字符串然后再自动加上SQL单引号填入占位符中,即使填入变量是String...str = "'Lala'",那么JDBC也会将其中引号' '转化成纯字符引号处理,而不会被当做SQL特殊字符引号'来处理,因为在SQL中单引号'是字符串常量符号!...占位符使用问题注意:     1) 占位符只能占位SQL语句中普通值,决不能占位表名、列名、SQL关键字(select、insert等);     2) 原因很简单,以为PreparedStatement

2.1K20

MySQL反斜杠 ,真是太坑了!!

MySQL中有很多特殊符号都是相当恶心,比如字符串中有单引号(')、双引号(")、反斜杠(\)等等,同学们可以先脑补一下可能会出现啥问题?...一、INSERT句中有反斜杠(\) 1、实际测试 咱们用下面这些SQL来测试一下反斜杠(\)在INSERT句中会是啥样?...后来发现,原因其实很简单,在MySQL中,反斜杠在字符串中是属于转义字符,经过语法解析器解析时会进行一次转义,所以当我们insert反斜杠(\)字符时,如 insert “\” 在数据库中最终只会存储"...",第一个反斜杠(\)被当做转义字符处理。...所以我们在代码中处理插入语句碰到反斜杠时,注意\是否已经改成\,否则入库后字符串会不一致。

3K40

MySQL反斜杠 ,真是太坑了!!

来源:https://blog.csdn.net/qq_39390545/article/details/117296607 在MySQL中有很多特殊符号都是相当恶心,比如字符串中有单引号(')、双引号...一、INSERT句中有反斜杠(\) 1、实际测试 咱们用下面这些SQL来测试一下反斜杠(\)在INSERT句中会是啥样?...后来发现,原因其实很简单,在MySQL中,反斜杠在字符串中是属于转义字符,经过语法解析器解析时会进行一次转义,所以当我们insert反斜杠(\)字符时,如 insert “\” 在数据库中最终只会存储"...",第一个反斜杠(\)被当做转义字符处理。...所以我们在代码中处理插入语句碰到反斜杠时,注意\是否已经改成\,否则入库后字符串会不一致。

1.3K41

MySQL反斜杠 ,真是太坑了!!

导读:在MySQL中有很多特殊符号都是相当恶心,比如字符串中有单引号(')、双引号(")、反斜杠(\)等等,同学们可以先脑补一下可能会出现啥问题?...一、INSERT句中有反斜杠(\) 1、实际测试 咱们用下面这些SQL来测试一下反斜杠(\)在INSERT句中会是啥样?...后来发现,原因其实很简单,在MySQL中,反斜杠在字符串中是属于转义字符,经过语法解析器解析时会进行一次转义,所以当我们insert反斜杠(\)字符时,如 insert “\” 在数据库中最终只会存储"...",第一个反斜杠(\)被当做转义字符处理。...所以我们在代码中处理插入语句碰到反斜杠时,注意\是否已经改成\,否则入库后字符串会不一致。

2.7K20

Python操作MySQL数据库

MYSQL中,运行INSERT INTO 插入语句中字段是否一定要把该表字段全部填上? 例如表tab_name有(col1,col2,col3,col4)4个字段。...,那就要把所有字段值都填上了, 语法:insert into tab_name values(val1,val2,val3,val4); MySQL数据库,插入重复数据 sql = "INSERT...“INSERT INTO” 插入数据,如果数据有重复就会有报错: 提示是键值重复 Traceback (most recent call last): File "D:/python/tongbu_py...创建 MySql 表时,表名和字段名外面的符号 ` 不是单引号,而是英文输入法状态下反单引号,也就是键盘左上角 esc 按键下面的那一个 ~ 按键,坑惨了。...反引号是为了区分 MySql 关键字与普通字符而引入符号,一般,表名与字段名都使用反引号

1.6K20

MySQL反斜杠 ,真是太坑了!!

MySQL中有很多特殊符号都是相当恶心,比如字符串中有单引号(')、双引号(")、反斜杠(\)等等,同学们可以先脑补一下可能会出现啥问题?...一、INSERT句中有反斜杠(\) 1、实际测试 咱们用下面这些SQL来测试一下反斜杠(\)在INSERT句中会是啥样?...后来发现,原因其实很简单,在MySQL中,反斜杠在字符串中是属于转义字符,经过语法解析器解析时会进行一次转义,所以当我们insert反斜杠(\)字符时,如 insert “\” 在数据库中最终只会存储"...",第一个反斜杠(\)被当做转义字符处理。...所以我们在代码中处理插入语句碰到反斜杠时,注意\是否已经改成\,否则入库后字符串会不一致。

3.1K20

MySQL sql_mode

文章目录[隐藏] 说明 常用值说明 生产环境sql_mode推荐设置 说明 sql_mode是个很容易被忽视变量,默认值是空值,在这种设置下是可以允许一些非法操作,比如允许一些非法数据插入。...常用值说明 值 说明 ONLY_FULL_GROUP_BY 对于GROUP BY聚合操作,如果在SELECT中列,没有在GROUP BY中出现,那么这个SQL是不合法,因为列不在GROUP BY从句中...设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告 ERROR_FOR_DIVISION_BY_ZERO 在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告...不设置此值时,用默认存储引擎替代,并抛出一个异常 PIPES_AS_CONCAT 将”||”视为字符连接操作符而非或运算符,这和Oracle数据库是一样,也和字符拼接函数Concat相类似...ANSI_QUOTES 启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符 Oracle数据库sql_mode设置等同:PIPES_AS_CONCAT, ANSI_QUOTES

60120

MySQL 报错:5.7版本sql_mode=only_full_group_by问题

,可能会报错,删除my.ini中新添文件,重新启动即可, MySQLsql_mode合理设置 sql_mode是个很容易被忽视变量,默认值是空值,在这种设置下是可以允许一些非法操作,比如允许一些非法数据插入...BY聚合操作,如果在SELECT中列,没有在GROUP BY中出现,那么这个SQL是不合法,因为列不在GROUP BY从句中 NO_AUTO_VALUE_ON_ZERO: 该值影响自增长列插入。...ERROR_FOR_DIVISION_BY_ZERO: 在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。...不设置此值时,用默认存储引擎替代,并抛出一个异常 PIPES_AS_CONCAT: 将”||”视为字符连接操作符而非或运算符,这和Oracle数据库是一样,也和字符拼接函数Concat相类似...ANSI_QUOTES: 启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符 oraclesql_mode设置等同:PIPES_AS_CONCAT, ANSI_QUOTES

1.3K90
领券