数据库
定义:
存储数据的仓库
存储在计算机系统中结构化的可共享的相关数据的集合
特点:
数据是按照一定的数据模型进行组织描述和存储的,可以最大限度的消除数据的冗余性
数据库管理系统:
用于管理操作数据库的计算机软件
数据的定义检索等
DDL:数据库定义语言
DML:数据操作语言
DBMS的分类
适合于企业用户的企业用户的网络版DBMS
Oracle
SQLServer
IB2
高版本的MySQL
MySQL对Date进行重写,不允许将String插入String
java的jar包中:替换低版本的jar包 否则会出错
适合于个人用户的桌面版DBMS
Access
MySQL 5.0
数据库的模型
关系型:实体和联系
层次型
网状型
面向对象型
实体和联系
数据库中的实体:
表 视图 序列
联系
一对一
一对多
多对多
表中的行和列
行:记录或者元组
列:字段
通用的数据库访问模块
ODBC
open Database Collection
开放数据库连接
常用数据库都实现自己的ODBC
JDBC
python 提供不同的模块
ODBCInterface
pyodbc
mxODBC
**SQLite **
ACID
原子性
一致性
隔离性
持久性
单一文件模式操作
整体结构简单
支持的数据类型:
null, INTEGER, REAL, TEXT,BLOB,
python: none, int, float, str, bytes
sqlite3模块
sqlite3.version
sqlite3.connect()
sqlite3Connect 数据库连接
sqlite3.Cursor 游标对象
sqlite3.Row 行对象
步骤
1.导入相应的模块
import sqlite3
2.建立数据库连接
con = sqlite3.connect()
3.创建游标对象
cur = con.cursor()
4.使用execute()执行sql语句
con.execute()
5.结果
6.数据库的提交或者回滚
con.commit()
con.rollback()
关闭
con.close()
SQLite实例
import sqlite3
#没有就创建
con = sqlite3.connect(r"d:\db1.db")
#创建一个表
#con.execute("create table t1(id primary key,name)")
#插入 修改 删除 数据
#插入一条记录
con.execute('insert into t1 values("02","广东")')
#插入一条记录 用批处理方式
con.execute('insert into t1 values(?,?)',("010","北京"))
#插入多条记录
#声明一个列表
data1 = [("021","上海"),("022","沈阳"),("023","重庆")]
con.execute('insert into t1 values(?,?)',data1)
#更新记录
con.execute("update t1 set name = ? where id = ?",("上海","023"))
#删除元素 元组只有一个元素的时候要有一个,
rt = con.execute("delete from t1 where id = ?",("024",))
print("删除了",rt.rowcount)
#提交
con.commit()
#关闭
con.close()
MySQL
在这里插入代码片