数据库基础
部分内容参照MySQL官方文档
数据库初识
在关系型数据库中,数据被储存在数据表中。
每一列(字段)数据类型相同;每一行(记录)又由每一列组成。
主键(Primary Key)是表的唯一索引,因此其中的每个元素必须唯一。
SQL语言(Structured Query Language 结构化查询语言)
数据库基本用法
Connection 对象
用于与MySQL数据库建立联系
所需要的主要参数:
host – 常设置为"localhost"
user –用户名
password – 密码
database – 数据库的名称
charset – 开发者所需要的字符集.(这里若要使用"UTF-8",请写"utf8")
Connection对象相关方法
begin()
开始事务
close()
断开连接(若连接已经断开,则会抛出错误)
commit()
提交事务(向存储器提交数据变化)
cursor(cursor=None) ——创建一个新的游标
参数:cursor指定创建cursor的类型,可选Cursor, SSCursor, DictCursor, or SSDictCursor.默认为Cursor
open
如果已连接则返回True
ping(reconnect=True)
检查服务器是否正常运行
参数:reconnect=True 时,如果服务器关闭,则再次connect
s如果连接已关闭且reconnect=False,则抛出错误
rollback()
回滚事务
select_db(db)
Set Current db
db代表databas的名称
show_warnings()
发送 “SHOW WARNINGS” SQL指令
Cursor对象
这是一个用于与数据库交互的对象
Cursor对象相关方法
callproc(procname, args=())
使用args执行存储过程procname
procname –字符串,在服务器上执行的过程的名称
args – 与过程一起使用的序列
返回原始参数
close()
关闭游标,释放所有存储数据的内存
execute(query, args=None)
执行SQL语句
参数:
query (str) – 待执行SQL语句
args (tuple, list or dict) – SQL语句所需参数. (可选参数)
返回受到影响的行数目(type:int)
如果args参数是一个元组或列表,%s可以在语句中作为占位符来使用;如果args是字典,用%(name)s 作为占位符。
executemany(query, args)
对多个数据执行SQL语句
参数:
query – 服务器上执行的语句
args – Sequence of sequences or mappings. It is used as parameter.
返回收到影响的行数目(如果有)
fetchall()
获取所有额行
fetchmany(size=None)
向下获取数目为size的行
fetchone()
向下获取下一行
max_stmt_length = 1024000
executemany()生成的语句的最大大小。
mogrify(query, args=None)
返回通过调用execute()方法发送到数据库的确切字符串。
setinputsizes(*args)
DB API的规定,无实际用途
setoutputsizes(*args)
DB API的规定,无实际用途
close()
关闭游标,释放内存数据
fetchall()
根据MySQLdb获取所有数据。对于大型查询非常无用,因为它是缓冲的。如果您需要此方法的非缓冲生成器版本,请参见fetchall_unbuffered()。
fetchall_unbuffered()
Fetch all,作为生成器实现,这不是标准的,但是,返回列表中的所有内容没有意义,因为对于大型结果集将使用荒谬的内存。
fetchmany(size=None)
Fetch many向下获取数目为sizs的行
fetchone()
向下获取一行
read_next()
读取下一行