python开发mysql:表关系&单表简单查询
一 一对多,多对一

1.1 建立多对一 ,一对多的关系需要注意
先建立被关联的表,被关联的字段必须保证时唯一的
在创建关联的表,关联的字段一定是可以重复的 1.2 示例;
出版社 多对一,多个老师可能在一家出版社
一夫多妻 一对多
create table dep(. 被关联的字段必须保证唯一
id int primary key auto_increment,
name varchar(20),
comment varchar(50)
); create table emp(
id int primary key auto_increment,
name varchar(20),
dep_id int, 关联的字段一定保证可以重复的
constraint fk_depid_id foreign key(dep_id) references dep(id)
foreign key(dep_id) 本表关联字段
references 后面接指定关联的表,一定是唯一的
on update cascade
on delete cascade
);
二 一对一

2.1 示例. 用户表,管理员表
create table user(
uid int primary key auto_increment,
name varchar(20)
);
insert into user(name) values('egon'); create table admin(
id int primary key auto_increment,
user_id int unique, 唯一
password varchar(20),
constraint foreign key(user_id) refreences user(uid) 被关联的字段一定是唯一的
on update cascade
on delete cascade
);
insert into admin(user_id,password) values(3,'alex3714'); 2.2 注意关联字段与被关联的字段一定都是唯一的 2.3 示例 学生和客户,客户转化为学生
一个学生肯定是一个客户,但是客户不一定学生

三 多对多,双向的多对一,就变成多对多

3.1 示例. 作者,书
create table book(
id int primary key auto_increment,
name varchar(20)
price varchar(20)
); create table book2author(
id int primary key auto_increment,
book_id int,
author_id int,
constraint foreign key(book_id) references book(id),
constraint foreign key(author_id) references author(id)
on update cascade
on delete cascade,
unique(book_id,author_id) 联合唯一
); create table author(
id int primary key auto_increment,
name varchar(20)
);

四 简单单表查询
1 简单查询
select * from t1; 先找到表,在找到记录,测试时候用
select name,id from t1; 2 where条件 and > < = != between or in is not
select name,id from t1 where id > 3; 先找表,在走条件,然后字段
select name,id from t1 where id > 3 and id <1 0; 多条件
select name,id from t1 where id between 3 and 10; 在..之间 not between
select id from t1 where id=3 or id=4 or id=5;
select id from t1 where id in (3,4,5);
select id from t1 where id is Null;可以判断是不是为空''并非空这么简单,只有Null才能用is判断,''用==判断
select name from t1 where name like '%n%';
select name from t1 where name like 'e__n'; _代表是匹配一个 3 group by分组
select stu_id,group_concat(name) from t1 group by stu_id; 按照id分组
group_concat(name) 看组里面有哪些人,就需要这个聚合函数
select stu_id,count(id) from t1 group by stu_id; 查看每个组里面多个人
select stu_id,max(id) from t1 group by stu_id; 查看每个组里的最大id
max min sum avg平均 删除字段
alter table t1 drop age;
alter table t1 change id id(int3); 可以用modify替代
alter table t1 add primary key(id,age); 将谁设置成主键
alter table t1 drop primary key; 删除主键
python开发mysql:表关系&单表简单查询的更多相关文章
- Python、mysql四-1:单表查询
一 单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制条数 二 关键 ...
- mysql 数据操作 单表查询 目录
mysql 数据操作 单表查询 mysql 数据操作 单表查询 简单查询 避免重复DISTINCT mysql 数据操作 单表查询 通过四则运算查询 mysql 数据操作 单表查询 concat()函 ...
- 数据库开发-Django ORM的单表查询
数据库开发-Django ORM的单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询集 1>.查询集相关概述 查询会返回结果的集,它是django.db.mod ...
- mysql 数据操作 单表查询 where 约束 目录
mysql 数据操作 单表查询 where约束 between and or mysql 数据操作 单表查询 where约束 is null in mysql 数据操作 单表查询 where约束 li ...
- mysql 数据操作 单表查询 group by 分组 目录
mysql 数据操作 单表查询 group by 介绍 mysql 数据操作 单表查询 group by 聚合函数 mysql 数据操作 单表查询 group by 聚合函数 没有group by情况 ...
- MySQL数据库之单表查询中关键字的执行顺序
目录 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 2 执行顺序 3 关键字使用语法 MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from ...
- MySQL数据库语法-单表查询练习
MySQL数据库语法-单表查询练习 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要是对聚合函数和分组的练习. 一.数据表和测试数据准备 /* @author :yinz ...
- Python学习day44-数据库(单表及多表查询)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- mysql 基础入门 单表查询
单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ...
随机推荐
- python学习笔记(excel简单操作)
现在的目标是设计一个接口自动化测试框架 用例写在excel里面 利用python自带的pyunit构建 之前已经安装好了处理excel的模块 这次简单的使用下 提前创建好excel文件 “testca ...
- maven setting仓库镜像
国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以备用. 最新更新:2016年11月11日 18:05:40 阿里云提供Maven私服,我把配置文件贴一下,自 ...
- AI实现五子棋机器人(一)
前言: 前几天在 csdn 下载资源的时候才发现自己 csdn 有近 200 的下载积分,看了看共享的资源,哈哈 ... 7年前写的五子棋游戏很受欢迎. 下载地址:新手入门五子棋游戏 刚入行的 ...
- mysql的bin或者sbin目录可执行文件
一. mysql服务和myql服务启动程序 1. mysqld mysqld就是mysql server,负责管理对mysql数据的访问. 当mysql server启动后,它会监听来自客户端的网络连 ...
- 0 与 “0" 与 '\0' 与 '0'相互之间的区别
1. '\0'和‘0’都是字符,对应的ASCII值分别是0和48. 2. 0表示一个数字.也可以表示ASCII值,对应字符'\0'. 3. “0”表示字符串,第一个字符是'0'.
- RedHat Linux服务器安全配置细节
1.概述 Linux服务器版本:RedHat Linux AS 2.1 对于开放式的操作系统---Linux,系统的安全设定包括系统服务最小化.限制远程存取.隐藏重要资料.修补安全漏洞.采用安全工具以 ...
- LeetCode OJ:Longest Palindromic Substring(最长的回文字串)
Given a string S, find the longest palindromic substring in S. You may assume that the maximum lengt ...
- 模拟form提交数据
最近在做一个项目,发现ajax不能enctype=”multipart/form-data” 属性的表单,没办法,只能使用form表单直接提交的方法了,但是form表单直接提交会跳转页面,这样很不友好 ...
- c#如何保存richtextbox的rtf格式
C# codethis.rtbText.Rtf = @"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052" + @&qu ...
- 剑指Offer(第二版)面试案例:树中两个节点的最低公共祖先节点
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/74612786冷血之心的博客) 剑指Offer(第二版)面试案例:树 ...