Mysql语句复习
插入:
user表插入ID、账户、密码、邮箱
插入一行:
insert into user value(10,‘root’,‘root’,‘xxx@qq.com’);
插入多行:
INSERT INTO userVALUES (10, ‘root’, ‘root’, ‘xxxx@163.com’), (12, ‘user1’, ‘user1’, ‘xxxx@163.com’), (18, ‘user2’, ‘user2’, ‘xxxx@163.com’);
插入行的一部分:
INSERT INTO user(username, password, email)
VALUES (‘admin’, ‘admin’, ‘xxxx@163.com’);
插入查询出来的数据:
INSERT INTO user(username)
SELECT name
FROM account; 下面查询出来的结果放到上面username字段里插入
limit后边跟两个参数,第一个是起始行,第二个是总行数,例如返回3到5行,就要limit2,3
order by
对一个列或多个列进行排序,默认升序,多列排序,先排序放前边,后排序放后边,可以有不同的排序规则,前升后降。
group by
分组,可以按一列或多列进行分组,本质是把值相同的行放在一组内,可以对该组进行平均数处理等
having
过滤分组,可以和where一起用,且一般对group by的结果进行过滤
子查询
一个查询语句的结果作为另一个查询语句的条件或数据来源,可以看作where
IN
一般跟在where后边,表示在一个范围内去挑选数据
AND优先级高于or表示左右都要满足,or表示左右满足一个就行,not表示否定。
like
like用户模糊查询,在where后边,其中%表示任意字符出现多次,_表示出现一次。
连接
用于连接多个表,并使用join关键字,条件语句用on而不是where,as表示给取别名。
内连接
叫做等值连接,满足俩值相等才连接表,用inner join
自然连接
自然连接把同名的列通过等值连接起来,同名列可以有多个。
外连接
包含左连接、右连接、全外连接,全外连接是只要其中有一个表存在满足条件的记录,就返回行。
组合查询
使用 UNION 来组合两个查询,如果第一个查询返回 M 行,第二个查询返回 N 行,那么组合查询的结果一般为 M+N 行。
每个查询必须包含相同的列、表达式和聚集函数。
默认会去除相同行,如果需要保留相同行,使用 UNION ALL。
只能包含一个 ORDER BY 子句,并且必须位于语句的最后。