插入记录①

INSERT [INTO] tbl_name [(col_name,…)] {VALUES | VALUE} ({expr | DEFAULT},…),(…),…

可以用表达式或者DEFAULT来赋值

可以用DEFAULT给自增字段,或者DEFAULT字段赋值

可以用NULL给自增字段赋值

插入多条记录

插入记录②←此种方法可以使用子查询(SubQuery),使用较少,不支持一次插入多条

INSERT [INTO] tbl_name SET col_name = {expr | DEFAULT},…

插入记录③←此方法可以将查询结果写入到指定数据表

INSERT [INTO] tbl_name [(col_name,…)] SELECT …

eg.INSERT test(username) SELECT username FROM users WHERE age >= 30;


 单表操作

更新记录①←单表

UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1 = {expr1 | DEFAULT} [,col_name2={expr2 | DEFAULT}]…[WHERE where_condition](←省略where条件则将会更新所有的记录)

eg1.更新年龄,在原有年龄上增加5岁

eg2.当前age更新为age减去当前id的值,sex更新为0

eg3.(更新过程中加条件)id为偶数的年龄加10

删除记录①←单表删除

DELETE FROM tbl_name [WHERE where_condition]

eg1.DELETE FROM users WHERE id=6;


重点

查找记录

SELECT select_expr [, select_expr …]

[

FROM table_references

[WHERE where_condition]

[GROUP BY {col_name | position} [ASC | DESC], …]

[HAVING where_condition]

[ORDER BY {col_name | expr | position} [ASC | DESC], …]

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

]

①select_expr 查询表达式←查询表达式的顺序将影响结果的顺序,别名最好前加AS

用逗号分隔;*表示所有列;多表连接时用表名.字段名连接;使用[AS] alias_name赋予别名(当字段名称太长的时候比较常用),别名可以使用在GROUP BY,ORDER BY中。

②WHERE表达式:可以使用MySQL支持的函数或者运算符

③GROUP BY:查询结果分组(字段必须都在select语句中,多和聚合函数搭配使用)

ASC:默认,升序

DESC:降序

④HAVEING:分组条件指定

分组条件为聚合函数,或者字段必须出现在当前的select语句中

聚合函数:

1. AVG  返回指定组中的平均值,空值被忽略。
例:select prd_no,avg(qty) from sales group by prd_no 2. COUNT 返回指定组中项目的数量。
例:select count(prd_no) from sales 3. MAX 返回指定数据的最大值。
例:select prd_no,max(qty) from sales group by prd_no 4. MIN 返回指定数据的最小值。
例:select prd_no,min(qty) from sales group by prd_no 5. SUM 返回指定数据的和,只能用于数字列,空值被忽略。
例:select prd_no,sum(qty) from sales group by prd_no 6. COUNT_BIG 返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。
例:select count_big(prd_no) from sales 7. GROUPING 产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1.当所添加的行不是由CUBE或ROLLUP产生时,输出值为0.
例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup 8. BINARY_CHECKSUM 返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。
例:select prd_no,binary_checksum(qty) from sales group by prd_no 9. CHECKSUM_AGG 返回指定数据的校验值,空值被忽略。
例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no 10. CHECKSUM 返回在表的行上或在表达式列表上计算的校验值,用于生成哈希索引。 11. STDEV 返回给定表达式中所有值的统计标准偏差。
例:select stdev(prd_no) from sales 12. STDEVP 返回给定表达式中的所有值的填充统计标准偏差。
例:select stdevp(prd_no) from sales 13. VAR 返回给定表达式中所有值的统计方差。
例:select var(prd_no) from sales 14. VARP 返回给定表达式中所有值的填充的统计方差。
例:select varp(prd_no) from sales

⑤ORDER BY:根据查询结果进行排序

升序;降序

eg.SELECT * FROM users ORDER BY id DESC;

多字段排序

eg. SELECT * FROM users ORDER BY age, id DESC;

先根据age升序排一次,然后再此基础上根据id降序排列

⑥LIMIT:限制查询结果返回的数量(实现分页效果,偏移值公式为(当前页码-1)*每页显示的记录数)

eg1.SELECT * FROM users LIMIT 2;

从第0条开始返回两条记录

LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。

mysql> SELECT * FROM table LIMIT 5,10;  // 检索记录行 6-15

