MySQL

SQL必知必会

2019-06-09  本文已影响11人  戈小蓓

一、了解SQL

1、数据库:保存有组织的数据的容器,≠数据库软件

数据库软件:数据库管理系统(DBMS)

2、表:某种特定类型数据的结构化清单

主键特性:①唯一标示性,不具备业务意义;②唯一性,非空值;③不可修改性;④被删不可重用

二、查询语句

一、检索数据(Select)

1、用途:从一个或多个表中检索信息——需要给到信息想选择什么及从什么地方选择

2、语句特性:①多条SQL语句必须以分号结尾;②SQL语句不区分大小写;③SQL语句可以写成长句也可以分写多行

3、检索多列时:一定要在列名之家加上逗号,但是最后一个列名不加

select  prod-id, prod-name, prod-price

from  Products;

4、检索所有列:用通配符*

select  *  from  Products;

5、检索不同值:distinct—指示数据库只返回不同的值

注意:distinct关键词作用于所有列,不能部分使用distinct

select  distinct prod-id  from  Products;

6、限制结果:limit  5  offset  5表示从第5行起的5行数据(mysql语法)

注意:第一个被检索的是第0行,而不是第一行

二、排序检索数据

1、排序数据:在指定order  by子句时,应保证它是select语句最后一条子句

select   prod-name  from  Products order  by  prod-name;

2、按多个列排序:在多个列排序时,排序顺序完全按照规定进行

select  prod-id, prod-name, prod-price  from  Products 

 order  by  prod-name, prod-price ;

3、指定方向排序:Desc降序,Asc升序(默认升序)

三、过滤数据

1、数据根据where子句指定条件进行过滤,where子句在表名from之后给出,如有order by应位于where之后

2、where子句操作符(=、>、<,!=/<>、between  and-包括指定开始值及结束值、is null)

select  prod-id, prod-name, prod-price  from  Products 

where  prod-price>5 desc;

3、不匹配检查:单引号用来限定字符串

select  prod-id, prod-name  from  Products

where  prod-name<>‘dllo1’;

4、空值检查:is null

select  prod-price  from  Products

where prod-price is null;(空prod-price字段,不是价格为0)

四、高级数据过滤

1、and操作符:

select  prod-id, prod-name, prod-price  from  Products 

where prod-name'good' and prod-price >5  ;

2、or操作符:它指示DBMS检索匹配匹配任意条件行

3、  求值顺序:在and和or中会优先处理and,如要解决就要用圆括号对操作符进行明确分组—圆括号先处理

任何具有and和or操作符的where子句,都应使用圆括号明确分组,消除歧义

4、in操作符:用来指定条件范围,功能相当于or

select  prod-id, prod-name, prod-price  from  Products 

where  prod-price in(1,,8);

5、not操作符:否定其后跟的任何条件,因为not从不单独使用,所以not关键词可以用在过滤列前

select  prod-id, prod-name, prod-price  from  Products

where not  prod-name=‘goog’;

五、用通配符进行过滤

1、like操作符:指示DBMS

通配符是用来匹配值得一部分的特殊字符

百分号%通配符:表示任何字符出现任意次数

select  prod-id, prod-name, prod-price  from  Products

where  prod-name like ‘good%';

下划线—通配符:只能匹配单个字符而不是多个字符

方括号[]通配符:用来指定一个字符集(只有access和sql server支持集合)

2、使用通配符技巧:①不要过度使用通配符;②尽量不把通配符用在搜索模式开始处;③注意通配符位置,如果放错地方可能不会返回想要的数据


三、创建计算字段

1、拼接字段:+ /  ||(mysql使用特殊函数)

select  prod-id + '('+prod-name+')'   from  Products   order  by  prod-id desc;

MYSQL使用

select   concat  (prod-id , '(',prod-name,)'   )

from  Products   

order  by  prod-id desc;

2、ririm():去掉值右边的所有空格;ltrim()去掉字符串左边空格;trim()去掉字符串左右两边空格

3、使用别名as:

select   concat  (prod-id , '(' , prod-name , )'   )

as  prod-new

from  Products   

order  by  prod-id desc;

4、执行算术运算:+ - * /

四、使用函数处理数据

1、文本处理函数

2、时间和日期处理函数

3、数值处理函数

五、汇总数据

1、聚集函数:avg、count、max、min、sum

2、聚集不同值:

六、分组函数

1、分组group  by:

过滤having:


上一篇下一篇

猜你喜欢

热点阅读