Python数据库操作

一、数据库基础知识

1.名词缩写

DB(Data Base)数据库

DBMS(Data Base Management System)数据库管理系统

DBS(Data Base System)数据库系统

DBA(Data Base Administrator)数据库管理员

SQL(Structured Query Language)结构化查询语言

Primary Key 主键

Foreign Key 外键

Entity 实体

SQL语言的动词

SQL功能动词
数据查询SELECT
数据定义CREATE、DROP、ALTER
数据操纵INSERT 、UPDATE 、DELETE
数据控制GRANT、REVOKE

SQL的数据定义语句

操纵对象创建删除修改
CREATE TABLEDROP TABLEALERT TABLE
视图CREATE VIEWDROP VIEW
索引CREATE INDEXDROP INDEX
数据库CREATE DATABASEDROP DATABASEALERT DATABASE
2.SQL中的运算符

1.算数运算

+、-、*、/、%

2.赋值运算

=

3.比较运算

=、>、<、<>(不等于)、>=、<=

4.逻辑运算

AND、OR、NOT

3.SQL支持的数据类型

常用数值类型

数据类型字节数
TINYINT[(M)]1字节
SMALLINT[(M)]2字节
MEDIUMINT[(M)]3字节
INT[(M)]4字节
FLOAT[(M,D)]4字节

注意:上表中M表示显示宽度,也就是最多能够显示的数字个数,与该类型的取值范围无关。若数据位数大于显示宽度,只要不超过该类型取值范围,则以实际位数显示;反之数据位数如果小于指定宽度,则以空格填充。

字符串类型

数据类型字节
CHAR [(M)]M字节
VARCHAR[(M)]可变长度
TINYTEXT0~255
TEXT0~65535

二、第三方库

数据库操作第三方库pymysql

pymysql.Connect()参数说明
host(str):      MySQL服务器地址
port(int):      MySQL服务器端口号
user(str):      用户名
passwd(str):    密码
db(str):        数据库名称
charset(str):   连接编码

connection对象支持的方法
cursor()        使用该连接创建并返回游标
commit()        提交当前事务
rollback()      回滚当前事务
close()         关闭连接

cursor对象支持的方法
execute(op)     执行一个数据库的查询命令
fetchone()      取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall()      获取结果集中的所有行
rowcount()      返回数据条数或影响行数
close()         关闭游标对象

在MySQL创建一个表

CREATE TABLE `users` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `email` VARCHAR(255) COLLATE utf8_bin NOT NULL,
    `password` VARCHAR(255) COLLATE utf8_bin NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=1 ;

使用Python脚本实现增删改查和事务处理,源码如下:

# 插入数据
sql = "insert into users (email,password) values ( '%s', '%s')" % ('example@email.com', 'password')
cursor.execute(sql)
db.commit()

# 更新数据
sql = "update users set email='%s'  where id = '%s'" % ('example_update@email.com', '1')
cursor.execute(sql)
db.commit()

# 查询数据
sql = "select email,password from users where id = '%s'" % '1'
cursor.execute(sql)
db.commit()
for row in cursor.fetchall():
    print("email:%s\t password:%s" % row)
print('共查出',cursor.rowcount,'条数据')

# 删除数据
sql = "delete  from users where id = '%s'" % '1'
cursor.execute(sql)
db.commit()


# 打印整个表格
cursor.execute('select * from users')
for row in cursor.fetchall():
    print(row)
print("共%d条数据。"%cursor.rowcount)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值