python mysql 删除 字符串包含特定字符串的字段
时间: 2023-12-28 21:06:11 浏览: 34
可以使用 LIKE 运算符结合 % 或 _ 通配符来删除包含特定字符串的字段。
下面是一个例子:
```python
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
# 创建游标
mycursor = mydb.cursor()
# 删除包含特定字符串的字段
sql = "DELETE FROM customers WHERE address LIKE '%Lane%'"
mycursor.execute(sql)
# 提交更改
mydb.commit()
print(mycursor.rowcount, "记录被删除")
```
这个例子中,我们使用了 LIKE 运算符和 % 通配符来匹配包含 "Lane" 子字符串的 address 字段。然后我们执行 DELETE 语句将符合条件的记录删除。最后我们提交更改并打印出受影响的记录数。
相关问题
python解析json字符串数据写入到mysql数据库
可以使用Python内置的`json`库来解析JSON字符串,使用第三方库`pymysql`连接MySQL数据库并进行数据写入。
以下是一个示例代码:
```python
import json
import pymysql
# 解析JSON字符串
json_str = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_str)
# 连接MySQL数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='password',
db='test',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor
)
# 写入数据
try:
with conn.cursor() as cursor:
sql = "INSERT INTO `users` (`name`, `age`, `city`) VALUES (%s, %s, %s)"
cursor.execute(sql, (data['name'], data['age'], data['city']))
conn.commit()
finally:
conn.close()
```
需要注意的是,这里的`users`表需要已经存在于数据库中,并且包含`name`、`age`和`city`三个字段。如果表不存在,可以先使用SQL语句创建表:
```sql
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`city` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
如何编写Python代码,实现查找到数据库表的字段中指定字符串
可以使用Python中的SQLAlchemy库来实现查找数据库表的字段中指定字符串的功能。以下是一个示例代码:
```python
from sqlalchemy import create_engine, MetaData, Table, select
# 创建数据库连接
engine = create_engine('mysql://user:password@host:port/database')
# 创建元数据对象
metadata = MetaData()
# 绑定数据库连接和元数据对象
metadata.bind = engine
# 获取表对象
my_table = Table('my_table', metadata, autoload=True)
# 构造查询语句
query = select([my_table]).where(my_table.c.my_column.like('%指定字符串%'))
# 执行查询并获取结果
result = engine.execute(query).fetchall()
# 输出结果
for row in result:
print(row)
```
其中,`my_table`为数据库表的名称,`my_column`为需要查找的字段名,`'%指定字符串%'`为需要查找的字符串,可以根据实际情况进行修改。执行查询后,可以通过遍历`result`来获取查询结果。