Django 用户认证 用户 邮箱登录 邮箱注册 ORM or,and,not form.py FORM ModelForm Paginator 分页 HTMl JQuery 定位元素 ajax django切片 restfulapi 跨域 Ubantu Python Mysql Scrapy 爬虫 导出 Python读写 Pycharm 破解 session re sqlit3 生成式 其他 Prism 富文本 CSS Nginx 部署 请求头 抓包 协议 selenium Ubuntu 宝塔 AI Comfy-ui ollama dify open-webui Git docker
sqlite3的基本用法
张建行 2018年6月4日 08:43 44 文章标签: sqlit3

二,sqlite3的基本用法

sqlite3是Python内置的一种轻量级数据库

1,数据库操作的三个步骤

  1. 先连接数据库文件

  2. 进行数据的读取和写入

  3. 关闭数据库

2,sqlite3具体操作

  1. connect(): 负责数据库文件连接的一个函数,当要连接的数据库文件不存在的时候,默认会在当前目录下自动创建一个新的数据库文件

     connect = sqlite3.connect('database.db')
  2. 要操作数据库,先要获取数据库的游标,通过游标操作数据库中表,接着对表进行增删改查

     cursor = connect.cursor()
  3. 数据库文件连接好了,游标也创建好了,接着可以创建表,并且对表中的数据进行增删改查

    创建一张表(通过SQL语句创建一张表)

    student:表名

    id,name,age,score:表中的字段

    INTEGER,TEXT,FLOAT:数据类型

    PRIMARY KEY:给id这个字段添加约束,将id这个字段作为主键

    主键:主键是唯一的,不允许重复的,主要是给某一条数据设置一个唯一的标识,方便数据的查找和定位

     create_table = 'create table student(id INTEGER PRIMARY KEY, name TEXT,age INTEGER ,score FLOAT )'
  4. 通过游标执行创建表的SQL语句

     cursor.execute(create_table)

增加(SQL语句)

向student表中插入name-张三,age-18,score-99.5

 insert_sql = 'insert into student(name,age,score) VALUES ("张三",18,99.5)'
 cursor.execute(insert_sql)
 
 # 执行提交的操作
 connect.commit()
 # 关闭游标
 cursor.close()
 # 关闭数据库
 connect.close()

删除(SQL语句)

删除student表中 id=1 的数据

 delete_sql = 'delete from student WHERE id=1'
 cursor.execute(delete_sql)
 
 # 执行提交的操作
 connect.commit()
 # 关闭游标
 cursor.close()
 # 关闭数据库
 connect.close()

修改(SQL语句)

WHERE 后面跟的是筛选的条件

更新 student 表中 id=2 的数据

 update_sql = 'update student set name="%s",age="%d",score="%.1f" WHERE id=2' % ('李四', 81, 60.5)
 cursor.execute(update_sql)
 
 # 执行提交的操作
 connect.commit()
 # 关闭游标
 cursor.close()
 # 关闭数据库
 connect.close()

查询(SQL语句)

  1. *查询所有数据

     select_sql = 'select * from student'
     result = cursor.execute(select_sql)
     print(result)
  2. fetchone():获取结果集中的一条数据,返回的是一个由字段对应的数据组成的一个元组

     select_sql = 'select * from student'
     result = cursor.execute(select_sql)
     print(result)
     
     # fetchone():获取结果集中的一条数据,返回的是一个由字段对应的数据组成的一个元组
     print(result.fetchone())
     print(result.fetchone())
     print(result.fetchone())
     print(result.fetchone())
  3. fetchall():获取结果集中所有的数据,一条数据对应着一个元组,然后再将这些元组嵌套在列表中进行返回

     select_sql = 'select * from student'
     result = cursor.execute(select_sql)
     print(result)
     
     # fetchone():获取结果集中的一条数据,返回的是一个由字段对应的数据组成的一个元组
     res = result.fetchall()
     for i in res:
         print('id是%s' % i[0], end=' ')
         print('name是%s' % i[1], end=' ')
         print('age是%s' % i[2], end=' ')
         print('score是%s' % i[3])