下面是我学习SQL语言的记录,希望与大家一起学习,当中用不足的地方,希望各位路过的各位神人批评指出,让小弟更上一步。

      SQL语言是一门结构化的查询语言,是一种ANSI(美国国家标准化组织)的标准计算机语言,SQL可以操作不同的数据库如sql server2008、DB2、orcale、sybase等等。

那么我们用SQL能对数据库做哪些操作呢?我们可以归纳为以下几个方面:1.查询数据库中的数据,2.删除数据库、数据表,3.更新数据库中的数据,4.创建数据库、数据表、存储过

程、创建视图,5设置数据表、存储过程、视图的权限。

      从SQL语句的功能上我们可以将SQL语句分为数据操作语言(DML)、数据定义语言(DDL),其实数据的操作语言大部分是由数据选择和数据更新组成的,它的重要部分是:    

 1.select从数据库中查询数据。2.updata更新数据库中的数据。3.delete删除数据库中的数据,但是数据库或数据表还是存在的,delete只是将数据删除,保留数据的容器。4.insert

into 向数据库中插入一条数据。而数据定义语言的定义域主要是对数据库、表的操作,它的组成部分主要有:1.create database、createtable 2.alter database、 alter table

3.drop database、drop table 4.create index 、drop index。这些操作不涉及数据的操作 。学习SQL的关键离不开关键字的学习。

      下面是一些关键字的介绍:

1.distinct:去除选择列中的相同记录

id name gender school
0 陈宇 清华大学
1 陈宇 清华大学
2 王红 北京大学

实例:select distinct name from Table1

结果:陈宇

        王红

我们要注意distinct作用的结果是你选择的所有列如果 select distinct id,name  from Table1那么结果就是  0   陈宇

                                                                                                                                          1   陈宇

                                                                                                                                          2    王红

2.where子句可以用于子查询或是一些条件点的限制,where中我们可以用到不同的操作符如:= 、>、<、<>(有的版本可以是!=)、like、between、>=、<=。

实例:select * from Table1 where id>1

在此处我们要注意sql的字符串是单引号的。

我们可以用Where构造出很多子查询的例子:

select * from Table1 Where id in(select id from Table1 where id>1)

select * from Table1 Where id not in(select id from Table1 where id>1)

 另外需要注意的是all和any,这两个关键字是不能单独使用的,需要和>、<等一些操作符组合,

select * from Table1 where id>any(select id from Table1 where id<2)

这样我们选择出来的操作集是id大于子查询的最小值。all就不言而喻了。

3.and 和 or是结合where中出现的条件的

如:select id ,name from Table1 where name=N‘陈宇’ and id<1

4.order by 按照某一个字段排序,asc为升序、desc为降序

如:select * from Table1 order by id asc(默认就为asc)

如果where与order by 同时出现,那么order by 要在where之后,因为where是在整个数据表上的操作,而order by 是在选择集上的操作,当然需要先选择后排序了。那如果order by 后面有两个字段,则先按照第一个字段排序,然后在第一个字段的基础上再排序第二个字段。

5.insert into 向数据库中插入一条数据

 如:insert into Table(name ,gender,school) values(N‘关羽’,N‘男’,N‘中国人民大学’)

6.updata 表名 set 列名=新值 where 列名=旧值

如:updata Table1 set name=N'刘备' where name=N‘陈宇’

7.delete删除表中数据

如:delete from Table1只是删除数据要是删除表还得是drop

 

 

posted on 2013-01-11 10:52  啄木鸟家园  阅读(258)  评论(0编辑  收藏  举报