首页 > 编程语言 >python操作数据编程

python操作数据编程

时间:2022-12-10 21:31:52浏览次数:53  
标签:python 数据库 编程 db user cr print 操作 data

支持数据库类型:

Mysql,Oracle,SQL Server

Redis,memcached

连接Mysql数据库

pip install pymysql

流程:

1、创建数据库连接

2、基于数据库连接创建游标 cursor

    1)向数据库服务器发送SQl语句,执行SQl

    2)通过游标获取数据结果

3、执行数据管理操作

4、关闭游标

5、关闭数据库连接


查询数据和添加数据:

# coding:utf-8
import pymysql
import sys

# 查询数据
def selectData():
# 创建数据库连接
db_conn = pymysql.connect(host="127.0.0.1", user="root", password="root", database="testdb")
# 创建游标
cr = db_conn.cursor()

select_sql = "select * from account"
# 执行SQL语句,返回结果行数
result = cr.execute(select_sql)
print(result)

#通过fetchall()方法获取数据
data = cr.fetchall()
print(data)
# for user_id,user,pwd,leve in data:
# print("用户名:%s,密码:%s,级别:%s"%(user,pwd,leve))

#通过fetchmany(n)获取数据 fetchmany(2)
# data = cr.fetchmany(2)
# print(data)

#通过fetchone()获取数据
# data = cr.fetchone()
# print(data)
# print(data[1])

cr.close()
db_conn.close()


# 添加数据
def insertData(username, password, level):
try:
db_conn = pymysql.connect(host="127.0.0.1",user="root",password="root",database="testdb")
except Exception as e:
print("数据库连接建立失败")
print(e)
sys.exit()
cr = db_conn.cursor()
insert_sql = "insert into account(user,pwd,leve) values('%s','%s','%s')" %(username, password, level)
result = cr.execute(insert_sql)
# 通过数据库连接向服务器提交操作。
db_conn.commit()
cr.close()
db_conn.close()

if __name__ == '__main__':
# selectData()
username = input("用户名>>")
password = input("密码>>")
level = input("用户级别>>")
insertData(username, password, level)

python操作数据编程_数据库连接

python操作数据编程_数据库连接_02


数据库准备:


启动mysql
net start mysql

进入数据库
mysql -u root -p
空密码

修改密码
alter user user() identified by "root";

新建立数据库
create database python_lianjia;

查询数据库
show databases;

选择数据库
use python_lianjia;

查询数据库下面的所有表
show tables

删除数据库
drop databases python_lianjia;

退出数据库
quit

关闭数据库服务
net stop mysql



mysql> create table account(
-> id int(4) primary key auto_increment,
-> user varchar(255),
-> pwd varchar(255),
-> leve int);
Query OK, 0 rows affected, 1 warning (0.32 sec)


mysql> insert into account(user,pwd,leve) value("martin","123",10),("robin","456",20),("lz","789",30);
Query OK, 3 rows affected (0.10 sec)
Records: 3 Duplicates: 0 Warnings: 0







标签:python,数据库,编程,db,user,cr,print,操作,data
From: https://blog.51cto.com/u_14012524/5927861

相关文章