增加内容:(基础命令)

1.表后增加主键alter table 表名 add primary key(字段);

在所有字段之后增加primary key选项:primary key(字段信息)

直接在需要当做主键的字段之后,增加primary key属性来确定主键

2.删除主键alter table 表名 drop primary key;

3.自动增长在字段之后增加一个属性auto_increment

4.修改自动增长 alter table 表名auto_increment = 值;

5.删除自动增长 如:alter table 表名 modify id int

6.查看自增长初始变量 show variables like 'auto_increment%';

7.添加唯一键(与主键基本一样)alter table 表名add unique key(字段列表);

8.删除唯一键 alter table 表名drop unique key; - - 错误的 唯一键可以有多个

alter table 表名drop index唯一键名字;

高级数据操作

1.多数据插入 insert into 表名 [(字段列表)] values(值列表), (值列表)…;

2.主键冲突更新insert into 表名 [(字段列表)] values(值列表)on duplicate key update字段 = 新值;

3.主键冲突替换replace into [(字段列表)] values(值列表); 干掉原来的数据,重新插入进去 与insert有点像 比insert效率低

4.蠕虫复制insert into 表名 [(字段列表)]select */字段列表 from 表; 测试表的压力

5.更新数据update表名 set 字段名 = 新值 [where 判断条件] limit 数量;(没有where是全表更新)

6.删除数据delete from 表名 [where 条件] [limit 数量];

7.重置自增长truncate 表名; ---> 相当于drop ---> 再create

8. 查询数据 select[select的选项 ]字段列表from 数据源where条件group by分组having条件order by排序limit限制;

Select选项:默认all 字段列表:字段名 [as] 别名 from数据源:from (select 字段列表 from 表) as 别名; 聚合函数:group_concat()为了将分组中指定的字段进行合并(字符串拼接)

9.分组排序group by 字段 [asc|desc],字段 [asc|desc]

10.回溯统计group by 字段 [asc|desc] withrollup;

11.联合查询select 语句默认:distinct

union [union 选项]

select 语句;

规则1、 在联合查询中,如果要使用order by,那么对应的select语句必须使用括号括起来

规则2、 orderby在联合查询中若要生效,必须配合使用limit:而limit后面必须跟对应的限制数量(通常可以使用一个较大的值:大于对应表的记录数的值)

12.连接查询 cross join:1 cross join2;

inner join : 1 [inner] join2 on匹配条件;不带条件就是交叉查询(避免)

outer join:主表 left join从表 on 连接条件;-- 外连接必须有on条件

外连接的特点:

1、 外连接中主表数据记录一定会保存:连接之后不会出现记录数少于主表的情况内连接可能

2、 左连接和连接其实可以互相转换,但是数据对应的位置(表顺序)会改变。

13. 标量子查询 select * from 数据源 where 条件判断 =/<> (select 字段名 from 数据源 where 条件判断); //注意,括号中标量子查询得到的结果只有一个值

14. 列子查询 主查询where 条件in (列子查询);

15. 行子查询 主查询where 条件[(构造一个行元素)] = (行子查询);

行元素:行元素对应的就是多个字段,多个字段“合起来”作为一个元素参与运算,把这种情况称之为行元素。

16. 表子查询 select 字段列表 from (表子查询) as 别名 [where] [group by] [having][order by] [limit];

17. exists子查询 where exists(查询语句); 查询返回的结果只有0或者1,1代表成立,0代表不成立

更多相关文章

  1. MySQL 分区表 partition线上修改分区字段,后续进一步学习partitio
  2. mysql 同一表中.两个字段值互相复制,从一个字段值复制到另一个
  3. MySQL 数据(字段)类型
  4. mysql中逗号分隔字段的更好替代方案
  5. mysql 常用字段和占用 字节数
  6. hibernate(*.hbm.xml)中新添加的字段被标记为红色(找不到)的解决方法
  7. 获取项目列表的更好方法:缓存序列化数据与数据库查询或其他?
  8. 保持最新的一个字段值,直到它发生变化,然后保持其最新的字段值
  9. 如何从php中的数据库表创建表单下拉列表?

随机推荐

  1. MySQL数据类型中DECIMAL的作用和用法
  2. mysql莫名问题 ERROR 1045 (28000): Acce
  3. oracle和mysql的几点重要区别总结
  4. MySQL 运算符和函数
  5. Mysql:设置0000-00-00为null
  6. 将数据存入mysql中
  7. mysql 的完整性约束 与单表查询
  8. 再论mysql线程出现Waiting for table flu
  9. PHP解析错误:语法错误,意外的T_VARIABLE
  10. 坚持一个简单的查询 - OUTER JOIN