ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

MySQL单表和多表

MySQL单表和多表 MySQL-课程介绍MySQL-概述概述-数据模型SQL简介MySQL-DDL-数据库操作MySQL-DDL-图形化工具DDL-表结构操作-创建-数据类型tinyint默认为有符号的想要无符号的一般要在后面加上unsigned例如tinyint unsigned由于变长字符串varchar要根据实际长度存储多了一步判断长度所以性能比char低像电话号这种固定长度的就可以使用char11像名字这种长度不固定的就可以用varchar20)date只有年月日datetime有年月日和时分秒time只有时分秒 default CURRENT_TIME是指的是默认值为初次登入时的时分秒datetime有年月日和时分秒写为2020-12-23 21:10:23 default CURRENT_TIMESTAMP 指的是默认值是初次登入的年月日时分秒on update CURRENR_TIMESTAMP指的是每次修改的时候更新时间为当前的年月日时分秒完全可以手动修改即使设置了ON UPDATE CURRENT_TIMESTAMP你依然可以在UPDATE语句里主动给update_time赋一个固定值数据库会优先使用你手动指定的值而不会自动覆盖。创建-案例-查询修改删除show tables只查询到了表名desc 表名查询到了表的结构show create table 表名查询到了表的设定语句选中表 ctrlb可以在图形化界面中查看这个表MySQL-DML-对数据进行增删改-添加数据insert指定字段添加数据是指挑选几个属性给一组元素赋值这就是为所有属性中的几个属性添加几组数据每组数据之间要用逗号隔开这个相当于给整表赋值id是primary key元素不可以重复又是自增元素所以可以写成null让系统自增在id设置为null的情况下重复运行相同的语句可以重复添加相同的数据在指定字段添加元素时空着的元素会变成null在全部字段添加数据的时候不能不写数据否则会报错-修改数据update不加where语句的时候会默认把全表都改了-删除数据delete查询和存储的写法是相反的存储insert update delete都是要先找到表在哪里才能存储查询是要先确定查询什么才能能到表里查MySQL-DQL-对数据进行查询-基本查询去除重复记录如果有重复的自动去掉获取表中的几列元素字段就是属性也就是列获取整表要查询的字段之间要用逗号隔开两种方法都可以但是实际开发中要用第一种因为第二种性能低而且不直观起别名起别名时别名中有空格的要用单引号引起来去除重复如果用普通方法查的话会得到一堆重复的内容这时候要获得不重复的内容就要用distinct-条件查询—统计横行where判断有没有用is null没有is not null有is不能用来判断是否is后面只能加null或者是not null判断相等不等 大于小于要用 不等于 ! 占位符判断名字有几位用_判断时不知道名字有几位用%in( , , , ) 判断数据是否是括号内的值之一-聚合函数—统计竖列count()聚合函数和*不能混用是因为聚合函数最终得到的会是一个值而不是所有的字段聚合函数本来只可以得到一个值但是如果和group by配合使用可以通过group by的要求分组计算SELECT name, COUNT(id) FROM tb_user WHERE id IS NOT NULL GROUP BY name;必须加上逗号和GROUP BY name否则无法运行假设tb_user表中有以下数据id均不为空idusernamenameage1zhangsan张三202lisi李四223wangwu张三254zhaoliu李四235sunqi王五28执行修正后的语句后运行结果为nameCOUNT(id)张三2李四2王五1 结果说明结果按name分组统计了每个name对应的id不为空的记录数量。如果表中没有数据结果会是空集如果所有name都相同则只会返回一行。count统计统计非null的值min求最小值max求最大值字符串也是可以比较的avg统计平均值字符串无法求平均值sum求和字符串也无法求和-分组查询group byselect 后面的两个字段用逗号隔开字段1字段2表示显示两个字段在使用group by时要特别注意where后面不能使用count函数要对count函数做条件判断要用having先执行where再执行group by最后再执行havingwhere是对搜素条件的限制group by是对where搜索出的结果的处理having是对聚合函数搜索结果的过滤where筛选出去的元素不会执行分组-排序查询order by-分页查询limit ,limit限制每页展示的数据个数防止加载数据时间过长以及用户使用体验不好第一个数字表示索引从索引0开始是指从第一个数据开始从索引1开始是指从第二个数据开始第二个数字表示展示个数-案例多表关系一对多一对一总结一对一 主要用于单表拆分事例员工和员工信息一一对应一对一要在一方添加外键关联另一方的主键是为了保证是一对一的关系一对多是多的的主键关联一的某一列数据多对多多对多需要创建中间表同一个字段可以添加相同的外键多表设计案例工作经历—员工 一对多
返回列表