mysql 注意小结
char 默认是1 个字符
char(12) 设置是12个字符 不管是中文还是英文或者数字只能有十二个 设置外键时,这时候外键对应的父键的字段要是主键 非空而且是唯一. create table t1 (id int primary key auto_increment,name char(12) not null,age int,sex enum('male','female'));
性别 可以在枚举中选择 也可以不写就默认male
sex enum('male','female') not null default 'male', mysql> create table student(sid int primary key,sname char(3) not null,gender cha
r(12) enum('female','male'),class_id int , foreign key(class_id) references class_i
nfo(cid));
gender char(12) enum 这个位置是错的 本身语法就是错误的因为,enum 已经订好了枚举的内容了,就不需要char()去约束了 where 后边可以与group by 一起使用
group_concat 与group by 分组出来的数据,只是字符串不能用它进行操作的
选择有多个条件时
where 条件 order by 条件 group by 与聚合函数 使用 比较好使
不过,对于分中的内容可以求出最早或者最大的值,但是这个值对应的姓名等 是不能够知道的 select name,post,max(age) from 表名 group by post;
这个号找出部门的最大年龄,但是名字不知道是谁,这个名字只是随机匹配出来的 使用count()的时候,的得注意了 当count 于where 一起使用的时候,条件是什么计算的就是条件的内容,只要count()括号里边的内容不为空效果是一样的 having 一般都与group by 使用
having select 选择后才到having 去筛选
不能这样使用的因为,having 之前有默认分组的可能,就把相同的年龄分在一起了,就没有结果;报错
select name,age from 表 having age >18;
oeder by 子字段 一般都是数字型的字段
order by 是根据条件来 找到符合的内容,然后根据某个字段来对这些内容进行排序
默认升序 asc desc 是降序
比如:
年龄升序排的,name 是与age对应的字段
select name,age from 表名 order by age ;
查看讲师年龄小到大的员工姓名
select age,name from 表名 where teacher order by age : order by 是在select 之前执行吗? 不是
比如说在 一个表中里 部门 员工 姓名 年龄
想要从某个部门找到入职最早的员工
select name,age from 表名 where post=tercher order by age desc limit 1;
查找入职最早的人与入职时间;
select name,date from 表名 order by age desc limit1; limit
limit n 取n 个
limit n,m 从n+1 起取m个数; 聚合函数,查到对于匹配的字段,是随机选取的而不是,准确的
查出表年龄最大的人名
select name ,max(age) from 表名 : select 字段,avg(age) from 表名 grouop by 对应的字段:
那么这个字段就是分组对应的平均年龄. 因为group by 是在select 之前执行 分组了,然后在去执行求平均年龄. from where group by select having order by limit 比如 select dep_name name from 表名 where name='alex';
会报错的,应为先走from 在走 where 就找不到 name ,而name是在select 后在把 dep_name改名为 name的 所以报错 内连接; inner join 俩张表要有共同内容 wherer 能与 count()使用
mysql 注意小结的更多相关文章
- mysql字符集小结
http://blog.csdn.net/wyzxg/article/details/8779682 author:skatetime:2013/04/09 mysql字符集小结 今天同事阿杰兄发现内 ...
- [转帖]MySQL latch小结
MySQL latch小结 https://www.cnblogs.com/liang545621/p/9439816.html 学习一下 一个是数据库内容 一个是内存内容 与oracle的读写锁 应 ...
- mysql搜索引擎 小结
mysql搜索引擎 小结 mysql5.5以后,mysql默认使用InnoDB存储引擎. 若要修改默认引擎,可以修改配置文件中的default-storage-engine.可以通过show vari ...
- mysql开发小结
目录 1. 使用mybatis操作mysql数据库SUM方法返回NULL解决 2. limit m,n 1. 使用mybatis操作mysql数据库SUM方法返回NULL解决解决方案一: SELECT ...
- mysql问题小结
1.数据表存在,但查询时提示不存在 原因:默认情况下,mysql在windows对表名大小不敏感(lower_case_table_names=1),在linux上大小敏感(lower_case_ta ...
- mysql升级小结和mysql_upgrade的用途
http://blog.itpub.net/15480802/viewspace-1412259/ mysql升级 1 升级方式 分为In-place和out-of-place,前者直接覆盖当前版本, ...
- Mysql查询优化小结
转自http://www.cnblogs.com/112ba/p/6220650.html 数据类型 简单原则:更小更好,简单就好,避免NULL1)整型如int(10)括号中的值与存储大小无关2)实数 ...
- MySQL优化小结
数据库的配置是基础.SQL优化最重要(贯穿始终,每日必做),由图可知,越往上优化的面越小,最基本的SQL优化是最重要的,往上各个参数也没太多调的,也不可能说调一个innodb参数性能就会好多少,而动不 ...
- Mysql数据库小结
1. 基础概念 1.1 数据 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 在计算机中描述一个事 ...
- mysql索引小结——高性能mysql
1.索引可以包含一个或者多个列的值,如果索引包含多个列的值,列的顺序很重要,mysql只能高效地使用索引的最左列前缀列. 2.索引是在存储引擎层而非服务器层实现的. 3.B-tree索引的限制: 如果 ...
随机推荐
- JS的ES6扩展
1.字符串扩展 1. includes(str) : 判断是否包含指定的字符串 2. startsWith(str) : 判断是否以指定字符串开头 3. endsWith(str) : 判断是否以指定 ...
- 第09组 Alpha冲刺(2/6)
队名:观光队 组长博客 作业博客 组员实践情况 王耀鑫 过去两天完成了哪些任务 文字/口头描述 完成服务器连接数据库部分代码 展示GitHub当日代码/文档签入记录 接下来的计划 服务器网络请求. 还 ...
- AttributeError: module ‘select’ has no attribute 'epoll’
场景:mac 下导入的 ‘select’ 包 import select,然后在 主函数 中创建的 epoll 对象 epl = select.epoll(),运行报错如下 Traceback (mo ...
- 倍增&矩阵乘法 专题复习
倍增&矩阵乘法 专题复习 PreWords 这两个基础算法我就不多说啦,但是还是要介绍一下" 广义矩阵 "乘法 其实就是把矩阵换成取\(max\),然后都一样... 据神仙 ...
- 运行时异常RuntimeException捕获的小测试
public class ExceptionTest { public static void main(String[] args) throws InterruptedException { ne ...
- [asm] 小菜汇编基础和学习技巧小结(一)
以下小结纯属小菜自学过程产生的dump,大神请飘过! 汇编是一门庞大复杂的学问,在计算机的世界里差不多无所不入.很多编程领域都会或多或少跟汇编打交道.本人不是科班出身的程序员,所以很多基础都为零,学历 ...
- 大牛总结的MySQL锁优化【转】
MySQL 就是其中之一,它经历了多个版本迭代.数据库锁是 MySQL 数据引擎的一部分,今天我们就一起来学习 MySQL 的数据库锁和它的优化. MySQL 锁分类 当多个事务或者进程访问同一个资源 ...
- supervisor配置进程
具体配置见此页面:https://www.jianshu.com/p/ac6c84a2f415 设置开机启动:https://blog.csdn.net/xyang81/article/details ...
- mybatis查询mysql的datetime类型数据时间差了14小时
场景: 数据库字段: mybatis使用 now() 生成时间. 结果: 使用mybatis查询mysql中的数据时,所有时间都比数据库时间多了14小时,考虑了一下,初步判定是系统时区的问题.因为my ...
- snf快速开发平台试用演示地址
BS演示地址: http://49.4.68.200:65432 administrator / Administrator snf-cs试用版本下载地址:https://pan.baid ...