SQL学习二

2016-12-11  本文已影响63人  super小明

SELECT获取数据,查询语句

select name(列名) from admin(表名)

DISINCT,配合SELECT使用,作用,去除重复部分。

select disinct name from admin (from后面是存储数据(列名)的数据库表)

WHERE字句,SELECT * from person where name="红尘"  查询列名是红尘的来自person表。

//where是条件语句

用于条件搜索:select * from person where like='jack'//搜索关键字jack

AND&OR AND是并列关系,两者都需要满足,OR是或的意思,两者满足其一。

关于order by

order by字母的排序方式是以:A,B,C,D......Z这种,越靠前就排序靠前。

order by数字的排序方式是以:1,2,3,4,5,6....这种,越靠前排序靠前。

order by字母和order by数字同时排序的时候,排序的方式:字母的排序大于数字的排序!所以排序先看字母,字母越靠前顺序就最前面!假如字母的位数都相同,比较数字的话,那么数字越小的越靠前。

SQL语句对大小写不敏感,ORDER BY也是可以。

反之desc(DESC)是反序排列,排序方法与正序排列雷同。

insert into语句,含义:像表格中插入新的一行数据

insert into admin(表名) values('红尘','男','red','apple')

*要已知表名是admin并且admin表是四列!

insert into admin('姓名','性别') values('红尘','男');//指定插入一行数据,你得知道表中的列名。

update 含义:修改表中的数据

update 表 set(创建) name=jack(新值) where people(列名)=man

update admin set name=jack where people=man

delete语句

delete from admin(表名)  where name(列名)=jack

//删除表中列名为jack的一行。

delete * from table_name

//删除所有行

Top子句,Limit子句,ROWSUM子句

不是所有数据库都支持top字句,支持top的只有mssql数据库(sql server数据库)

top的用法有两种:

1、select top 2  * /  指定某一个列名(columns_name) from admin(表名)  //注释top的含义自我翻译了下,含义很多,感觉最标准就是在...的前头,这里的含义就是查询所有列名中的前两行的数据记录行来自表名 (admin) / 查询前二行的指定列名下的数据内容来自表名(admin)。

2、select top 50percent * / 指定某一个列(columns_name)from admin(表名)   //查询前百分之50的所有列下的数据记录行来自admin(表) / 查询前百分之50的指定列名下的数据来自admin(表)。

与top用法相同的是limit字句,limit适用于mysql,它是支持mysql数据库的。

limit详细用法:

1、select * / 列名(columns_name) from admin(表名) limit 5     //查询前5行的所有列下的数据记录行来自admin(表) / 查询前5行的指定列名下的数据来自admin(表)。2、select * / 列名(columns_name) from admin(表名) limit 5,10 //查询前6行-15行的所有列下的数据记录行来自admin(表) / 查询前5行-15行的指定列名下的数据来自admin(表)。//limit5,10起始是5开始,变成6,因为返回的是所有记录,所以10要加上起始的5就是15。举例:limit 3,6就是前4行-9行。是limit (初始值+1) (初始值+末尾值)使用limit注意点:

limit不可以是负数!limit初始值是0不是1

limt 0相当于limit 0,n。

取决于第二位数。

与top,limit雷同的语句是:ROWNUM,rownum支持oracle数据库。

用法:select * from admin(表)  where rownum<=5

这里的rownum使用方式比较奇怪,它是跟在where子句上的,是条件语句执行的。

rownum初始值是1,rownum=1就是显示表中的第一行,顾名思义,2就是显示表中的前二行。但是写法上就有点不一样。

假如写成rownum=2,这样写看上去是对的,但是oracle语法不支持这种写法,既然是限制,那么我想显示表中前二行的记录行,那么应该是rownum<=2,这里的意思就是返回前面二行的记录行,<在这里有种过去的意思。

LIKE操作符,比较好理解,不像上面的那些好抽象。

用法有四种:

1、select * from admin(表名) where name(列名) like 'j%'     //查询搜索来自admin表中以j开头name(列名)的人

2、select * from admin(表名) where name(列名) like '%j'     //查询搜索来自admin表中以j末尾的name(列名)的人

3、select * from admin(表名) where name(列名) like '%jack%'    //查询搜索来自admin表中包含jack的name(列名)的人

4、select * from admin(表名) where name(列名) not like '%jack%'    //查询搜索来自admin表中不包含jack的name(列名)的人

--  %是SQL的通配符

IN操作符,选取表中的内容

用法:select * from admin(表) where name(列名) in('jack','marry')    //获取来自admin表中的name列名是jack和marry的数据记录行

BETWEEN操作符

between..and的含义就是选取两个值之间的数据范围,选取的两个值可以是数字,也可以是字母。

用法:

1、select * from admin where name between 'jack' and 'abc'    //查询来自admin表中列名是在jack和abc之间的数据记录行

2、也可以用大小于号代替BETWEEN

用法如下:select * from admin where number>10 and number<20    //查询来自admin表中number(列名)是在大于10和小于20的之间的数据记录行

这些都是选取两个值之间的数据范围,一切都是两面性,还有不选取两个值之间的数据范围,它就是not between,

not between用法和between用法雷同

上一篇 下一篇

猜你喜欢

热点阅读