1
0
0
MySQL 入门概念
数据库
思维导图

DDL - 数据库的新增、删除 + 表新增、删除
- 创建数据库 - create database 库名;
- 使用数据库 - use 库名;
- 查看所有的数据库 - show databases;
- 删除数据库 - drop database 库名;
- 创建表 - create table 库.表 ( 字段1 数据类型 [约束] ,字段2 数据类型 [约束],... )
- 查看当前库有哪些表 - show tables;
- 查看表的结构 - desc 库.表;
- 删除表 - drop table 库.表;
数据的类型:int decimal(m,n) m总长度n小数长度 varchar(20) date time datetime
约束: primary key 主键(唯一+非空) unique 唯一 not null非空 default 默认值
DML - 数据的新增、删除、修改
- 插入数据 - insert into 库.表(字段1,字段2) values (值1,值2),(值1,值2),(值1,值2)
- 修改数据 - update 库.表 set 字段 = 新的值 [where 条件]
- 删除数据 - delete from 库.表 [where 条件] / truncate 库.表
DQL - 数据的查询
- 简单查询 - select * from 表
- 条件查询 - where 条件:比较、逻辑、区间、模糊、非空
- 排序查询 - order by 升序asc 降序desc
- 聚合函数 - count max min sum avg
- 分组查询 - group by having ,按什么分就按什么查,分组必聚合
- 分页查询 - limit 起始索引,查询条数
- 外键约束 - foreign key (字段) reference 主表(字段) 【innodb引擎才支持外键约束】
- 无条件查询/笛卡尔积/交叉查询 - 1.select * from 表A,表B 2.select * from 表A join 表B
- 有条件查询 - select * from 表A join 表B on 表A.字段 = 表B.字段
- 左外连接/右外连接 - select * from 表A left join 表B on 表A.字段 = 表B.字段 select * from 表A right join 表B on 表A.字段 = 表B.字段
- 左外:以join左侧为主,全部使用,右侧只取满足条件的
- 右外:以join右侧为主,全部使用,左侧只取满足条件的
mysql
自连接查询 - 自己关联自己
# 自关联查询 - 自己 关联 自己(省、市、区记录在一张表里面的)
# 1.查省 关联 查市 关联 查区
select *
from second_db.areas as sheng
join second_db.areas as shi
on sheng.id = shi.pid
join second_db.areas as qu
on shi.id = qu.pid;
子查询 - 将查询的结果作为下一个查询的条件
# 子查询 - 查询的结果所为查询的内容
# 1.查询价格>500的商品
# select *
# from second_db.product
# where price > 500;
# 2.查询满足条件1的电子商品(from后面进行使用)
select *
from (select * from second_db.product where product.price > 500) as t
where t.category = '电子产品';
select *
from second_db.product
where price > 500
and category = '电子产品';
# 查询价格大于平均价格的商品
# 1.查平均价格
select avg(price)
from second_db.product;
# 2.筛选大于平均价格(where后面使用)
select *
from second_db.product
where price > (select avg(price) from second_db.product);
# 3.查看商品价格与平均价格的差值(select后面进行使用)
select name, price-(select avg(price) from second_db.product) from second_db.product;
pymysql
1.导包
2.连接mysql
3.通过连接对象创建游标
核心:4.通过游标执行sql语句
cursor.fetchone
cursor.fetchall
conn.commit
conn.rollback
5.关闭游标
6.关闭连接
import pymysql
conn = pymysql.connect(host=,port=3306,user=,password=,charset=)
cursor = conn.cursor()
cursor.excute(""" sql语句 """[,[参数1,参数2])#防止sql注入
cursor.close()
conn.close()
