python--数据库学习笔记

数据库特点

  • 持久化存储
  • 速度快
  • 数据的有效性
  • 易扩展

SQL语句

  • DML:insert update delete select
  • DDL:create,drop,alter
  • DCL

数据类型

  • 数值类型
    • int
    • float
    • double
    • decimal
  • 字符串类型
    • char()
    • varchar()
    • enum(“M”, “F”)
    • text
  • 日期
    • data年月日
    • time时分秒
    • daretime年月日时分秒
    • year年
    • timestamp
  • 约束
    • pk
    • fk
    • not null
    • default

操作数据库

  • 连接数据库mysql -uroot -p
  • 创建数据库create database dbname;
    • 含有特殊字符 ``
  • 查看已创建的数据库show databases;
  • 当前使用的数据库select database();
  • 使用数据库use dbname;
  • 删除数据库drop database dbname;

操作数据表

  • 创建表create table tbname(字段 数据类型 约束);
  • 展示表show tables;
  • show create table
  • 查看表的结构desc tbname
    • tbname代指表的名称

DML:增删改查

  • 增加:insert into (字段1,字段2)表名 value (值1,值2),(值1,值2);
  • 修改:update tbname set 字段=新值 where 条件;
  • 删除:delete from tbname where 条件;
  • 查询:select 字段1,字段2 from tbname;
  • 查询去重:select distinct 字段 from tbname;

条件查询

  • select * from tbname where comdition;
    • 比较运算符
    • 逻辑运算符
    • 模糊查询
      • like
      • %
      • _
    • 聚合函数
      • count()
      • sum()
      • max()
      • min()
      • avg()
        • round()

分组与筛选

  • group by
  • group_concat(字段名)
  • group by with rollup 分组之后的总聚合
  • group by + having

排序

  • select * from tbname order by col1 asc|desc [,col2 asc|desc…]

限制

  • select * from tbname limit start,count;
    • start 0 偏移量
    • count 显示的条数

连接查询

  • 内连接
  • 外连接
    • 左连接
    • 右连接
    • select * from tb1 inner|left|right join tb2 on tb1.col=tb2.col;

子查询

  • select * from tb1 where hight=(select max(hight) from tb1)

自关联

  • 自己与自己关联

外键(foreign key)

  • 外键目的:多表关联的时候保持数据的完整性与一致性
  • 外键所在的是从表,主键所在的主表
  • 创建方式
    • 创建表时 constraint fk_cid foreign key cid references 主表名 主键;
    • 修改表字段时添加外键 alter table tbname add ....
  • 删除外键
    • alter table tbname drop foreign key 外键约束名;
  • 注意:
    • 外键可以为空,但是主键不能为空
    • 外键必须属于主键
    • 主表先存在,再从表添加外键

Mysql与Python交互

  • 准备数据
    • 把goods 表 分组后的数据 插入到别的表
  • python充当客户端的角色
  • 连接步骤
    • 1.导入库
    • 2.连接数据库 conn = connect()
    • 3.获取游标对象 cs = conn.cursor()
    • 4.游标对象执行sql语句cs.execute(query)
      • cs.fetchone()
      • cs.fetchmany(s)
      • cs.fetchall()
    • 5.关闭游标
    • 6.关闭连接
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WSZFSNFK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值