初级MySql语句学习

Sql学习网站:

http://www.w3school.com.cn/sql/sql_like.asp

COUNT(0) FROM sys_match WHERE STATUS=‘2’

SELECT COUNT(0) FROM sys_match WHERE TYPE=‘2’ AND STATUS=‘2’

SELECT START_TIME FROM sys_match ORDER BY MATCH_ID;

以id数字大小排序显示

SELECT * FROM tab ORDER BY DATETIME(时间字段) ASC(升序)/DESC(降序)

SELECT * FROM sys_match ORDER BY START_TIME ASC

SELECT * FROM sys_match ORDER BY START_TIME DESC

SELECT AMOUNT,COUNT(amount) FROM sys_noterecord

SELECT DISTINCT USER_ID FROM sys_noterecord db_gold_cms

SELECT DISTINCT COUNT(USER_ID) FROM sys_noterecord

SELECT COUNT(DISTINCT USER_ID) FROM sys_noterecord
查询金币数
SELECT SUM(AMOUNT) FROM sys_noterecord

关联查询:

Join:
JOIN: 如果表中有至少一个匹配,则返回数据
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的数据
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的数据
FULL JOIN: 只要其中一个表中存在匹配,就返回数据

SELECT persons.height,student.name FROM persons,student WHERE persons.id = student.id 但是这样操作数据库时会慢,降低效率写起来麻饭,显得很low

Inner join :

SELECT persons.height FROM persons INNER JOIN student ON persons.id = student.id 内连接 INNER JOIN 与 JOIN 是相同的。

INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 “Persons” 中的行在 “Orders” 中没有匹配,就不会列出这些行。

LEFT JOIN:

会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

SELECT persons.heightFROM persons LEFT JOIN student ON persons.id=student.id 我们希望人这个表中所有的身高数据都显示出来,
但是学生表中的数据我也想知道,或者是和人表中有关联的数据我想知道就用left JOIN

左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。
简言之 Left Join影响到的是右边的表

RIGHT JOIN:

SELECT persons.height FROM persons RIGHT JOIN student ON persons.id=student.id

select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID

检索结果是tbl2的所有数据和tbl1中满足where 条件的数据。

简言之 Right Join影响到的是左边的表

FULL JOIN:

FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 “Persons” 中的行在表 “Orders” 中没有匹配,或者如果 “Orders” 中的行在表 “Persons” 中没有匹配,这些行同样会列出。

排序:
SELECT * FROM student ORDER BY score asc正序/DESC 倒序

Count:
SELECT COUNT(NAME) AS 学生姓名 FROM student WHERE NAME=‘老捌’

SELECT COUNT(*) FROM student 查询表中有多少条数据

SELECT COUNT(DISTINCT score) FROM student 去重 不相同的分数 有多少值

关键词 DISTINCT 用于返回唯一不同的值。

去重:
Select DISTINCT NAME from user

函数:

SELECT COUNT(NAME) AS 学生姓名 FROM student WHERE NAME=‘老捌’

SELECT SUM(score) AS 学生分数 FROM student 总和

SELECT AVG(score) AS 学生平均数 FROM student 求平均数

SELECT MAX(score) AS 得分最多的学生 FROM student

SELECT MIN(score) AS 得分最少的学生 FROM student

url:jdbc:mysql:/rm-2ze95budya28fjdat.mysql.rds.aliyuncs.com:3306/saget-pay-web-boss?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
driverClassName:com.mysql.jdbc.Driver
username:root
password:Sh950515

选择:select * from table1 where 范围

插入:insert into table1(field1,field2) values(value1,value2)

删除:delete from table1 where 范围

更新:update table1 set field1=value1 where 范围

查找:select * from table1 where field1 like ’%value1%’ —like的语法很精妙,查资料!

like ‘%100’ 查询尾数是100的值,

‘100%’ 查询以100开头的值,尾数不管是什么!

‘%100%'查询带有100的值!

排序:select * from table1 order by field1,field2 [desc]

总数:select count as totalcount from table1

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1

最小:select min(field1) as minvalue from table1

SELECT COUNT(1) FROM sys_army WHERE game_ids LIKE ‘%1000%’ LIMIT 0, 1000;
查询带有1000的数据有几条

SELECT game_id, game_name FROM sys_game ORDER BY game_id;
以id数字大小排序显示

SELECT game_id, game_name FROM sys_game ORDER BY game_name;
以name的首字母顺序 显示

SELECT COUNT(DISTINCT USER_ID) FROM sys_noterecord
取不同userid的数量

SELECT DISTINCT USER_ID FROM sys_noterecord
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。

mongoDB常用查询语句:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值