数据库

定义:
存储数据的仓库
存储在计算机系统中结构化的可共享的相关数据的集合

特点:
数据是按照一定的数据模型进行组织描述和存储的,可以最大限度的消除数据的冗余性
数据库管理系统:
用于管理操作数据库的计算机软件
数据的定义检索等
	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

在这里插入代码片