学习python仅此一篇就够了(使用python操作数据库)

发布时间:2024年01月18日

python操作mysql

SQL语言的分类

  • 数据定义:DDL

  • 数据操作:DML

  • 数据控制:DCL

  • 数据查询:DQL

  • SQL支持注释:单行注释:--;单行注释#;多行注释:/* */

#查看数据库
show databases;
#使用数据库
use 数据库名称;
#创建数据库
create database 数据库名称;
#删除数据库
drop database 数据库名称;
#查看当前使用的数据库
select database();
#DML
#插入数据
CREATE TABEL student(
	id int,
	name varchar(20),
	age int
	);
#仅插入id数据
insert into student(id) values(1), (2), (3);
#插入全部数据
insert into student(id,name,age) values(4,'周杰伦',31);
#删除name为林俊杰的数据
DELETE FROM student WHERE name = '林俊杰';
#删除age>33的数据
DELETE FROM student WHERE age > 33;
#删除全部数据
DELETE FROM student;
#修改id为10001的name为陈一帆
UPDATE student SET name = '陈一帆' WHERE id = 10001;
#修改全部数据的age为11
UPDATE student SET age = 11;
#DQL
#查询id和name两个列
SELECT id,name FROM student;
#查询全部列
SELECT id,name,age FROM student;
#查询全部列,快捷写法
SELECT * FROM student;
#过滤查询
SELECT * FROM 表 WHERE 条件判断
#分组查询
SELECT gender,avg(age) from student group by gender;
-SUM()求和
-AVG()求平均值
-MIN()求最小值
-MAX()求最大值
-COUNT()求数量
#排序和分页限制
select * from student where age > 20 group by age order by age limit 3;

创建到mysql的数据库连接

执行SQL查询

  • 游标对象.execute()执行SQL语句

  • 游标对象.fetchall()将全部的查询结构封装入元组内

from pymysql import Connection

#构建到mysql数据库的连接
conn = Connection(
    host="localhost", #主机名
    port=3306, #端口
    user="root", #账户
    password="123456" #密码
)

# print(conn.get_server_info()) #8.0.33
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#执行SQL
# cursor.execute("create table test_mysql(id int);")

#查询
cursor.execute("select * from stu")
result = cursor.fetchall()
print(result) 
#((1, '黛绮丝', '2000100101'), (2, '谢逊', '2000100102'), (3, '应天王', '2000100103'))

for i in result:
    print(i)
#关闭连接
conn.close()
数据插入

如果不想手动commit确认,可以构建链接对象的时候,设置自动commit的属性

from pymysql import Connection

#构建到mysql数据库的连接
conn = Connection(
    host="localhost", #主机名
    port=3306, #端口
    user="root", #账户
    password="123456" #密码
)

# print(conn.get_server_info()) #8.0.33
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#执行SQL
# cursor.execute("create table test_mysql(id int);")
#插入数据
cursor.execute("insert into test_mysql values(1)")


#通过commit确认
conn.commit()

#关闭连接
conn.close()
from pymysql import Connection

#构建到mysql数据库的连接
conn = Connection(
    host="localhost", #主机名
    port=3306, #端口
    user="root", #账户
    password="123456",#密码
    autocommit=True #自动确认
)

# print(conn.get_server_info()) #8.0.33
#获取游标对象
cursor = conn.cursor()
#选择数据库
conn.select_db("test")
#执行SQL
# cursor.execute("create table test_mysql(id int);")
#插入数据
cursor.execute("insert into test_mysql values(2)")


# #通过commit确认
# conn.commit()

#关闭连接
conn.close()

文章来源:https://blog.csdn.net/m0_66011019/article/details/135681231
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。