MySQL数据库基础(三)(操作数据表中的记录)
1.插入记录INSERT
命令:
,expr:表达式
注意:如果给主键(自动编号的字段)赋值的话,可以赋值‘NULL’或‘DEFAULT’,主键的值仍会遵守默认的规则;如果省略列名的话,所有的字段必须一次赋值。


INSERT SET(用的较少,一次只能插入一条记录)
命令:


插入记录INSERT SELECT
命令:

2.单表更新记录UPDATE
命令:



3.单表删除记录DELETE
命令:,如果省略where条件,将删除数据表中的全部记录
注意:当删除id号以后,即使id号不连续,新增记录的id号仍是已有的最大id号加1,并不是去补充删除了的id号
4.查询表达式解析

曾经有人这样经过,针对数据表的操作,SELETE语句的使用会占到80%以上的使用率;这样说也不为过,因为更多的时候是对数据表中的记录进行查找;
查询表达式的顺序会影响到查询结果的顺序;使用tbl_name.*是为了区分不同数据表中存在相同字段的情况;赋予别名的时候,强烈建议要加上【AS】;
5.where语句进行条件查询

6.group by语句对查询结果分组
命令:SELECT col_name FROM tbl_name GROUP BY {col_name|position} [ASC|DESC],...; 其中ASC(升序)是默认的,DESC(降序)
'1'表示SELECT后面的第一个字段;注意:尽量去指定字段的名称,不要去指定字段的位置,因为位置需要人为的数一数得到,比较麻烦;
7.having语句设置分组条件
命令: SELECT col_name FROM tbl_name GROUP BY {col_name|position} [HAVING where_condition] [ASC|DESC],...;其中分组条件“where_condition”要保证以下条件中的至少一个:1.是聚合函数的形式;2.“where_condition”中的字段同时写在“SELECT col_name ”后;常见的聚合函数有:count()求个数,sum()求和, avg()求平均数,min()最小值,max()最大值;所谓聚合函数,就是计算结果永远指向一个特定值。
8.order by语句对查询结果排序
命令: SELECT col_name FROM tbl_name ORDER BY {col_name|expr|position} [ASC|DESC],...];

上图中SELECT * FROM users3 ORDER BY age,id DESC;命令的执行过程:先按照age做升序排列,在此基础上再做id的降序排列;
9.limit语句限制查询数量
命令: SELECT col_name FROM tbl_name LIMIT {[offset,] row_count|row_count OFFSET offset};

从上图中可以得出结论:1.表中的记录是从“0”开始排序的,所以要返回第3、4条记录,应该写成“LIMIT 2,2;” 2.记录编号与结果集中id号的排列顺序没有关系;

从上图中可以得出结论:INSERT...SELECT...FROM语句可以把一张表中的结果写入到另一张表里;


MySQL数据库基础(三)(操作数据表中的记录)的更多相关文章
- MYSQL操作数据表中的记录
36:操作数据表中的记录插入记录 INSERT INTO 表名 VALUES(); 或者INSERT 表名 VALUES(); UPDATE更新记录(单表更新) DELETE删除记录( ...
- 操作数据表中的记录——SELECT (where表达式、GROUP BY、HAVING、LIMIT)
原文链接:http://www.ifyao.com/2015/01/26/%E6%93%8D%E4%BD%9C%E6%95%B0%E6%8D%AE%E8%A1%A8%E4%B8%AD%E7%9A%84 ...
- MySQL基础(三)(操作数据表中的记录)
1.插入记录INSERT 命令:,expr:表达式 注意:如果给主键(自动编号的字段)赋值的话,可以赋值‘NULL’或‘DEFAULT’,主键的值仍会遵守默认的规则:如果省略列名的话,所有的字段必须一 ...
- MySQL 数据库恢复一张表中的数据
如果使用 mysqldump -uroot -p123 user > test.sql备份了user数据库中的所有数据,但是当前只想要恢复该数据库的某张表数据,该怎么处理呢? 已知恢复整个数据库 ...
- MySQL(四) —— 操作数据表中的记录
插入记录 INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... //法二: ...
- 【MySQL】(4)操作数据表中的记录
1. 插入记录INSERT 方法一: INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),( ...
- mysql 操作sql语句 操作数据表中的内容/记录
#3. 操作文件中的内容/记录 往哪张表去插入 insert into 表名指定字段(id,name) 插入要加values(针对前面字段插入)(2,mike); insert into t1(id, ...
- mysql操作数据表中的记录1
一.插入记录INSERT mysql> create TABLE users( -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMEN ...
- MySQL--4操作数据表中的记录小结
最常用,最复杂的语句: 每一项的: 表的参照 From 条件 WHERE 进行记录的分组 GROUP BY 分组的时候对分组的条件进行设定 HAVING 对结果进行排序 ORDER BY ...
随机推荐
- 2.supervisor实时监控程序存活状态
1.supervisor是一款python开发的一个client/server服务,是一款进程管理工具,支持linux/unix系统,但是不支持windows系统. 它可以很方便的监听.启动.停止.重 ...
- oracle03
(1)表中数据操作 插入数据: a.插入单条 insert into myemp(empno,ename) values(1111,'张三'); b.批量插入 insert into myemp se ...
- 关于多台机器之前session共享,sessionState mode="StateServer" 问题的困扰
.net 多台机器共享session是很老的技术,一直很少用到session. 最近就出现了一个问题:三台前端,其中一台保存的session值死活不对,一样的环境,一样的配置文件,就是和另外两台获得的 ...
- 要学的东西太多了,还想学习opencv
资料先放这里,以后好好学 http://m.blog.csdn.net/column/details?alias=opencv-tutorial eclipse加载opencv库成功! B站视频教程资 ...
- nginx添加编译lua模块
一 .安装LuaJit 1.下载LuaJit # wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz 2.编译安装 # tar xzvf LuaJI ...
- linux_系统调优
linux如何调优? 1. 关闭SELLinux功能,美国国家安全局对于强制访问控制实现,生产场景也是关闭 cat /etc/selinux/config | grep '^SELINUX=' # 查 ...
- synchronized内存可见性理解
一.背景 最近在看<Java并发编程实战>这本书,看到共享变量的可见性,其中说到"加锁的含义不仅仅局限于互斥行为,还包括内存可见性". 我对于内存可见性第一反应是vol ...
- zookeeper 实现分布式锁zookeeper 使用 Curator 示例监听、分布式锁
下载地址: http://download.csdn.net/download/ttyyadd/10239642
- 不免费的PacMan
课程内容介绍: 本套课程适合以下人士: - 免费资料没教会你游戏开发的: - 学了Unity基础不知道怎么用在游戏项目里的: - 想快速开发一款好玩的游戏的: - 想学游戏不知道如何入门的: - 对游 ...
- Sorting Slides(二分图匹配——确定唯一匹配边)
题目描述: Professor Clumsey is going to give an important talk this afternoon. Unfortunately, he is not ...