隨筆-93  評論-78  文章-11  trackbacks-0

          (表的建立)

          關系數據庫的主要特點之一就是用表的方式組織數據。表是SQL語言存放數據、查找數據以及更新數據的基本數據結構。在SQL語言中,表有嚴格的定義,它是一種二維表,對于這種表有如下規定:

          1)每一張表都有一個名字,通常稱為表名或關系名。表名必須以字母開頭,最大長度為30個字符。
          2)一張表可以由若干列組成,列名唯一,列名也稱作屬性名。
          3)表中的一行稱為一個元組,它相當于一條記錄。
          4)同一列的數據必須具有相同的數據類型。
          5)表中的每一個列值必須是不可分割的基本數據項。

          注意:當用戶需要新的數據結構或表存放數據時,首先要生成一個表。

          語法:

          CREATE TABLE 表名 [表約束]

          (列名1 數據類型 [缺省值1,列約束1]

          (列名2 數據類型 [缺省值2,列約束2]

          列名n 數據類型 [缺省值n,列約束n]

          [TABLESPACE 表空間名稱]

          [STORAGE (存貯的子句)]

          [ENABLE 約束名]

          [DISABLE 約束名]

          插入數據

          當一個表新建成時,它里面沒有數據,通過向表中扦入數據,建成表的實例。

          語句句法:

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

          VALUES(1,值2,…,值n)

          [子查詢]

          假設有一張表Student如下所示:
          NO NAME AGE
          1001 A 12
          1002 B 14

          將新學E增加到表中,并按照表的結構將信息添加完整,需要如下語句:

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

          修改數據

          對表中已有數據進行修改,語句句法:

          UPDATE 表名SET 列名1=表達式1,列名2=表達式2,…

          WHERE 條件;

          例如:對下表Student

          NO NAME AGE
          1001 A 12
          1002 B 14
           




          B的年紀改為18;應該執行以下語句:

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

          刪除數據

          刪除表中已有數據,不能刪除不存在的數據。

          語句句法:
          DELETE FROM 表名 WHERE 條件;
          例如:
          對下面Student表進行刪除,要刪除其中年紀為12的學生;

          NO NAME AGE
          1001 A 12
          1002 B 14



          DELETE FROM STUDENT WHERE AGE
          12

          表結構的修改

          在已存在的表中增加新列,語句句法:

          ALTER TABLE 表名 ADD(新列名 數據類型(長度))

              例如:

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

          b.增加已有列的數據類型。

              例如:

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

          表的刪除

          將已經存在的表刪除,語句句法:

              DROP TABLE表名;

              例如:

              DROP TABLE EMP

          查詢語句

          SELECT命令的語法為:

          SELECT [DISTINCT|ALL] {*|模式名.] {表名|視圖名|

          快照名] .*| {表達式[列別名]…} } [, [模式名. ] {表名|

          視圖名|} .*| 表達式[列別名] ]

          FROM [模式名.] {表名|視圖名|快照名} [@數據庫鏈名] [表別名]

          [, [模式名.] {表名|視圖名|快照名} [@數據庫鏈名]

          [表別名] ]

          [WHERE條件]

          [START WITH條件 CONNECT BY 條件]

          [GROUP BY表達式[,表達式] [HAVING條件]

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

          [ORDER BY{表達式|位置} [ASC|DESC] [, {表達式|位置[ASC|DESC]}]]

          例如:對于STUDENT表:

          NO NAME AGE
          1001 AE 12
          1002 BT 14


           



          (1) 查詢年紀為12的學生姓名;

          SELECT STUDENT.NAME FROM STUDENT WHERE AGE=12;

          (2) 查詢年紀在12至16歲之間的學生姓名;

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

          (3) 查詢年紀在12至16歲之間的學生姓名;

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

          (4) 查詢所有姓名以A開頭的學生的姓名;

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

          (5) 列出所有學生年紀的和,年紀的平均值,最大值,最小值,最大值與最小值之間的差值;

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

          (6) 將所有學生按學號順序升序排列;

          SELECT * FROM STUDENT ORDER BY NO DESC;

          (7) 將所有學生按學號順序升序排列;

          SELECT * FROM STUDENT ORDER BY NO ASC;

          posted on 2007-11-20 23:40 wahaha 閱讀(297) 評論(1)  編輯  收藏 所屬分類: 讓我印象深刻的SQL- 語言基本語句使用記錄

          評論:
          # re: SQL語言基本語句介紹(一) 2008-05-30 10:52 | 懶人
          真的很基礎  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 涿鹿县| 金塔县| 平乐县| 西盟| 济阳县| 农安县| 沙湾县| 那曲县| 文安县| 富平县| 荥阳市| 汉阴县| 庆阳市| 鄂温| 东乡| 宿迁市| 卢龙县| 江城| 肇庆市| 新宁县| 六盘水市| 兴安盟| 广平县| 龙胜| 唐河县| 乐东| 荥经县| 大渡口区| 鲜城| 龙胜| 惠水县| 青海省| 疏附县| 陈巴尔虎旗| 郓城县| 天气| 巴南区| 民县| 桐城市| 荆州市| 东丽区|