1、删除MySQL数据表中的记录
DELETE FROM table_name
WHERE condition;
python操作mysql1数据库
import pymysql
# 连接mysql数据库
conn = pymysql.connect(host='localhost',user='root',password='your_password',database='test',port=3306)
# 得到一个游标
cursor = conn.cursor()
#创建一个表
sql = '''
CREATE TABLE `sc`(
`sno` CHAR(8) not null,
`sname` CHAR(8) not null,
`sage` int ,
PRIMARY KEY (sno)
)ENGINE=InnoDB DEFAULT CHARSET=utf8; '''
sql2 = '''
insert into sc(sno,sname,sage) values('1','张三',20);
'''
# 无论values里面的值是整形还是字符串,都要用%s
sql3 = '''
insert into sc(sno,sname,sage) values(%s,%s,%s);
'''
# 插入的变量
id = '2'
name = '李四'
age = 12 cursor.execute(sql)
cursor.execute(sql2)
# execute的第二个参数就是一个元组,里面放置的就是参数
cursor.execute(sql3,(id,name,age))
#记得要提交
conn.commit()
# 关闭与数据库的连接
conn.close()
下面是数据查找
import pymysql
# 连接mysql数据库
conn = pymysql.connect(host='localhost',user='root',password='qu513712qu',database='test',port=3306)
# 得到一个游标
cursor = conn.cursor()
sql = '''
select * from sc;
'''
# 只需要执行,不需要commit提交
cursor.execute(sql)
while 1:
# fetchone一次只能取出一条数据,相当于指针,取出一条数据后,指针指向后面那条数据
result = cursor.fetchone()
if result:
print(result)
else:
break conn.close()
'''
输出:
('1', '张三', 20)
('2', '李四', 12) 代码这样写结果也是和上面输出的一样
results = cursor.fetchall()
for result in results:
print(results) 这样写的话就会拿出来搜索到的前两条数据
results = cursor.fetchmany(2)
'''