(php)mysql主键及高级操作 摘要
2015-09-29 22:11
483 查看
1.主键默认不为空;
2.增加主键:alter table (表名)add primary key(字段);
3.删除主键alter table (表名)drop primary key(字段);主键要先删除再增加;
4.key是一个索引,auto_increment必须是索引;必须是数字,最多只能一个自增长;
5.自增如果输入的id超过原先最大,就直接跳过,下次再自增(最大+1);
6.auto_increment修改表选项的话必须修改更大,不能更小;
7.会话级就是关闭mysql之后,一切又变回原来;
8.modify来修改自增长,alter table (表名) modify id int ;主键是单独存在,有主键的时候不要再加主键;
9.unique key 可以解决一张表有多个唯一键,因为primary只允许有一个 唯一;区别:允许为空(多个);
删除唯一键:Alter table 表名 drop index 索引名字;
10.unique+not null 会显示pri;但是它不是主键;
11.几乎所有的索引都建立在字段之上,增加索引本身会产生文件。非常耗空间;
12.范式只为解决空间问题,分为六层,一般只有前三种范式需要满足;1NF就是要让数据不可再分;(具有原子性)
13.2NF就是解决部分依赖,只要不存在复合主键就满足2nf,可以使用逻辑主键让部分依赖逻辑主键;
14.3NF就是要解决传递依赖的问题;将部分依赖的独立出来前面加上逻辑主键,逻辑id就代表对应的依赖关系。将逻辑id返回原表格即可解决传递依赖;(3nf其实就是将有联系的两个或者n个独立出来,给它个代号,把代号传回原来的表格)
15.逆规范化就是为了效率牺牲磁盘冗余,简单理解就是直接将要了解的信息表直接给信息 而不是给逻辑id;
16.蠕虫复制的意义,1.从已有表拷贝数据到新表2.迅速增加,可以测试表的压力;insert into (新表名) select * from (要复制的表名);
17.数据如果删除,下个自增长不变;因为自增长已上传到表选项了;
18.truncate (表名);清空表。重置表数据,重置表数据;
19.distinct 去重 放在 * 的位置;
20.select id,name,class from my_class=>select id as number,
name as 姓名 。。。from。。。改字段别名
19.查询数据:select
20.select sex,count(*),max(height),min(height),avg(age),sum(age) from my_student group by sex; 分组
21.有一个函数: 可以对分组的结果中的某个字段进行字符串连接(保留该组所有的某个字段): group_concat(字段);
22.回溯统计=》汇报统计。汇报领导总的有多少个,其中哪个分组中又有多少个;
23.having先分组再计算,where则不行;
24.where是从磁盘取数据,别名查找是在磁盘读取之后才有;where不能查找别名而having可以;
25.group by分组后取第一条记录;
26.limit记录是从0开始;
27.Where子句返回结果: 0或者1, 0代表false,1代表true.
2.增加主键:alter table (表名)add primary key(字段);
3.删除主键alter table (表名)drop primary key(字段);主键要先删除再增加;
4.key是一个索引,auto_increment必须是索引;必须是数字,最多只能一个自增长;
5.自增如果输入的id超过原先最大,就直接跳过,下次再自增(最大+1);
6.auto_increment修改表选项的话必须修改更大,不能更小;
7.会话级就是关闭mysql之后,一切又变回原来;
8.modify来修改自增长,alter table (表名) modify id int ;主键是单独存在,有主键的时候不要再加主键;
9.unique key 可以解决一张表有多个唯一键,因为primary只允许有一个 唯一;区别:允许为空(多个);
删除唯一键:Alter table 表名 drop index 索引名字;
10.unique+not null 会显示pri;但是它不是主键;
11.几乎所有的索引都建立在字段之上,增加索引本身会产生文件。非常耗空间;
12.范式只为解决空间问题,分为六层,一般只有前三种范式需要满足;1NF就是要让数据不可再分;(具有原子性)
13.2NF就是解决部分依赖,只要不存在复合主键就满足2nf,可以使用逻辑主键让部分依赖逻辑主键;
14.3NF就是要解决传递依赖的问题;将部分依赖的独立出来前面加上逻辑主键,逻辑id就代表对应的依赖关系。将逻辑id返回原表格即可解决传递依赖;(3nf其实就是将有联系的两个或者n个独立出来,给它个代号,把代号传回原来的表格)
15.逆规范化就是为了效率牺牲磁盘冗余,简单理解就是直接将要了解的信息表直接给信息 而不是给逻辑id;
16.蠕虫复制的意义,1.从已有表拷贝数据到新表2.迅速增加,可以测试表的压力;insert into (新表名) select * from (要复制的表名);
17.数据如果删除,下个自增长不变;因为自增长已上传到表选项了;
18.truncate (表名);清空表。重置表数据,重置表数据;
19.distinct 去重 放在 * 的位置;
20.select id,name,class from my_class=>select id as number,
name as 姓名 。。。from。。。改字段别名
19.查询数据:select
20.select sex,count(*),max(height),min(height),avg(age),sum(age) from my_student group by sex; 分组
21.有一个函数: 可以对分组的结果中的某个字段进行字符串连接(保留该组所有的某个字段): group_concat(字段);
22.回溯统计=》汇报统计。汇报领导总的有多少个,其中哪个分组中又有多少个;
23.having先分组再计算,where则不行;
24.where是从磁盘取数据,别名查找是在磁盘读取之后才有;where不能查找别名而having可以;
25.group by分组后取第一条记录;
26.limit记录是从0开始;
27.Where子句返回结果: 0或者1, 0代表false,1代表true.
相关文章推荐
- ftp命令详解
- 95 php combol_url()
- PHPMailer
- PHP+Xdebug实现远程调试
- 【PHP】编译安装 PHP5.6.13遇到问题以及解决方案
- SCTP协议及偶联
- php
- php-fpm中启用慢日志配置
- PHP接口的实现(转)(笔记)
- 用PHP访问远程文件
- ubuntu 安装pure-ftp
- [PHP]Mcrypt响应慢的原因解决备注
- ubuntu php执行计划任务
- 解决php表单重复提交实现方法
- 让你的PHP更安全之PHP.ini
- 修改Zend引擎实现PHP源码加密的原理及实践
- matplotlib basic and boxplot
- PHP 错误级别
- PHP开发学习——文件上传(move_uploaded_file)
- PHP抓取采集类snoopy介绍