Python第二阶段学习 day07
2021/7/2 9:21:16
本文主要是介绍Python第二阶段学习 day07,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前情回顾 1.数据表的创建 修改 update [tb] set col = val where 条件 修改字段 alter alter table [tb] add 字段名 数据类型 alter table [tb] add 字段名 数据类型 first; alter table [tb] add 字段名 数据类型 after 字段 类型 alter table [tb] modify 字段名 数据类型 名字 alter table [tb] change 旧字段名 新字段名 数据类型 alter table [tb] drop 字段名; alter table [tb] rename 表名; delete from [tb] where 条件 2.高级查询 模糊查询 like % _ as 重命名 排序 order by desc asc 限制 limit [num] offfset [num] select update delete 联合查询 union all(显示重复的结果) 默认去重 子查询 from 的语句 select 返回多个结果的集合 where 子句= 返回一个精确的值 in 3. 聚合操作 聚合函数: avg() max() min() sum() count() 聚合分组: group by 聚合筛选: having where 操作实际的字段 --索引 :查询次数的多的时候 对某个字段或者多个字段查询 --索引表 : Btree Hash() ... --优点: 查询速度快, 提高查询效率 -- 缺点: 创建索引会占用物理空间 外键约束 [constraint symbol] foreign key(字段) references 表名(字段); 级联动作 默认 从表如果用到了主表的数据,主表不能删也不能改 级联更新 on delete cascade on update cascade 主表无论修改还是删除,从表都跟着更新 设置空 set null 主表无论删除还是更新,从表所对应的外键字段的值为null 表关联关系 1:m 主人 汽车 m:n 运动员 项目 练习 pyq 用户表 朋友圈表 : 1:m 一个用户可以发多条朋友圈 --关系表 点赞用户 朋友圈 的关系 --多对多: 一个朋友圈可以被多个用户点赞, --一个用户可以点赞多条朋友圈 作业:自行设计 图书 作家 出版社 E—R 出表格excel 写代码 作家表 出版社表 图书表 1:m 一本书来自一个作者,一个作者可以写多本书 1:m 一本书可以让一家出版社出版,这家出版社可以出多本书 m:n 作者 出版社 文档中 E——R 学生- 课程 - 教师 画出excel表格 写代码 建表 插入值
--1. 统计每位作家出版图书的平均价格 select author,avg(price) from books group by author; --2. 统计每个出版社出版图书数量 select press,count(*) from books group by press; --3. 统计同一时间出版图书的最高价格和最低价格 select p_time,max(price),min(price) from books group by p_time; --4. 筛选出那些出版过超过50元图书的出版社, --并按照其出版图书的平均价格降序排序 select press,avg(price) from books group by press having max(price)>50 order by avg(price) desc; --索引 :查询次数的多的时候 对某个字段或者多个字段查询 --索引表 : Btree Hash() ... --优点: 查询速度快, 提高查询效率 -- 缺点: 创建索引会占用物理空间 --创建带索引的数据表 create table index_test (id int auto_increment, name varchar(32),primary key(id), unique nameIndex(name)); --索引分类 普通索引 唯一索引 主键索引 --建表的时候没有创建索引 create unique index Name on class(name); -- insert_data 插入了2000000 查看速度 set profiling = 1; 打开功能 (项目上线一般不打开) --查询语句 show profiles 查看语句执行信息 --外键关联 CREATE TABLE dept (id int PRIMARY KEY auto_increment,dname VARCHAR(50) not null); insert into dept values (1,"技术部"), (2,"销售部"), (3,"市场部"), (4,"行政部"), (5,'财务部'), (6,'总裁办公室'); -- 创建人员表 CREATE TABLE person ( id int PRIMARY KEY AUTO_INCREMENT, name varchar(32) NOT NULL, age tinyint unsigned, salary decimal(8,2), dept_id int ) ; --外键关联 alter table person add constraint dept_fk foreign key(dept_id) references dept(id); insert into person values (1,"Lily",29,20000,2), (2,"Tom",27,16000,1), (3,"Joy",30,28000,1), (4,"Emma",24,8000,4), (5,"Abby",28,17000,3), (6,"Jame",32,22000,3); --从表插入数据时,注意外键字段的值要存在主表中 alter table person drop foreign key dept_fk; --级联动作 alter table person add constraint dept_fk foreign key(dept_id) references dept(id) on delete cascade on update cascade; alter table person drop foreign key dept_fk; drop index dept_fk on person; alter table person add foreign key(dept_id) references dept(id) on delete set null on update set null; --一对多 create table people (id varchar(32) primary key,name varchar(30), age int unsigned); create table car(id int primary key auto_increment,brand varchar(32), price decimal(10,2), pid varchar(32), foreign key(pid) references people(id)); --多对多 create table athlete(id int primary key auto_increment,name varchar(32) not null, age tinyint not null, country varchar(32) not null); create table item(id int primary key auto_increment,rname varchar(35)); --关系表 create table athlete_item(id int primary key auto_increment,aid int not null, tid int not null,foreign key(aid) references athlete(id),foreign key(tid) references item(id));
""" use stu; create table index_test (id int primary key auto_increment,name varchar(30)); """ import pymysql db = pymysql.connect(user='root',password="123456",database='stu',charset='utf8') cur = db.cursor() sql = "insert into index_test (name) values (%s);" exe = [] s = "Tom" for i in range(2000000): name = s + str(i) exe.append(name) try: cur.executemany(sql,exe) db.commit() except: db.rollback() db.close()
这篇关于Python第二阶段学习 day07的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程