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 ...
随机推荐
- Java数据持久层框架 MyBatis之API学习六(Mapper XML 文件详解)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- SuperSocket基础一
SuperSocket基础(一)——————基本概念 项目中之前一直使用TCP socket服务框架,但是不利于扩展.最近刚接触到开源的superSocket感觉很不错,特记录一下.官方开源地址:ht ...
- Linux安装mysql 在/etc下没有my.cnf 解决办法
进入 /usr/share/mysql 将my-medium.cnf 移动到etc 并且改名为my.cnf
- -bash: warning: setlocale: LC_CTYPE: cannot change locale (EN_US.UTF-8): No such file or directory
出问题原因: 通过 su - 切换用户时候,LANG设置为en或者设置错误,切换角色会出现这个错误 如何解决? echo $LANG # 查看 LANG 参数 sed 's#LANG=en#LANG= ...
- 转-HTTP POST GET SOAP本质区别详解
原文链接:HTTP POST GET SOAP本质区别详解 一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认 ...
- try{}catch(e){}不能捕获到异常
只能捕获到ReferenceError异常,I don't know why. try{ aa();//这是一个未被定义的方法 }catch(e){ if(e instanceof Reference ...
- 搭建yum仓库与定制rpm包
笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 当我们自动化部署集群的时候,想要快速的安装所有服务,搭建yum仓库与定制rpm包是我们首先要做的 原创作品,转载请 ...
- 【COOKIE 与 SESSION】
一.相关概念 cookie的出现,解决http协议无状态特性 由于http协议无法保持状态,但实际情况,我们却又需要"保持状态",因此cookie就是在这样一个场景下诞生. 举例: ...
- Core Animation 文档翻译 (第六篇)
高级动画技巧 配置属性动画或者关键帧动画的方式是多种多样的.需要同时执行多个动画或者顺序执行多个动画的APP,可以通过高级的方式同步这些动画的timing或者将这些动画绑定在一起.我们也可以使用其 ...
- Erlang调度器细节探析
Erlang调度器细节探析 Erlang的很多基础特性使得它成为一个软实时的平台.其中包括垃圾回收机制,详细内容可以参见我的上一篇文章Erlang Garbage Collection Details ...