![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
YelloooBlue
此人很写,什么都没有懒
展开
-
数据库学习_mysql server_pymysql_FIND_IN_SET使用以及参数化的一些问题
介绍FIND_IN_SET(str,strlist)str 要查询的字符串strlist 字段名字符串间以,分隔 如 (1,2,6,8)查询字段(strlist)中包含(str)的结果,返回结果为null或记录使用过程在使用这个函数的时候遇到了很多问题,这里记录一下在MySQL中储存、字符串数组、整数数组使用text数据类型整数数组:123,456,789字符串数组:"123","456","789"若使用参数化%s直接插入Python中的list对象的话CLASS_LI原创 2021-02-19 20:29:01 · 334 阅读 · 0 评论 -
数据库学习_mysql server_pymysql_报错TypeError: Object of type ‘datetime‘ is not JSON serializable
问题出现在使用json.dumps()字典时出现错误,发现是字典中包含SQL日期类型数据问题解决重写dumps的规则import datetimeimport json class DateEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj,datetime.datetime): return obj.strftime("%Y-%m-%d %H:%M:%S")原创 2021-02-16 20:15:50 · 230 阅读 · 0 评论 -
数据库学习_mysql server_pymysql_SQL插入数组时的中括号问题
问题描述在MySQL中通过字符串(text)数据类型储存一个列表(数组时),两边带有[]中括号导致FIND_IN_SET()语句无法生效解决经历先是简单粗暴的将list转换为str,然后通过切片去除两边的中括号但单个数据时,不存在中括号,切片会导致数据不完整。使用for循环逐个添加的话,结尾可能会多一个逗号,处理起来比较复杂最终解决后来在网上搜索资料了解到一个python函数join()函数语法: ‘sep’.join(seq)参数说明sep:分隔符。可以为空seq:要连接的元原创 2021-02-16 14:16:51 · 725 阅读 · 0 评论 -
数据库学习_mysql server_pymysql_报错Operand should contain 1 column(s)
问题描述在使用pymysql参数化语句插入数据时出现报错pymysql.err.OperationalError: (1241, ‘Operand should contain 1 column(s)’)问题解决经过筛查,发现是插入数据中存在一个list列表型的数据,在该数据外加str()即可...原创 2021-02-16 14:08:15 · 3039 阅读 · 4 评论 -
数据库学习_mysql server_pymysql_语句参数化,防止SQL注入
示例修改前cursor.execute("SELECT user_name,user_group FROM userlist WHERE ID = %d" % int(user))修改后cursor.execute("SELECT user_name,user_group FROM userlist WHERE ID = %s" , user)修改前cursor.execute("SELECT * FROM noticelist WHERE CODE = %d"% infocode)修原创 2021-02-15 14:41:44 · 315 阅读 · 0 评论 -
数据库学习_mysql server_pymysql_游标返回提交成功,但却没有实际操作数据库的坑
问题今天在使用Python的pymysql库时,使用cursor.execute()方法时,返回值为1(影响行数)但数据库的值并没有改变,多次修改语句都没有解决这个问题,在这里卡了许久。后来上网查阅资料发现pymysql的数据库属性autocommit默认值为false,需在pymysql.connect()中添加一条autocommit=True即可。添加后顺利解决问题,但这样做带来的影响尚不明确。SQL的事务机制与自动提交还需深入学习...原创 2021-02-12 22:02:01 · 507 阅读 · 0 评论 -
数据库学习_ubuntu_mysql server_数据库管理_常用操作、踩坑
重装1.首先删除mysql:sudo apt-get remove mysql-*2.然后清理残留的数据dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P它会跳出一个对话框,你选择yes就好了3.然后重新安装mysqlsudo apt-get install mysql-client mysql-server安装的时候会提示要设置root密码,如果你没有在卸载的时候去清理残留数据是不会提示你去设置root密码的4.检查m原创 2021-02-05 20:15:06 · 110 阅读 · 0 评论