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学习三(XML 映射配置文件)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- P1251 餐巾计划问题
P1251 餐巾计划问题 题目描述 一个餐厅在相继的 N 天里,每天需用的餐巾数不尽相同.假设第 iii 天需要 rir_iri块餐巾( i=1,2,...,N).餐厅可以购买新的餐巾,每块餐巾的费 ...
- 转发:python 装饰器--这篇文章讲的通俗易懂
转 http://www.cnblogs.com/wupeiqi/articles/4980620.html 1.必备 #### 第一波 #### def foo(): print 'foo' ...
- pandas读取excel中指定数据的行数
shuju = pd.read_excel(filename) loandata = pd.DataFrame(shuju) ncol = (len(loandata.keys())) data = ...
- Python---多线程(threading)
1. 概述 threading提供线程相关操作,python当前版本的多线程库没有实现优先级.线程组,线程也不能被停止.暂停.恢复和中断 threading提供的类: Thread,Lock,Rloc ...
- 转-HTTP POST GET SOAP本质区别详解
原文链接:HTTP POST GET SOAP本质区别详解 一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认 ...
- 无废话XML--XML约束(schema)
Schema 的由来 DTD 作为 XML 1.0 规范的重要组成部分, 对于 XML 文档的结构起到很好的描述作用. 但是,它也具有一些缺点,比如,它采用了非 XML 的语法规则.不支持数据类型. ...
- diff和patch命令(1)
1. diff是对两个集合的差运算,patch是对两个集合的和运算. 2. diff以逐行的方式,比较文本文件的异同处.所是指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录 ...
- 关于scanf,gets
1.用了gets后,假如你没有输入任何东西直接[enter],它将执行下一条命令 2.用了scanf后,直接按了[enter],它将换行并等待你的输入,直到你输入非[enter],再执行下一条命令. ...
- Python算法——二叉树
一.二叉树 from collections import deque class BiTreeNode: def __init__(self, data): self.data = data sel ...