>데이터 베이스 >MySQL 튜토리얼 >数据查询基础_MySQL

数据查询基础_MySQL

WBOY
WBOY원래의
2016-05-30 17:09:46761검색

数据查询基础

 

 

还好吗?几天不见,甚是思念呀!笑对人生,好好生活,快快乐乐的迎接我们的美好未来吧!

 

好吧!抒情结束,我们一起来学习一下我们今天的主题:数据查询基础,很有意思哟.让我们来感受它的魅力吧!

 

 

 

一.使用select语句进行查询

语法:

 

select

 

from

 

[where ]

 

[order by [asc或desc]]

 

其中:[]表示可省

 

01.查询所有的数据行和列(*)

 

 

 

select *from Studendt

02.查询部分行或列

 

eg:查找留言人是“乐”的部分信息

 

 

 

select ID,Email

from Student

where name='乐'

03.别名

 

别名方案一:

 

select msgAuthor as 留言人,msgContent as 留言内容

from Message

别名方案二:

 

 

 

select msgAuthor  留言人,msgContent  留言内容

from Message 

 

 

别名方案三:

 

select 留言人=msgAuthor,留言内容=msgContent

from Message

04.查询空值

 

在SQL Server中null代表不知道,所以如果where后的限定条件不能用=和null做对比,必须使用is null

 

eg:查询Email为空的

 

select *from Student

where Email is null --不能写为where Email=null

05.常量列

 

select *,'汉族'as 民族  from Message

06.查询返回限制的行数(top关键字)

 

eg:限制只检索前3条数据

 

use MySchool

select top 3 * from student

where Gender='0'

07.将多列合并成一列显示

 

select msgAuthor+'____'+msgContent as 留言人 

 

from Message

 

 

08.通配符

 

01. %:任意长度的任意字符,(包含0个)

 

02. _:任意的单个字符,只能是一个

 

03. []:括号中所指定范围内的一个字符

 

04. [^]:不在括号中所指定范围内的任意一个字符

 

二.查询排序(order by)

 

asc:升序(不写默认值)

 

desc:降序

 

eg1:

 

 

 

select * from student

order by Gender  --默认按主键升序排序

eg2:按照多列排序

 

select * from student

order by GradeId [asc],Gender [desc]

二.查询中使用函数

 

01.字符串函数

 

01.CharIndex('str1','str2',index)

 

参数含义:

--第一个参数:要查询的字符串

--第二个参数:在哪个字符串中搜索

--第三个参数:从str2的第几个字母开始搜索

--注意点:如果在str2中没有找到str1,那么返回0

 

 

 

select charindex('好好学','S1是S2的基础,所以大家好好学',1)

--返回14

 

 

02.len():获取小括号中字符串的长度,空格也算一个字符长度

 

select len('明天咱们还上课,希望大家回去好好休息')  --返回18

select len('             大家都                   是好孩子                 ')   

--返回39

 

 

注意点:如果内容以多个空格结尾,那么结尾的多个空格,是不计算长度的

--例如:

 

select len('我们都是好孩子                                         ')    --返回7

03.upper:把传递给它的字符串转换为大写

 

SELECT upper('SQL Server课程')  --SQL SERVER课程

 

 

04.LTRIM()清除左侧空格

 

select ltrim('  一个人的时候,要好好学习,                ')  --一个人的时候,要好好学习,           

05.rigim()清除右侧空格  

 

 

 

select rtrim('         生活不是敷衍,       ')   --         生活不是敷衍,

 

 

既想移除左边空格,也想移除右边空格:

 

select rtrim(ltrim('         生活不是敷衍,       '))

select ltrim(rtrim('   你知道吗!    '))

 

 

06.substring('字符串',截取的位置,截取的长度)

 

select substring('我是中国人,我爱自己伟大的祖国,真的',6,1)   --返回,

 

 

07.right():从字符串右边返回指定类型的字符

 

     left():从字符串左边返回指定类型的字符

 

 

 

select left('大家今天辛苦了,爱你们',3)   --大家今

select right('大家今天辛苦了,爱你们',2)   --你们

 

 

08.replace('str1','要替换的字符','目标字符'):

 

select replace('我爱你,天尽头,虽然这很遥远,但是心不变','遥远','现实')  

 

  --我爱你,天尽头,虽然这很现实,但是心不变

 

 

09.stuff('字符串',删除的起始位置,删除的长度,'插入的字符串')

 

 

 

select stuff('我爱你中国,我爱你故乡',4,2,'北京')  --我爱你北京,我爱你故乡

 

 

02.日期函数

 

01.getdate():获取当前日期和时间

 

select getdate()

select dateadd(yy,1,getdate())

02.dateadd(按年/月/日添加,增量,时间)

 

select dateadd(yy,100,'2014-8-6')

select dateadd(year,-20,getdate())

03.datediff(按年/月/日求差,小时间,大时间)

 

select datediff(dd,'1996-12-01',getdate())

04.日期中指定日期部分的字符串形式

 

select datename(mi,getdate())

05.日期中指定日期部分的整数形式

 

select datepart(yy,getdate())

06.值 缩 写     

 

Year              Yy              yyyy              

 

Quarter         Qq              q                

 

Month           Mm              m                 

 

Day of year    Dy              y                 

 

Day               Dd              d                

 

Weekday       Dw              w                

 

Week            Wk              ww                

 

Hour              Hh              h                 

 

Minute           Mi              n                 

 

Second          Ss              s                 

 

Millisecond     Ms                -           

 

  

 

03.数学函数

 

01.天花板(ceiling)   向上取整

 

select ceiling(1.99)  --返回2

02.地板(floor)  向下取整

 

select floor(1.99)   --返回1   

 

03.系统函数

 

convert:用来转变数据类型

 

 select convert(varchar(32),111)

--返回的是字符串'111'

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.