//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: 
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.

//如果只给定一个参数,它表示返回最大的记录行数目: 
mysql> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行

//换句话说,LIMIT n 等价于 LIMIT 0,n。

MySQL学习笔记(4)的更多相关文章

  1. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  2. MySQL学习笔记一

    MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...

  3. Mysql学习笔记(二)数据类型 补充

    原文:Mysql学习笔记(二)数据类型 补充 PS:简单的补充一下数据类型里的String类型以及列类型... 学习内容: 1.String类型 2.列类型存储需求 String类型: i.char与 ...

  4. Mysql学习笔记(一)数据类型

    原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型     Mysql数据类型             含义(有符号)     tinyint(m ...

  5. 初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

  6. MySQL学习笔记-锁相关话题

    在事务相关话题中,已经提到事务隔离性依靠锁机制实现的.在本篇中围绕着InnoDB与MyISAM锁机制的不同展开,进而描述锁的实现方式,多种锁的概念,以及死锁产生的原因.   Mysql常用存储引擎的锁 ...

  7. MySQL学习笔记-事务相关话题

    事务机制 事务(Transaction)是数据库区别于文件系统的重要特性之一.事务会把数据库从一种一致状态转换为另一个种一致状态.在数据库提交工作时,可以确保其要么所有修改都已经保存了,要么所有修改都 ...

  8. MySQL学习笔记-数据库文件

    数据库文件 MySQL主要文件类型有如下几种 参数文件:my.cnf--MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类 ...

  9. MySQL学习笔记-数据库内存

    数据库内存 InnoDB存储引擎内存由以下几个部分组成:缓冲池(buffer pool).重做日志缓冲池(redo log buffer)以及额外的内存池(additional memory pool ...

  10. MySQL学习笔记-数据库后台线程

    数据库后台线程 默认情况下讲述的InnoDB存储引擎,以后不再重复声明.后台线程有7个--4个IO thread,1个master thread,1个锁监控线程,1个错误监控线程.IO thread的 ...

随机推荐

  1. rsyslog 日志服务器端配置

    $EscapeControlCharactersOnReceive off #关闭rsyslog默认转译ASCII<32的所有怪异字符,包括换行符等 $template tocFormat,&q ...

  2. Windows Azure 社区新闻综述(#68 版)

    欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure 的社区推动新闻.内容和对话. 以下是过去一周基于您的反馈汇集在一起的内容: 文章.视频和博客文章 在 Windows Az ...

  3. Dialog 顶部黑线问题

    Dialog 顶部黑线问题 样式如下: [java] view plaincopyprint? <style name="Transparent_Dialog"> &l ...

  4. 面向连接的socket数据处理过程以及非阻塞connect问题

    对于面向连接的socket类型(SOCK_STREAM,SOCK_SEQPACKET)在读写数据之前必须建立连接,首先服务器端socket必须在一个客户端知道的地址进行监听,也就是创建socket之后 ...

  5. AOJ 2249 Road Construction(Dijkstra+优先队列)

    [题目大意] http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2249 [题目大意] 一张无向图,建造每条道路需要的费用已经给出, 现 ...

  6. ASP.NET mvc4 WEB API异常处理

    当一个web api抛出一个异常后 此异常会被转化成一个HTTP响应 错误代码为500的服务错误 但是如果你不想让客户端看到500的错误码 你也可以自定义错误码 如下代码当用户输入的ID没有与之相关的 ...

  7. iOS开发中视图相关的小笔记:push、modal、popover、replace、custom

    在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的. 在iphone中,segue有:push,modal,和custom三种不同的类型, ...

  8. 重写equal要重写 hashCode的原因

    public class Test { public static void main(String[] args) { Person person1 = new Person(); person1. ...

  9. DML

    DML(Data Manipulation Language 数据操控语言),使用insert.update.delete进行数据库的操作.DML一:插入语句 标准的插入语句 insert into ...

  10. SQL Server执行计划那些事儿(3)——书签查找

    接下来的文章是记录自己曾经的盲点,同时也透漏了自己的发展历程(可能发展也算不上,只能说是瞎混).当然,一些盲点也在工作和探究过程中慢慢有些眉目,现在也愿意发扬博客园的奉献精神,拿出来和大家分享一下. ...