获取连接对象
实现方式:connect() //返回连接对象,这个对象表示目前和数据库的会话 connect参数说明: dsn——数据源名称 user——用户名 password——密码 host——主机名 database——数据库名称 //参数的使用依据具体情况而定
连接对象的方法
close() //关闭数据库连接 commit() //提交事务 rollback() //回滚事务 cursor() //获取游标对象,操作数据库
游标对象代表数据库中的游标,用于指示抓取数据操作的上下文,主要提供执行sql语句,调用存储过程、获取查询结果等方法
获取方法: cursor() 游标对象的属性: description——数据库列 类型和值的描述信息,注释 rowcount——回返结果的行数统计信息 游标对象的方法说明: callproc() //调用存储过程,需要数据库支持 close() //关闭当前游标 execute() //执行sql语句或书库命令 executemany() //批量操作 fetchone() //获取查询结果集中的下一条记录 fetchmany() //获取指定数量的记录 fetchall() //获取结果集的所有记录 nextest() //跳至下一个可用的结果集 arraysize() //指定使用fetchmany()获取的行数 setinputsiuzes() //设置在调用execute()方法时分配的内存区域的大小 setoutputsize() //设置列缓冲区大小
sqLite——嵌入式数据库,它的数据库就是一个文件
sqlite将整个数据库,包括定义、表、索引以及数据本身,作为一个单独的、可跨平台使用的文件存储在主机中。
python内置了sqlite3
import sqlite3 conn=sqlite3.connect('jrj1.db') #文件不存在,会自动在当前目录创建 cursor=conn.cursor() #创建一个游标 #调用游标的方法 cursor.execute('create table user(id int(10) primary key,name varchar(20))') #创建一个数据表 #增 cursor.execute('insert into user (id,name) values('1','python')') #删 cursor.execute('delete from user where id=1') #改 cursor.execute('update user set name=? where id = ?',('python',1)) #使用?作为占位符代替具体数值,使用一个元组来替换? #查 cursor.execute('select * from user') #不需要提交,使用?作为占位符代替具体数值,使用一个元组来替换? result=cursor.fetchone() #返回的result为一个元组 print(result) #(1,'python') cursor.close() #关闭游标 conn.commit() #提交事务,增删改必须提交事务 conn.close() #关闭数据库连接
import pymysql db=pymysql.connect( host='10.69.51.20', port=9906, user='galaxy', password='rRa#', database='cvc_galaxy', charset='utf8' ) #参数:主机名或ip,用户名,密码,数据库名称 cursor=db.cursor() #查询 sql='select * from approve where id=315' #执行多条语句 sql=""" create table user( id int(10) primary key, name varchar(20) ); """ #使用insert语句插入时,使用%s作为占位符,可以防止sql注入 cursor.execute(sql) result=cursor.fetchall() print(result) db.close()