查询数据
- SELECT 语句用于从数据库中查询数据。
- DISTINCT 用于唯一不同的值。它作用于所有列,也就是说所有列的值都相同才算相同。
- LIMIT 限制返回的行数。可以有两个参数,第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。
ASC :升序(默认)
DESC :降序返回
1.列的查询
查询单列
SELECT prod_name
FROM products;
查询多列
SELECT prod_id, prod_name, prod_price
FROM products;
查询所有列
ELECT *
FROM products;
查询不同的值
在数据中,列的部分数据是重复的,假如我们只需要知道类别的时候,就可以删去重复的数据,那这里的话就可以使用DISTINCT关键字,在使用DISTINCT中,NULL也被视为是一类数据
SELECT DISTINCT
vend_id FROM products;
上面是给一列使用DISTINCT关键字,也可以对多列数据使用DISTINCT关键字,但是DISTINCT关键字就只能放在前面,找出来的数据是2列都是不一样的,只有2列都是一样的数据才会算重复数据,如果第一列是一样,但是第二列不一样就不算重复数据
select DISTINCT show_bunrui ,torokubi from stds
限制查询结果
#第一个参数为起始行,从 0 开始;第二个参数为返回的总行数。
-- 返回前 5 行
SELECT * FROM mytable LIMIT 5;
SELECT * FROM mytable LIMIT 0, 5;
-- 返回第 3 ~ 5 行
SELECT * FROM mytable LIMIT 2, 3;
为列设定别名
SQL语句可以使用AS关键字为列设定别名,注意使用汉语时需要用("")双引号括起来,不是用单引号,下面就是把show_name的别名设定为“名字”
select show_id as id,show_name as "名字" from std
2.根据where来选择记录
select语句中where子句,where 自居要跟在from子句之后
select 列名 from where 表达式
#如下面的程序
select name from stds where id=3
注释的书写
写在“--”之后,只能写在同一行
--注释的书写
#注释的书写
写在“/*... */”之后,可以写在多行
/*注释的
书写*/
算术运算符和比较运算符
1.算术运算符
SQL语句中可以使用计算表达式,如下面的程序,对于获取出来的score成绩乘以2倍的显示出来,可以使用加减乘除等主要运算符
select show_id ,score*2 as socres from stds
但是在运算的过程中需要注意NULL数据类型,对于获取出来的结果是NULL的时候获取出来的结果都是NULL
比如下面的计算获取的结果会是多少?
正确的答案都是NULL,包含有NULL的计算,结果都是NULL,但是对于5+NULL这样子的结果我们会希望结果是5,在后面会介绍对应的函数解决这个问题。
2.比较运算符
比较运算符
一般比较运算符的运动是在where条件里面的,除了不等于,其他的跟其他语言还是类似的,但是注意的是不能对NULL使用比较运算符,在SQL中提供了专门用来判断是否为NULL的运算符,is NULL ,如果要找出来的数值是空的话可以按照下面的格式完成
select name from stds where id is (not) null
3.逻辑运算符
and,or,not