数据库(2)
约束(Constraint)
对插入数据库的数据进行合法性校验,保障数据的完整性
5中类型的约束:
1.非空 (NOT NULL):字段值不能为NULL
2.唯一(UNIQUE): 字段值不能重复,虽然唯一 但可以为NULL
3.主键(PRIMARY KEY):非空并且唯一
-
外键(FOREIGN KEY):字段的值只能为另外一张表中的某个字段的值
-
检查约束(CHECK):限制字段的取值范围
多表联合查询
笛卡尔集:
查询结果集
表名太长可以使用别名简化写法
where子句用于设置查询条件
order by子句用于排序
多级排序
TOP N问题:MySQL数据库中可以使用limit关键字实现(注意:这个语法不是SQL标准指定的)
扩展
两张表查询
select * from student,course,
select * from student st,score where st.sno = score.sno;
select st.sno, name, sex, phone ,cno from student st,score where st.sno = score.sno;
三张表查询
select * from student st, course c, score sc where st.name="张三" and c.name="python程序设计" and score<60 and st.sno=sc.cno and order by score desc
order by排序 加desc降序
MySQL还是会把我们的数据放到文件中,当我们给他一个数据
在djdb下创建一个名为student的表
create table djdb.student(
sno int(8) unsigned primary key,
name varchar(20) no null,
sex char(1) no null default "男",
sight float(2, 1),
phone char(11) not null);
显示最近的警告信息
show warnings;
MariaDB是MySQL的衍生产品,两个东西是一模一样的,是MySQL的创始人做出来的,
物理内存超过4G就要装64位系统
不然超过4G的内存空间就会白白的浪费
32位系统最大访问的内存空间就是4G,所拥有的编号为2的32次方减1,用完就不能再编号,64位系统就是2的64次方减1,为何要用64位,因为硬件的发展,配置的提高,32位系统的编号已经快满足不了硬件的需求,所以硬件商就要操作系统商往64位发展,以满足它们的需求。。
硬件电路设计层面为软件加速会让用户体验得到非常大的提高
硬件软件是相互携程向前发展的
操作系统是软硬件的主宰
list和tuple里面存放的都是地址,只不过tuple里的地址不能动,list里的可以动
深拷贝本质就是递归进行浅拷贝 ,深拷贝浅拷贝对于不可变对象没有影响
浅拷贝只拷贝第一层,深拷贝会拷贝多层
d = c[:] # 切片操作实现的拷贝也是浅拷贝
d = copy.copy(c) # 浅拷贝
d = copy.deepcopy(c) # 深拷贝
python解析器垃圾回收机制 gc机制,对于无用对象,垃圾回收机制会清理掉它,将其释放,供其他数据使用
开机按f8进安全模式,开机只会运行系统所必须的程序
所谓的效率往往从两个方面去考虑:时间和空间
完整的创建如下(以三张表为例,插入处可插入多条数据):
create table student(
sno int(6) unsigned primary key,
name varchar(20) not null,
sex char not null,
birth data not null,
sight float(2, 1),
phone char(11) unique,
check (sight > 2 and sight < 6));
insert into student values(1001, "张三", "男",“1957-4-23”,“132134234”);
create table score(
sno int(6) unsigned,
cno int(6) not null,
score tinyint unsigned not null
foreign key(sno) references student(sno)
)
insert into score values(1001, 2001, 98)
#课程信息
create table course(
cno int(6) unsigned,
name varchar(50) not null,
teacher varchar(20) not null,
primary key(cno)
)
insert into course values(2001, 'Python程序设计', ’azhe‘)
insert into course values(2002, 'JAVA程序设计', ’老王‘)
insert into course values(2003, 'C++程序设计', ’李四‘)
1.查询出所有有挂科的学生的信息
select * from student st, score where st.sno=score.sno and score < 60 and st.sno= sc.sno;
2.查询出出班上所有女生Python程序设计这门课的前两名
select * from student st,course c,score sc where st.sex="女" and c.name="Python程序设计" limit 2;
3.查询出班上所有使用联通手机号并且Python程序设计排名前三的学生信息
select distinct * from student st, course c, score sc where st.phone regexp"^131[0-9]{8}" and c.name="Python程序设计" limit 3;
4.查询出班上平均分最高的学生信息
select avg(score) from score,student st group by name
select * from student, score where score=(select max( from score);
原文地址:https://www.cnblogs.com/yanruizhe/p/11379653.html
- JavaWeb项目架构之Kafka分布式日志队列
- 如何让Git记住用户名和密码
- 金融系统中正确的金额计算及存储方式
- 如何利用深度学习写诗歌(使用Python进行文本生成)
- 注意:字符串substring方法在jkd6,7,8中的差异。
- JavaWeb项目架构之NFS文件服务器
- 轻松几步搞定SSH连接Git配置
- 免费使用谷歌GPU资源训练自己的深度模型
- Git安装及配置5分钟快速教程
- 风格迁移原理及tensorflow实现-附代码
- 手把手教你搭建目标检测器-附代码
- JavaWeb项目架构之FastDFS分布式文件系统
- JavaWeb项目架构之Redis分布式日志队列
- 超快速!10分钟入门Keras指南
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 飞天茅台超卖事故:Redis分布式锁请慎用!
- 算法集锦(24) | 自动驾驶 |高速公路行驶路径规划算法
- 【自动驾驶专题】|小白都会玩的自动驾驶算法
- 算法基础(6)| 语音识别DTW算法小讲
- Selenium设置浏览器为手机模式自定义大小
- 如何在Jetson nano上同时编译TensorRT与Paddle Lite框架
- 一文概览无监督聚类算法有多少 | 算法基础(10)
- 算法集锦(28)| 智能医疗 | 血液细胞分类算法
- 基于飞桨复现 CVPR2018 Relation Net的全程解析
- 如何将DB2数据库转换成Oracle数据库,这一篇告诉你
- MySQL 8.0 安装部署3个注意事项
- 打卡群刷题总结0802——反转链表 II
- 打卡群刷题总结0801——解码方法
- 动手写简单的嵌入式操作系统二
- C++核心准则E.6:使用RAII防止资源泄露