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数据库基础(三)(操作数据表中的记录)的更多相关文章

  1. MYSQL操作数据表中的记录

    36:操作数据表中的记录插入记录   INSERT INTO 表名  VALUES();   或者INSERT 表名  VALUES();  UPDATE更新记录(单表更新)  DELETE删除记录( ...

  2. 操作数据表中的记录——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 ...

  3. MySQL基础(三)(操作数据表中的记录)

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

  4. MySQL 数据库恢复一张表中的数据

    如果使用 mysqldump -uroot -p123 user > test.sql备份了user数据库中的所有数据,但是当前只想要恢复该数据库的某张表数据,该怎么处理呢? 已知恢复整个数据库 ...

  5. MySQL(四) —— 操作数据表中的记录

    插入记录 INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... //法二: ...

  6. 【MySQL】(4)操作数据表中的记录

    1. 插入记录INSERT 方法一: INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),( ...

  7. mysql 操作sql语句 操作数据表中的内容/记录

    #3. 操作文件中的内容/记录 往哪张表去插入 insert into 表名指定字段(id,name) 插入要加values(针对前面字段插入)(2,mike); insert into t1(id, ...

  8. mysql操作数据表中的记录1

    一.插入记录INSERT ​ mysql> create TABLE users(    -> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMEN ...

  9. MySQL--4操作数据表中的记录小结

    最常用,最复杂的语句: 每一项的: 表的参照  From 条件    WHERE 进行记录的分组 GROUP BY 分组的时候对分组的条件进行设定  HAVING 对结果进行排序  ORDER BY ...

随机推荐

  1. IDEA关掉重复代码波浪线

    如图: File----Settings

  2. 简单谈谈python的反射机制

    转:http://www.jb51.net/article/87479.htm 本文主要介绍python中的反射,以及该机制的简单应用,熟悉JAVA的程序员,一定经常和Class.forName打交道 ...

  3. Azure Powershell使用已有特殊化非托管磁盘创建ARM虚拟机

    生成已有特殊化非托管磁盘的方法主要有如下两种: 1.使用StorageExplorer存储管理工具,复制特殊化磁盘到一个新的容器下 2.New Portal中删除虚拟机,默认vhd文件会保留在存储账号 ...

  4. Linux或Window是修改snmp的默认端口

    SNMP默认端口通讯使用 UDP 161,在安装一些监控软件的过程中,常常提示端口被占用等情况,下面说一下如何修改系统的默认SNMP端口 windows修改snmp端口 1 打开services文件 ...

  5. SQL 2005/2008 连接SQL 2000报18456错误

    在看文章前,你先看看下面这两个问题,考考你对MSSMS工具的掌握情况: 1: SQL 2005/2008 能连接 SQL 2000数据库服务器吗? 2: SQL 2000 能连接SQL 2005/20 ...

  6. java时间格式转化(毫秒 to 00:00)

    把秒数转换为%d:%02d:%02d 格式 private String stringForTime(int timeSec) { int totalSeconds = timeSec; int se ...

  7. 04_Javascript初步第三天

    事件 内联模型.脚本模型,DOM2级模型 <!--内联模型--> <input type="button" value="bt1" oncli ...

  8. <select>设置multiple="multiple"属性后 下拉框全部展开了 不再是折叠的怎么回事

    1 <select multiple="multiple" size="5"> <option>1</option> < ...

  9. 【转】用Linux命令行获取本机外网IP地址

    $ curl ifconfig.me $ curl icanhazip.com $ curl ident.me $ curl ipecho.net/plain $ curl whatismyip.ak ...

  10. 关于if和else嵌套—蛋疼

    嵌套使用的时候else if和else遵循就近原则,和上面最靠近该语句的if语句匹配,要把else if看成是一个整体.就这么干,这样好理解一点. 一个if...else if...else语句中可以 ...