美文网首页
chap04 操作数据表中的记录

chap04 操作数据表中的记录

作者: 月涩风潇 | 来源:发表于2018-10-23 21:24 被阅读0次

1. 回顾与概述

约束:

  • 表级约束
  • 列级约束

数据表

2. MySQL插入记录INSERT

插入记录INSERT [INFO] tb1_name [(col_name, ...)] { values | value } ( { expr | DEFAULT },...), (...), ... )

创建数据表 插入相关数据并展示 添加数据项 年龄有默认值

一次性写入多条记录
INSERT user VALUES ( DEFAULT, 'Tom', '123', 3*7-5, 1), ( NULL, 'Rose', md5('123'), DEFAULT , 0 );
md5:PHP中123字符串的哈希值
值、函数、默认值、空值都可以填入

此处问题未解决

3. MySQL插入记录INSERT SET-SELECT

INSERT [ INFO ] tb1_name SET col_name={expr | DEFAULT }, ...
与第一种方式的区别在于,此方法可以使用子查询( SubQuery )

插入

INSERT [ INFO ] tb1_name [ (col_name, ... ) ] SELECT ...
说明:此方法可以将查询结果插入到指定的数据表

4. MySQL单表更新记录UPDATE

更新记录(单表更新)
UPDATE [ LOW_PRIOITITY ] [ IGNORE ] table_reference SET col_name1={ expr | DEFAULT } [ , col_name2 = { expr2 | DEFAULT } } [ WHERE where_condition ]

age+5 更改age和sex

更新过程中添加条件(id号为偶数用户年龄+10)


增加条件

5. MySQL单表删除记录DELETE

删除记录(单表删除)
DELETE FROM tb1_name [ WHERE where_condition ]

id为6的元素被删除 编号

已有的最大id号+1

6. MySQL查询表达式解析

查找记录
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 { [ offsets, ] row_count | row_count OFFSET offset }]} ]

SELECT VERSION();
SELECT NOW();
SELECT 3+5;

验证

查询表达式

  • 每个表达式表示想要的一列,必须有至少一个
  • 多个列之间用英文逗号分隔
  • 星号()表示所有列tb1_name,可以表示命名表的所有列
  • 查询表达式可以用[ AS ] alias_name 为其赋予别名
  • 别名可用于GROUP BY, ORDER BY 或 HAVING 字句

可以与原表中数据不一致,且影响结果的顺序

具体制定某一个数据表用点运算符

别名(某些字段名)


别名 为字段设置别名 使用别名时强烈要求加上AS关键字

7. MySQL where语句进行条件查询

条件表达式
对记录进行过滤,如果没有指定WHERE字句,则显示所有记录
WHERE表达式中,可以使用MySQL支持的函数或运算符
若无WHERE字句,则对应改变所有的记录

8. MySQL group by 语句对查询结果分组

查询结果分组
[ GROUP BY { col_name | position } [ ASC | DESC }, ... ]


按照性别来分组

9. having语句设置分组条件

分组条件 [ HAVING where_condition ]


分组条件

在使用HAVING进行分组条件的指定时,要么保证这个字段出现在当前的SELECT语句中,要么采用一个聚合函数,min, max, avg, count, sum,(永远只有一个返回值)否则会出现错误。

添加age

id字段未出现在查找字段内,但出现在一个聚合函数中

聚合函数

10. order by 语句对查询结果排序

对查询结果进行排序
ORDER BY { col_name | expr | position } [ ASC | DESC ] , ...

针对id字段降序排列

首先看第一个字段,若第一个字段已经得到了想要的结果,则可以忽略第二个字段。若根据第一个字段无法啊得到想要的结果,则看第二个,第三个。。。

按照年龄的升序排列 age相同则按照id降序排列

11. limit 语句限制查询数量

限制查询结果返回的数量
[ LIMIT { [ offset ] row_count | row_count OFFSET offset } ]

8条数据中指向得到两条数据


返回前两条数据 从序号为3开始的两条数据

注意下标是从零开始编号的。

验证

插入记录
INSERT [ INFO ] tb1_name SET col_name = { expr | DEFAULT },...
说明:与第一种方式的区别在于,此方法可以使用子查询(SubQuery)

image.png t1中有两个字段却只插入了一个值 将查询的结果写入指定的数据表
user表中查询age>=30的元素的username字段的内容,并将查询到的结果插入到t1表的username字段中,id字段取默认值,为主键,自增。

12. 小结

数据记录的增、删、改、查
INSERT
UPDATE
DELETE
SELECT

相关文章

  • chap04 操作数据表中的记录

    1. 回顾与概述 约束: 表级约束 列级约束 数据表 2. MySQL插入记录INSERT 插入记录INSERT ...

  • 14.SQL语句设计

    操作数据表中的数据记录(DML语句) 使用INSERT语句向数据表中添加数据 插入数据是向已经存在的数据表中添加一...

  • MySQL学习笔记(三)修改操作、查询数据表

    操作数据表中的记录 插入操作 单表更新 单表删除 查询记录 where 条件表达式: 查询结果分组 GROUP B...

  • 7.MySQL入门

    1. 数据库操作 2. MySQL 管理 用戶管理 数据表操作 创建数据表 查看数据表 插入记录 更新記錄 刪除記...

  • Python 高级 14(2)数据库增删改查

    数据表操作、DDL 数据表的增删改、DML 数据表中数据的增删改、MySQL 常用字段类型 2.4 数据表操作 学...

  • 4、操作数据表中的记录

    语法结构: 示例: 4、操作数据表中的记录 4.1、插入记录的三种方法 4.1.1、 INSERT 语句 INSE...

  • MySQL的数据表操作

    数据表操作 每一张数据表都相当于一个文件,在数据表中又分为表结构与表记录。 表结构:包括存储引擎,字段,主外键类型...

  • 操作数据表中的记录

    insert users3 values(default,'tom','123',default,1);单个ins...

  • 操作数据表中的记录

    插入记录: insert 表名 values();自动编号的字段可以 赋值为nul 或 default in...

  • 操作数据表中的记录

    原始表user3 一、插入记录 1、标准插入 INSERT [INTO] table_name [(col_nam...

网友评论

      本文标题:chap04 操作数据表中的记录

      本文链接:https://www.haomeiwen.com/subject/csqnaftx.html