mysql修改关联查询语句_MySQL学习笔记(三)修改操作、查询数据表

操作数据表中的记录

插入操作

INSERT第一种

INSERT [INTO] tb_name [col_name,....] VALUES(...,...)[,(...,...),...] 多行多个相对插入

expr--算数表达式or函数表达式;

default--创建表结构定义的值;

如果表结构中有主建primary key auto_increment,插入时对应值可以用NULL或default;

INSERT第二种(与第一种方式的区别在于,此方式可以使用子查询(SubQuery))

INSERT [INTO] tb_name SET col_name={expr|DEFAULT},col_name2={expr|DEFAULT},....单行多个插入

插入记录方法三

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

SELECT--查找的结果

单表更新

单表更新:UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1|DEFAULT}[,col_name2={expr2|DEFAULT}]...[WHERE where_condition];

当缺少WHERE时,所有记录都会更新。

LOW_PRIORITY:UPDATE的执行被延迟了,直到没有其它的客户端从表中读取为止。

IGNORE:即使在更新过程中出现错误,更新语句也不会中断。

举例:UPDATE users SET age=age+1; //整张表发生改变

UPDATE users SET age=age+id,sex=0; //多个字段用逗号隔开。

UPDATE users SET sex=1 WHERE id%2=0; //id为偶数的sex值设为1。求余为0即偶数

单表删除

DELETE FROM tbl_name [WHERE where_condition]

若不添加WHERE则删除全部记录

删除某条记录后,再插入一条新的记录,自动编号不会补到删除记录的编号上,而是基于原有记录最大编号继续增加

查询记录

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{[offset,]row_count|row_count OFFSET offset}]

]

select 查询的两个影响

1、字段出现的前后顺序会影响结果集的顺序

2、字段的别名会影响结果集的名字。

每一个表达式表示想要的一列,必须有至少一个。

多个列直接以英文逗号分隔。

星号(*)表示所有列。tabl_name.*可以表示命名表的所有列

查询表达式可以使用[AS]alias_name为其赋予别名。

别名可用于GROUP BY, ORDER BY 或者HAVING子句。

例子:SELECT id,username FROM users;

表示查询users表的id,username 字段的记录,左边数据是id,右边是username

SELECT username,id FROM users;则是左边是username,右边是id

SELECT id as userid,username as uname FROM users;

则左边名字是userid实则是id ,右边名为uname实则是username;

若SELECT id username FROM users;

则显示名为username的别名,但是实则记录是ID的记录。相当于省略AS

where 条件表达式:

where 后各种根据条件(>、=、<=、!=、<>、IS NOT NULL),

根据逻辑(and,or),

根据结合方式left join、right join等,

根据模式匹配(IN、NOT IN、like、not like、regexp),使用各种MySQL函数和表达式,从表集合中筛选记录。

查询结果分组 GROUP BY

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

ASC:升序,默认

DESC:降序

position:SELECT语句中列的序号

eg. SELECT sex FROM users GROUP BY sex;对users中的sex按sex进行分组

eg. SELECT * FROM users GROUP BY 1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值