IT评测·应用市场-qidao123.com
标题:
数据库SQL语言及python自带数据库sqlite3
[打印本页]
作者:
熊熊出没
时间:
2024-11-1 01:20
标题:
数据库SQL语言及python自带数据库sqlite3
一、数据库简介
界说:数据库是存放数据的仓库,其存储空间很大,可以容纳百万条乃至上亿条数据。
数据库分为关系型数据库与非关系型数据库。关系型数据库的表现情势雷同于表格,关系型数据库中表与表之间是有很多复杂的关联关系的。 常见的关系型数据库有Mysql,SqlServer等。这里重要介绍关系型数据库。
由于python强大的开发能力,博主不适用Mysql等软件,而且依托python内置的sqlite3库利用关系型数据库功能。
1.1 术语
数据库:
数据库是一些关联表的集合。
数据表:
表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列:
一列(数据元素) 包含了相同范例的数据, 例如邮政编码的数据。
行:
一行(元组,或记载)是一组相关的数据,例如一条用户订阅的数据。
冗余
:存储两倍数据,冗余降低了性能,但进步了数据的安全性。
主键
:主键是唯一的。一个数据表中只能包含一个主键。你可以利用主键来查询数据。
外键:
外键用于关联两个表。
复合键
:复合键(组合键)将多个列作为一个索引键,一样平常用于复合索引。
索引:
利用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种布局。雷同于册本的目次。
1.2 操作
可以实现的功能:数据库的重要功能包罗组织、存储和管理数据。它允许用户高效地进行数据的查询、修改、删除等操作。
在数据库中,利用的语言大概说语句重要是尺度SQL语句。
创建库:
CREATE DATABASE IF NOT EXISTSmydb1,在名为 mydb1 的数据库不存在时创建该库,如许可以避免报错。
创建表:
CREATE TABLE table1( 列名1 列范例, 列名1 列范例, ...... );创建名为table1的表,包含列名1,列名2两个字段
新增语句:
INSERT INTO table(param1,param2,param3)VALUES(value1,value2,value3) 该语句可以理解为向table中的param1,param2,param3字段中分别插入value1,value2,value3。
查询语句:
SELECT param FROM table WHERE condition该语句可以理解为从 table 中查询出满意condition条件的字段 param。
更新语句:
UPDATE table SET param=new_value WHERE condition该语句可以理解为将满意condition条件的字段param更新为new_value值。
删除语句:
DELETE FROM table WHERE condition该语句可以理解为将满意condition条件的数据全部删除。
去重语句
:SELECT DISTINCT param FROM table WHERE condition该语句可以理解为从表table中查询出满意条件condition的字段param,但是param中重复的值只能出现一次。
排序查询
:SELECT param FROM table WHERE condition ORDER BY param1该语句可以理解为从表table中查询出满意condition条件的param,而且要按照param1升序的顺序进行排序。
注:上述代码均为SQL语句,在mysql软件下中执行,若利用python需要依托上述语句。
二、python调用sqlite3
由于是python的内置库,因此不需要额外的安装与下载,只需要在.py文件顶部调用即可。
import sqlite3
复制代码
三、SQL数据库应用
在python里,执行数据库的操作分为以下几个步骤:1.创建(链接)数据库、2.创建游标(声明对象)、3.执行SQL语句、4.提交事务(生存SQL操作)、5.关闭游标、6.关闭链接数据库。
#链接数据库 如果路径内无该数据库则创建
conn = sqlite3.connect('example.sql')
#创建游标
cursor = conn.cursor()
#执行SQL命令,例如创建一个表
#CREATE TABLE 创建表的语句
#IF NOT EXISTS 用于检查指定的表是否已经存在。如果表不存在,那么执行创建表的操作;如果表已经存在,#则不执行任何操作
#users 表的名字
#(id INTEGER PRIMARY KEY, name TEXT, age INTEGER) 字段(表头 类型)
cursor.execute('''CREATE TABLE IF NOT EXISTS usersss (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
#插入数据
cursor.execute("INSERT INTO usersss (name, age) VALUES (?, ?)", ('Alico', 10))
cursor.execute("INSERT INTO usersss (name, age) VALUES ('Blico', 20)")
cursor.execute("INSERT INTO usersss (name, age) VALUES (?, ?)", ('Clico', 30))
#提交事务 上述.execute后并不会保存 需要.commit()
conn.commit()
#查询数据
cursor.execute("SELECT * FROM usersss")
rows = cursor.fetchall()
for row in rows:
print(row)
#关闭游标和连接
cursor.close()
conn.close()
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4