总结python数据库操作相关步骤
2019-01-27 本文已影响12人
keeeeeenon
Import sqlite3/pymysql
创建数据库/打开数据库
Con=sqlite3.connect('数据库文件.db')
建立游标
Cur=con.cursor()
数据库操作相关sql语句
Sql='''create table if not exists 表名(数据项名 数据类型integer/text 限制类型primary key/unique)
执行sql语句
Cur.excute(sql)
python 操作MYSQL数据库主要有两种方式:
使用原生模块:pymysql
ORM框架:SQLAchemy
一、pymysql
1.1下载安装模块
1 第一种:cmd下:执行命令下载安装:pip3 install pymysql
2 第二种:IDE下pycharm python环境路径下添加模块
1.2使用操作
1 #导入模块
2 import pymysql
3
4 #建立连接通道,建立连接填入(连接数据库的IP地址,端口号,用户名,密码,要操作的数据库,字符编码)
5 conn = pymysql.connect(
6 host="",
7 port="",
8 user='',
9 password='',
10 database=""
11 charset="",
12 )
13
14 # 创建游标,操作设置为字典类型,返回结果为字典格式!不写默认是元组格式!
15 cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
16
17 #操作数据库的sql语句
18 sql=""
19
20 # 向数据库发送数据,在方法内部进行拼接!!!
21
22 #向数据库发送操作单条操作指令
23 # 格式化输入的值可以单个按顺序传入 或是写成列表 (注意 顺序和位置)
24 r = cursor.execute(sql,v1,v2……)
25
26 r = cursor.execute(sql,args)
27 #r 代表接收返回受影响的行数(数字)及执行这一条sql语句,数据库中有多少行受到了影响。
28 #sql 指上边写的sql语句
29 #args 指要给sql语句中传的参数
30 sql 语句可以不传值 及为空 []
31 sql 语句可以传一个值 及 [v1,]
32 sql 语句可以传多值 及 [v1,v2,v3……]
33
34 #向数据库发送操作多条数据指令 args=[(v1,s1),(v2,s2),(v3,s3)]
35 r = cursor.executemany(sql,[('egon','sb'),('laoyao','BS')])
36
37 #数据库有四种操作:增删改查!
38 # 执行查操作的时候就得接收从数据库返回的数据!
39 #执行增删改操作的时候,就需要像数据库提交数据!
40
41 #查操作:(接收的数据格式由创建的游标样式决定!)
42 #接收数据有三种方式:
43
44 res = cursor.fetchone() #接收返回的第一行数据
45
46 ret = cursor.fetchmany(n) #接收返回的n行数据
47
48 req = cursor.fetchall() #接收返回的说有数据
49
50 #注:在fetch数据时按照顺序进行,可以使用cursor.scroll(num,mode)来移动游标位置,如:
51
52 cursor.scroll(1,mode='relative') # 相对当前位置移动
53 cursor.scroll(2,mode='absolute') # 相对绝对位置移动
54
55 #增删改操作:
56 #写完发送操作语句之后,就需要把更改的数据提交,不然数据库无法完成新建或是修改操作
57
58 conn.commit() #提交
59
60 #注:此处有个获取新建数据自增ID的操作(只能拿到最后那一行的id数)
61 #执行增加语句,并提交之后,可以获取到
62 new_id=cursor.lastrowid
63 print(new_id)
64
65 #操作完成之后,就需要关闭连接
66 cursor.close() #关闭游标
67 conn.close() #关闭连接
操作总结:
1、重中之重,一定要注意sql注入的问题!!!