??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲一区二区在线观,97中文在线,久久久久久久久久久久久久久久久久avhttp://www.aygfsteel.com/wahahacj/category/27436.htmlzh-cnTue, 20 Nov 2007 21:39:55 GMTTue, 20 Nov 2007 21:39:55 GMT60SQL语言基本语句介绍(一)http://www.aygfsteel.com/wahahacj/articles/161974.htmlwahahawahahaTue, 20 Nov 2007 15:40:00 GMThttp://www.aygfsteel.com/wahahacj/articles/161974.htmlhttp://www.aygfsteel.com/wahahacj/comments/161974.htmlhttp://www.aygfsteel.com/wahahacj/articles/161974.html#Feedback0http://www.aygfsteel.com/wahahacj/comments/commentRss/161974.htmlhttp://www.aygfsteel.com/wahahacj/services/trackbacks/161974.html(表的建立)

关系数据库的主要特点之一是用表的方式组l数据。表?font size="3">SQL语言存放数据、查找数据以及更新数据的基本数据l构。在SQL语言中,表有严格的定义,它是一U二l表Q对于这U表有如下规定:

1)每一张表都有一个名字,通常UCؓ表名或关pd。表名必M字母开_最大长度ؓ30个字W?/font>
2)一张表可以pq列l成Q列名唯一Q列名也UC属性名?/font>
3)表中的一行称Z个元l,它相当于一条记录?/font>
4)同一列的数据必须h相同的数据类型?/font>
5)表中的每一个列值必L不可分割的基本数据项?/font>

注意Q当用户需要新的数据结构或表存放数据时Q首先要生成一个表?/font>

语法Q?/p>

CREATE TABLE 表名 [表约?/font>]

(列名1 数据cd [~省?Q列U束1]

(列名2 数据cd [~省?Q列U束2]

列名n 数据cd [~省值nQ列U束n]

[TABLESPACE 表空间名U]

[STORAGE (存贮的子句)]

[ENABLE U束?/font>]

[DISABLE U束?/font>]

插入数据

当一个表新徏成时Q它里面没有数据Q通过向表中扦入数据,建成表的实例?/p>

语句句法Q?/font>

INSERT INTO 表名[(列名1,)]

VALUES(?/font>1Q?/font>2Q?#8230;,值n)

[子查?/font>]Q?/font>

假设有一张表Student如下所C:
NO NAME AGE
1001 A 12
1002 B 14

新?/font>?/font>E增加?/font>?/font>表中Qƈ按照表的l构信息添加完_需要如下语句:

INSERT INTO STUDENT VALUSE(1003, 'E',12); 

修改数据

对表中已有数据进行修改,语句句法Q?/font>

UPDATE 表名SET 列名1Q表辑ּ1Q列?/font>2Q表辑ּ2Q?#8230;

WHERE 条gQ?/p>

例如Q?font size="3">对下表Student

NO NAME AGE
1001 A 12
1002 B 14
 




?/font>B的年U改?8Q应该执行以下语句:

UPDATE STUDENT SET AGE=18 WHERE NAME='B';

删除数据

删除表中已有数据Q不能删除不存在的数据?/font>

语句句法:
DELETE FROM 表名 WHERE 条gQ?br /> 例如Q?br /> 对下面Student表进行删除,要删除其中年Uؓ12的学生;

NO NAME AGE
1001 A 12
1002 B 14



DELETE FROM STUDENT WHERE AGE
Q?/font>12Q?br />

表结构的修改

在已存在的表中增加新列,语句句法Q?/font>

ALTER TABLE 表名 ADD(新列?数据cd(长度))Q?/p>

    例如Q?/font>

    ALTER TABLE STUDENT ADD (DEPARTMENT CHAR(8));

b.增加已有列的数据cd?/p>

    例如Q?/p>

    ALTER TABLE STUDENT MODIFY(NAME VARCHAR2(25));

表的删除

已l存在的表删除,语句句法:

    DROP TABLE表名Q?/p>

    例如Q?/font>

    DROP TABLE EMPQ?/font>

查询语句

SELECT命o的语法ؓQ?/font>

SELECT [DISTINCT|ALL] {*|模式?/font>.] {表名|视图?/font>|

快照?font size="3">] .*| {表达?font size="3">[列别?font size="3">]…} } [, [模式?font size="3">. ] {表名|

视图?/font>|} .*| 表达?/font>[列别?/font>] ]

FROM [模式?] {表名|视图名|快照名} [@数据库链名] [表别名]

[, [模式?/font>.] {表名|视图?/font>|快照名} [@数据库链?/font>]

[表别?/font>] ]

[WHERE条g]

[START WITH条g CONNECT BY 条g]

[GROUP BY表达?/font>[Q表辑ּ] [HAVING条g]

[UNION|UNION ALL |INTERSECT|MINUS]SELECT命o

[ORDER BY{表达?/font>|位置} [ASC|DESC] [, {表达?/font>|位置[ASC|DESC]}]]

例如Q对于STUDENT?

NO NAME AGE
1001 AE 12
1002 BT 14


 



(1) 查询q纪?2的学生姓名;

SELECT STUDENT.NAME FROM STUDENT WHERE AGE=12;

(2) 查询q纪?2?6岁之间的学生姓名Q?/p>

SELECT STUDENT.NAME FROM STUDENT WHERE AGE BETWEEN 12 AND 16;

(3) 查询q纪?/strong>?2?6岁之间的学生姓名Q?/p>

SELECT STUDENT.NAME FROM STUDENT WHERE AGE NOT BETWEEN 12 AND 16;

(4) 查询所有姓名以A开头的学生的姓名;

SELECT STUDENT.NAME FROM STUDENT WHERE NAME LIKE 'A%';

(5) 列出所有学生年U的和,q纪的^均|最大|最|最大g最g间的差|

SELECT AVG(AGE), SUM(AGE), MAX(AGE), MIN(AGE), MAX(AGE)-MIN(AGE);

(6) 所有学生按学号序升序排列Q?/font>

SELECT * FROM STUDENT ORDER BY NO DESC;

(7) 所有学生按学号序升序排列Q?/font>

SELECT * FROM STUDENT ORDER BY NO ASC;



wahaha 2007-11-20 23:40 发表评论
]]>
վ֩ģ壺 ʯ| ɳ| | | ΢ɽ| ״| | | | | Ԫ| ߱| | | | | | | Ʊ| ׳| | | ϻ| | | | | բ| ǿ| | | | | | | ɽ| ҵ| ͺ| | | |