支持数据库类型: Mysql,Oracle,SQL Server Redis,memcached 连接Mysql数据库 pip install pymysql 流程: 1、创建数据库连接 2、基于数据库连接创建游标 cursor 1)向数据库服务器发送SQl语句,执行SQl
支持数据库类型:
Mysql,Oracle,SQL Server
Redis,memcached
连接Mysql数据库
pip install pymysql
流程:
1、创建数据库连接
2、基于数据库连接创建游标 cursor
1)向数据库服务器发送SQl语句,执行SQl
2)通过游标获取数据结果
3、执行数据管理操作
4、关闭游标
5、关闭数据库连接
查询数据和添加数据:
# coding:utf-8import pymysqlimport 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)数据库准备:
启动mysqlnet 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 mysqlmysql> 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