MySQL 基础 (一)- 查询语句

1、 导入示例数据库

教程 https://www.yiibai.com/mysql/how-to-load-sample-database-into-mysql-database-server.html

2、SQL是什么?MySQL是什么?

SQL 是结构化查询语言(Structured Query Language)的缩写,SQL是一种专门用来与数据库通信的语言。

MySQL是一种DBMS,即它是一种数据库软件

3、 查询语句 SELECT FROM

语句解释: SELECT 语句用于从表中选取数据,结果被存储在一个结果表中(称为结果集)。

3.1 SQL SELECT 语法

    SELECT 列名称 FROM 表名称

以及:

    SELECT * FROM 表名称

注释:SQL 语句对大小写不敏感。SELECT 等效于 select。

3.2 去重语句

参考博客: sql语句去重

1.存在两条完全相同的纪录

这是最简单的一种情况,用关键字distinct就可以去掉

example: select distinct * from table(表名) where (条件)

2.存在部分字段相同的纪录(有主键id即唯一键)

如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组

example:  select * from table where id in (select max(id) from table group by [去除重复的字段名列表,....])

3.没有唯一键ID

这种情况我觉得最复杂,目前我只会一种方法,有那位知道其他方法的可以留言,交流一下:

example:

select identity(int1,1) as id,* into newtable(临时表) from table

select * from newtable where id in (select max(id) from newtable group by [去除重复的字段名列表,....])

drop table newtable

3.3 前N个语句

1、 MySQL、Sqlite查询前N条数据的方法:(Sqlite和MySQL查询语句一样)

 select * from table_name limit 0,N
  • 通常0是可以省略的,直接写成 limit N。0代表从第0条记录后面开始,也就是从第一条开始,N表示偏移量。

eg. 从第5条记录开始,取10条记录,则可写为

  • select * from table_name limit 5,10
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值