1.建立连接
2.创建游标:游标数据库操作的接口
3.数据库操作(建表、插入数据、查询数据、更新数据、删除数据..)
4.提交事务以及关闭资源
[root@localhost ~]# yum -y install gcc
[root@localhost ~]# yum -y install mariadb-server
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl enable mariadb
[root@localhost ~]# ss -ntulp | grep mysql
[root@localhost ~]# mysql
MariaDB [(none)]> CREATE DATABASE tedu1 CHARSET utf8;
# 建立连接
conn = pymysql.connect(
host="127.0.0.1", # mysql服务所在的主机地址
port=3306, # mysql服务占用的端口号,必须是整数类型
user="root", # mysql服务登录用户名
# password="", # mysql服务登录密码
db="tedu1", # 连接的数据库
charset="utf8" # 指定字符集
)
# 创建游标
cur = conn.cursor() # 创建游标【对数据库进行增删改查】
create_bm = """create table bm2(
bm_id int,bm_name varchar(30)
)"""
cur.execute(create_bm)
# %s填坑方式传参
insert_bm = "insert into bm values(%s,%s);"
# 单条插入数据
cur.execute(insert_bm, (1, "opt"))
# 多条插入数据
cur.executemany(insert_bm, [
(2, "def"), (3, "1asd"), (4, "UI")
])
select_bm = "select * from bm;"
cur.execute(select_bm)
# 抓取一个数据结果,相当于read()
print(cur.fetchone())
# 抓取多个数据结果
print(cur.fetchmany(2))
# 抓取剩余数据结果
print(cur.fetchall())
update_bm = "update bm set bm_name=%s where bm_id=%s"
# 单条数据更新
cur.execute(update_bm, ("开发部", 1))
# 批量数据更新
cur.executemany(update_bm, [
("运维部", 2), ("运维部2", 3), ("运维部4", 4)
])
delete_bm = "delete from bm where bm_id=%s"
# 单条删除
cur.execute(delete_bm, 4)
# 批量删除
cur.executemany(delete_bm, [1, 2])
conn.commit()
# 关闭游标资源
cur.close()
# 关闭数据库连接资源
conn.close()
import pymysql
# 创建连接
conn = pymysql.Connect(
host="127.0.0.1",
user="root",
port=3306,
db="company",
charset="utf8"
)
# 创建游标
cur = conn.cursor()
# 创建表
create_table = """create table yg(
FIRST_NAME VARCHAR(20),
LAST_NAME VARCHAR(20),
AGE INT,
SEX VARCHAR(1),
INCOME FLOAT
);"""
cur.execute(create_table)
# 插入数据
insert_data = "insert into yg values(%s,%s,%s,%s,%s);"
cur.executemany(insert_data, [
('Mac', 'A', 20, 'M', 20000), ('Tom', 'B', 20, 'F', 30000), ('Bob', 'C', 20, 'M', 40000)
])
# 查询数据
select_data = "select * from yg;"
cur.execute(select_data)
# 查询
print(cur.fetchall())
# 修改数据
update_data = "update yg set INCOME=10000 where FIRST_NAME=%s;"
cur.execute(update_data, "Mac")
# 删除数据
delete_data = "delete from yg where FIRST_NAME=%s;"
cur.execute(delete_data, "Tom")
# 提交事务
conn.commit()
# 关闭资源
cur.close()
conn.close()