操作数据表中的笔录,前端学数据库之记录操作

眼下的话

  本文将详细介绍mysql关于记录的增加和删除改查

 

前面包车型地铁话

  本文将详细介绍mysql关于记录的增加和删除改查

 

前者学数据库之记录操作,前端数据库记录

×


安排记录

INSERT [INTO] tbl_name [(col_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...

  首先,创立八个简短的数据表

997755.com澳门葡京 1

  假设轻松col_name,则意味着全体的字段根据顺序依次赋值。因为id字段是机动编号的,该字段能够赋值为NULL或DEFAULT

997755.com澳门葡京 2

997755.com澳门葡京 3

  通过逗号分隔,能够一次性写入多条记下;而且,值能够应用表达式表示

997755.com澳门葡京 4

  数据库并不曾布尔类型BOOLEAN,假诺注解类型为BOOLEAN,则会被调换为TINYINT类型,true转变为1,false调换为0

997755.com澳门葡京 5

 

方法二

INSERT [INTO] tb1_name SET col_name={expr|DEFAULT},...

  与第一种办法的差别在于,此措施能够使用子查询(SubQuery),以及一遍性只好插入一条记下

997755.com澳门葡京 6

 

方法三

INSERT [INTO] tb1_name [(col_name,...)] SELECT ...

  此办法能够将查询结果插入到钦命数据表

 

插入记录

INSERT [INTO] tbl_name [(col_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...

  首先,成立贰个简短的数据表

997755.com澳门葡京 7

  借使轻便col_name,则代表全数的字段依照顺序依次赋值。因为id字段是机动编号的,该字段能够赋值为NULL或DEFAULT

997755.com澳门葡京 8

997755.com澳门葡京 9

  通过逗号分隔,能够三回性写入多条记下;而且,值能够采纳表明式表示

997755.com澳门葡京 10

  数据库并未布尔类型BOOLEAN,借使注明类型为BOOLEAN,则会被转变为TINYINT类型,true调换为壹,false调换为0

997755.com澳门葡京 11

 

方法二

INSERT [INTO] tb1_name SET col_name={expr|DEFAULT},...

  与第二种办法的差异在于,此措施能够使用子查询(SubQuery),以及三次性只可以插入一条记下

997755.com澳门葡京 12

 

方法三

INSERT [INTO] tb1_name [(col_name,...)] SELECT ...

  此格局能够将查询结果插入到钦命数据表

 

目录

[1]插入记录 [2]立异记录 [3]去除记录[4]查询表达式[5]结果管理

1、插入记录INSERT

安插记录
INSERT [INTO] tbl_name [(col_name,……)] {VALUES | VALUE} ({expr |
DEFAULT},……),(……),……

创办一张新的数据表“users”用于演示:

997755.com澳门葡京 13

如果不点名字段,就要为具备字段赋值,而“id”字段是自行赋值,由此得以将其赋值为“NULL”或“DEFAULT”,都足以有限援救原有自增的号子:

997755.com澳门葡京 14

  其次,记录除了直接填入值之外,还足以写入表明式;而且对于有暗中同意值的字段,能够利用“DEFAULT”来取得暗中认可值,同时能够一次性插入多条记下:

997755.com澳门葡京 15


革新记录

UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]...[WHERE where_condition]

  能够2次立异多条记下;当省略WHERE条件时,全部记录的值将会更新

  下边将全数人的年美国首都扩大6周岁

997755.com澳门葡京 16

  下边将全部人的年华更新为原上年龄减去其id值,将全数人的性别改成0

997755.com澳门葡京 17

  上面将持有id值为偶数的人的年龄加10周岁

997755.com澳门葡京 18

 

履新记录

UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]...[WHERE where_condition]

  能够三次立异多条记下;当省略WHERE条件时,全部记录的值将会更新

  下边将全数人的岁数都加多5虚岁

997755.com澳门葡京 19

  上边将全部人的年龄更新为原前年龄减去其id值,将全体人的性别改成0

997755.com澳门葡京 20

  上面将有所id值为偶数的人的岁数加十岁

997755.com澳门葡京 21

 

眼下的话

  本文将详细介绍mysql关于记录的增加和删除改查

 

二、插入记录INSERT SET/SELECT

安插记录
INSERT [INTO] tbl_name SET col_name = {expr | DEFAULT},……
与上一艺术的区分在于此办法能够行使子查询(SubQuery),但该办法二回只好插入一条记下。

出于“age”字段有暗中认可值,由此得以不写入值:

997755.com澳门葡京 22

布署记录
INSERT [INTO] tbl_name [(col_name,……)] SELECT ……
此措施能够将查询结果插入到钦点数据表。

创设一张新数据表“test”用于存放查询结果,将“users”数据表中年龄大于等于20岁的用户增龙潜月“test”数据表中:

997755.com澳门葡京 23

瞩目保管字段的相当,比如“test(username)”


剔除记录

DELETE FROM tbl_name [WHERE where_condition]

997755.com澳门葡京 24

  [注意]剔除某条记下后,再插入一条新的笔录,自动编号不会补到删除记录的号码上,而是基于原有记录最大编号继续加码

997755.com澳门葡京 25

 

删去记录

DELETE FROM tbl_name [WHERE where_condition]

997755.com澳门葡京 26

  [注意]除去某条记下后,再插入一条新的笔录,自动编号不会补到删除记录的号子上,而是基于原有记录最大编号继续加码

997755.com澳门葡京 27

 

插入记录

INSERT [INTO] tbl_name [(col_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...

  首先,创制一个轻便易行的数据表

997755.com澳门葡京 28

  假诺简单col_name,则表示全数的字段遵照顺序依次赋值。因为id字段是自行编号的,该字段能够赋值为NULL或DEFAULT

997755.com澳门葡京 29
997755.com澳门葡京 30

  通过逗号分隔,能够1回性写入多条记下;而且,值能够行使表明式表示

997755.com澳门葡京 31

  数据库并未有布尔类型BOOLEAN,若是申明类型为BOOLEAN,则会被改动为TINYINT类型,true转换为一,false调换为0

997755.com澳门葡京 32

 

方法二

INSERT [INTO] tb1_name SET col_name={expr|DEFAULT},...

  与第3种方法的分歧在于,此办法可以使用子查询(SubQuery),以及3次性只可以插入一条记下

997755.com澳门葡京 33

 

方法三

INSERT [INTO] tb1_name [(col_name,...)] SELECT ...

  此办法能够将查询结果插入到钦定数据表

 

三、单表更新记录UPDATE

更新记录
UPDATE [操作数据表中的笔录,前端学数据库之记录操作。LOW_PRIORITY] [IGNORE] table_reference SET
col_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}]……[WHERE
where_condition]
假如不加多“[WHERE where_condition]”将立异该表中持有记录。

修改数据表“users”的用户年龄为“age-id”的数值,同时修改用户的密码为早先密码:

997755.com澳门葡京 34

997755.com澳门葡京 35

将“id”为偶数的用户的年华扩充七周岁:

997755.com澳门葡京 36


询问表明式

SELECT select_expr [,select_expr...]
[
FROM tbl_references
[WHERE where_condition]
[GROUP BY {col_name | position} [ASC | DESC],...]
[HAVING where_condition]
[ORDER BY {col_name | expo | position}  [ASC | DESC],...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
]

  查询表达式的种种表明式表示想要查找的一列,必须有至少二个。多少个列之间以英文逗号分开

997755.com澳门葡京 37

  查询表达式的次第能够和原表中字段的次第不相同样

997755.com澳门葡京 38

  在采取多表连接时,大概会油不过生差异的表中存在名称一样的字段,借使一贯写字段,分不清到底是哪张数据表的字段。在字段名前增多数据表能够辨别出专属于哪张数据表

997755.com澳门葡京 39

  星号*号表示全体的列。tbl_name.*能够代表命名表的全数列

997755.com澳门葡京 40

  查询表达式能够行使[AS] alias_name为其授予小名,小名可用于GROUP
BY, OQashqaiDE悍马H二 BY, HAVING字句

997755.com澳门葡京 41

  [注意]在动用查询表明式设置别称查询,AS能够选择,也能够不行使。但若是不行使,恐怕会晤世2义性情况

SELECT id username FROM users;

  mysql会把地方的说话解析为username作为id的别称

 

查询说明式

SELECT select_expr [,select_expr...]
[
FROM tbl_references
[WHERE where_condition]
[GROUP BY {col_name | position} [ASC | DESC],...]
[HAVING where_condition]
[ORDER BY {col_name | expo | position}  [ASC | DESC],...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
]

  查询表达式的各种表明式表示想要查找的1列,必须有最少三个。三个列之间以英文逗号分开

997755.com澳门葡京 42

  查询表明式的依次能够和原表中字段的次第不雷同

997755.com澳门葡京 43

  在动用多表连接时,大概会油可是生不一样的表中存在名称同样的字段,若是一向写字段,分不清到底是哪张数据表的字段。在字段名前增加数据表能够辨别出专属于哪张数据表

997755.com澳门葡京 44

  星号*号表示具有的列。tbl_name.*能够象征命名表的富有列

997755.com澳门葡京 45

  查询表明式能够接纳[AS] alias_name为其给予外号,别称可用于GROUP
BY, OPRADODEHaval BY, HAVING字句

997755.com澳门葡京 46

  [注意]在应用查询表明式设置别称查询,AS能够利用,也能够不选取。但纵然不选拔,大概会现出2义脾性形

SELECT id username FROM users;

  mysql会把上边的语句解析为username作为id的别称

 

履新记录

UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]...[WHERE where_condition]

  能够一遍创新多条记下;当省略WHERE条件时,全部记录的值将会更新

  上边将全数人的年美利坚合众国的首都扩大6虚岁

997755.com澳门葡京 47

  上面将全体人的岁数更新为原明年龄减去其id值,将全体人的性别改成0

997755.com澳门葡京 48

  上边将全部id值为偶数的人的年华加10虚岁

997755.com澳门葡京 49  

四、单表删除记录DELETE

剔除记录
DELETE FROM tbl_name [WHERE where_condition]
要是不加多“[WHERE where_condition]”将革新该表中兼有记录。

比如删除“id”为四的用户记录:

997755.com澳门葡京 50


结果处理

[GROUP BY {col_name | position} [ASC | DESC],...]

  查询结果分组(GROUP BY)的参数中,ASC是升序,是暗中同意的;DESC是降序

997755.com澳门葡京 51

  col_name代表字段名,position以数字代表职责,如一表示SELECT语句中率先次面世的字段

997755.com澳门葡京 52

分组条件

[HAVING where_condition]

  在装置分组(HAVING)时,一定要力保分组条件(where_condition)要么是聚合函数(max,min,avg,count,sum),要么个中的字段必须是SELECT中的一个询问字段,不然会报错

997755.com澳门葡京 53

分组排序

[ORDER BY {col_name | expo | position}  [ASC | DESC],...]

  能够利用分组排序(order by)对查询结果开始展览排序

997755.com澳门葡京 54

  同时可以用多少个规格来排序,按输入顺序来进展事先级的挑3拣4

997755.com澳门葡京 55

限定结果

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

  限制查询结果(LIMIT)私下认可情状下,重临全体查找到的结果

997755.com澳门葡京 56

  即便LIMIT后边只有几个数字,表示从第③条初叶回来,并回到相应数字个数的笔录

997755.com澳门葡京 57

  SELECT语句暗中认可从0开始编号,纵然想从第一条开始回到,则须要offset参数和row_count参数一同利用

997755.com澳门葡京 58

【补充】

INSERT [INTO] tbl_name [(col_name,...] SELECT ...

  与壹从头介绍的插入记录的艺术分歧,以后那种方式能够将追寻的结果存款和储蓄到钦命的数据表

997755.com澳门葡京 59

结果管理

[GROUP BY {col_name | position} [ASC | DESC],...]

  查询结果分组(GROUP BY)的参数中,ASC是升序,是暗中同意的;DESC是降序

997755.com澳门葡京 60

  col_name代表字段名,position以数字代表职责,如壹表示SELECT语句中首先次面世的字段

997755.com澳门葡京 61

分组条件

[HAVING where_condition]

  在设置分组(HAVING)时,一定要保障分组条件(where_condition)要么是聚合函数(max,min,avg,count,sum),要么当中的字段必须是SELECT中的二个查询字段,不然会报错

997755.com澳门葡京 62

分组排序

[ORDER BY {col_name | expo | position}  [ASC | DESC],...]

  可以运用分组排序(order by)对查询结果开始展览排序

997755.com澳门葡京 63

  同时能够用多少个条件来排序,按输入顺序来进展事先级的挑叁拣4

997755.com澳门葡京 64

范围结果

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

  限制查询结果(LIMIT)默许情况下,重回全体查找到的结果

997755.com澳门葡京 65

  假若LIMIT前面唯有一个数字,表示从第三条起始回到,并重回相应数字个数的记录

997755.com澳门葡京 66

  SELECT语句默许从0开头编号,如若想从第贰条开头回到,则要求offset参数和row_count参数一同使用

997755.com澳门葡京 67

【补充】

INSERT [INTO] tbl_name [(col_name,...] SELECT ...

  与一从头介绍的插入记录的艺术差异,未来那种办法能够将追寻的结果存款和储蓄到钦命的数据表

997755.com澳门葡京 68

删除记录

DELETE FROM tbl_name [WHERE where_condition]

997755.com澳门葡京 69

  [注意]除去某条记下后,再插入一条新的笔录,自动编号不会补到删除记录的数码上,而是依照原有记录最大编号继续追加

997755.com澳门葡京 70  

5、MySQL查询表达式解析

索求记录
SELECT select_expr [,select_expr ……]
[
  FROM tbl_references
  [WHERE where_condition]
  [GROUP BY {col_name | position} [ASC | DESC] ,……]
  [HAVING where_condition]
  [ORDER BY {col_name | expr | position} [ASC | DESC],……]
  [LIMIT {[offset,] row_count | row_count OFFSET offset}]
]
*每二个表明式代表想要查询的一列,且务必至少有四个;
四个列之间以逗号(,)隔绝;
星号(*)代表全部列,“tbl_name.
”能够代表命名表的有着列;
查询表达式可以选取[AS] alias_name为其授予外号;
小名可用于GROUP BY , OLacrosseDRE BY或HAVING子句;
查询重临的结果是虚拟表,与事实上存储的数据表非亲非故。\

事先都是以“SELECT * FROM
tbl_name”来查看全部列,其实能够只查看钦命的字段,且依据内定字段的次第来规定最终展现的顺序:

997755.com澳门葡京 71

数据表实际的排列顺序是“id”字段在前

为字段增加数据表的名目是为着现在进行多表查询时,能够清楚地辨别该字段隶属于哪一张数据表:

997755.com澳门葡京 72

有时候为了简化字段名或任何急需会采纳外号:

997755.com澳门葡京 73

即便“AS”能够回顾,但提议在应用外号时赋予封存

<br />
<br />

询问表达式

SELECT select_expr [,select_expr...]
[
FROM tbl_references
[WHERE where_condition]
[GROUP BY {col_name | position} [ASC | DESC],...]
[HAVING where_condition]
[ORDER BY {col_name | expo | position}  [ASC | DESC],...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
]

  查询表明式的各种表明式表示想要查找的1列,必须有至少一个。多少个列之间以英文逗号分开

997755.com澳门葡京 74

  查询表明式的各类能够和原表中字段的逐条不均等

997755.com澳门葡京 75

  在选拔多表连接时,或然会油不过生区别的表中存在名称1致的字段,若是直白写字段,分不清到底是哪张数据表的字段。在字段名前增多数据表能够辨别出专属于哪张数据表

997755.com澳门葡京 76

  星号*号表示全数的列。tbl_name.*能够象征命名表的富有列

997755.com澳门葡京 77

  查询表明式可以运用[AS] alias_name为其授予外号,别名可用于GROUP
BY, O牧马人DE路虎极光 BY, HAVING字句

997755.com澳门葡京 78

  [注意]在选取查询表明式设置外号查询,AS能够运用,也得以不行使。但一旦不选拔,恐怕会并发二义性景况

SELECT id username FROM users;

  mysql会把地方的言语解析为username作为id的别称

 

WHERE语句进行标准查询

原则表达式
[WHERE where_condition]
**对记录进行过滤,假设未有点名WHERE子句,则显得全部记录;
在WHERE表明式中,能够采纳MySQL协理的函数或运算符。

比方查找“id”为陆的用户记录:

997755.com澳门葡京 79

<br />
<br />

结果管理

[GROUP BY {col_name | position} [ASC | DESC],...]

  查询结果分组(GROUP BY)的参数中,ASC是升序,是私下认可的;DESC是降序

997755.com澳门葡京 80

  col_name代表字段名,position以数字代表职责,如1表示SELECT语句中率先次面世的字段

997755.com澳门葡京 81

分组条件

[HAVING where_condition]

  在安装分组(HAVING)时,一定要力保分组条件(where_condition)要么是聚合函数(max,min,avg,count,sum),要么当中的字段必须是SELECT中的一个查询字段,不然会报错

997755.com澳门葡京 82

分组排序

[ORDER BY {col_name | expo | position}  [ASC | DESC],...]

  能够应用分组排序(order by)对查询结果进行排序

997755.com澳门葡京 83

  同时能够用多少个尺码来排序,按输入顺序来张开事先级的挑三拣4

997755.com澳门葡京 84

范围结果

[LIMIT {[offset,] row_count | row_count OFFSET offset}]

  限制查询结果(LIMIT)私下认可情形下,重临全体查找到的结果

997755.com澳门葡京 85

  如若LIMIT前边唯有贰个数字,表示从第二条开第3次到,并回到相应数字个数的记录

997755.com澳门葡京 86

  SELECT语句暗中认可从0开头编号,假使想从第2条开第一遍来,则供给offset参数和row_count参数一同使用

997755.com澳门葡京 87

【补充】

INSERT [INTO] tbl_name [(col_name,...] SELECT ...

  与壹从头介绍的插入记录的艺术差异,今后那种措施能够将寻觅的结果存款和储蓄到钦点的数据表

997755.com澳门葡京 88

目录
[1]插入记录 [2]更新记录 [3]除去记录[4]查询表明式[5]结果管理前面包车型大巴话 本文将详细介绍…

GROUP BY语句对查询结果分组

询问结果分组
[GROUP BY {col_name | position} [ASC | DESC],……]
里头“ASC”为暗中同意升序,而“DESC”为降序。

比方以年纪升序为依附将用户张开分组:

997755.com澳门葡京 89

<br />
<br />

HAVING语句设置分组条件

分组条件
[HAVING where_condition]
不能够不确认保障分组条件的字段出现在SELECT语句中,大概在聚合函数(AVG、COUNT、MAX、MIN、SUM……)内。

譬如将年龄当先一4周岁的用户依据升序举办分组:

997755.com澳门葡京 90

<br />
<br />

O瑞鹰DE酷威 BY语句对查询结果排序

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

例如说依照“id”降序排列全部记录:

997755.com澳门葡京 91

<br />
<br />

LIMIT语句限制查询数量

限制查询结果回到的多少
[LIMIT {[offset,] row_count | row_count OFFSET offset}]

从数据表开始位置上马呈现二条记下:

997755.com澳门葡京 92

当遵照“id”降序排序时,从第三条记下伊始,展现2条记下:

997755.com澳门葡京 93

留意,记录是从第0条初阶排序,且跟“id”等字段非亲非故。


陆、操作数据表记录的SQL语句汇总:

  • 997755.com澳门葡京 ,插入记录INSERT
    INSERT [INTO] tbl_name [(col_name,……)] {VALUES | VALUE} ({expr
    | DEFAULT},……),(……),……

    INSERT [INTO] tbl_name SET col_name = {expr | DEFAULT},……

    INSERT [INTO] tbl_name [(col_name,……)] SELECT ……

  • 单表更新记录UPDATE
    UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET
    col_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}]……[WHERE
    where_condition]

  • 单表删除记录DELETE
    DELETE FROM tbl_name [WHERE where_condition]

  • 搜索记录SELECT
    SELECT select_expr [,select_expr ……]
    [
      FROM tbl_references
      [WHERE where_condition]
      [GROUP BY {col_name | position} [ASC | DESC] ,……]
      [HAVING where_condition]
      [ORDER BY {col_name | expr | position} [ASC | DESC],……]
      [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    ]


版权声明:欢迎转载,欢迎扩散,但转载时请标明作者以及原文出处,谢谢合作!             ↓↓↓

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website