漫漫程序媛进化鹿

总结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注入的问题!!!

上一篇下一篇

猜你喜欢

热点阅读