SQLServer2005 基本語句

1.表的創建
關係數據庫的主要特色之一就是用表的方式組織數據。表是SQL語言存放數據、查找數據以及更新數據的基本數據結構。在SQL語言中,表有嚴格的定義,它是一種二維表,對於這種表有以下規定:
1)每一張表都有一個名字,一般稱爲表名或關係名。表名必須以字母開頭,最大長度爲30個字符。
2)一張表能夠由若干列組成,列名惟一,列名也稱做屬性名。
3)表中的一行稱爲一個元組,它至關於一條記錄。
4)同一列的數據必須具備相同的數據類型。
5)表中的每個列值必須是不可分割的基本數據項。
注意:當用戶須要新的數據結構或表存放數據時,首先要生成一個表。
語法:
CREATE TABLE 表名 [表約束]
(列名1 數據類型 [缺省值1,列約束1]
(列名2 數據類型 [缺省值2,列約束2]

列名n 數據類型 [缺省值n,列約束n]
[TABLESPACE 表空間名稱]
[STORAGE (存貯的子句)]
[ENABLE 約束名]
[DISABLE 約束名]
 
2.插入數據
 
當一個表新建成時,它裏面沒有數據,經過向表中扦入數據,建成表的實例。
語句句法:
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);
 
3.修改數據 數據庫


對錶中已有數據進行修改,語句句法:
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';
 
4.刪除數據數據結構

 
刪除表中已有數據,不能刪除不存在的數據。
語句句法:
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;
 
5.查詢語句it

 
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;
清空表中全部數據,而不刪除表中字段:
truncate table 表名
distinct 返回惟一的結果集(注意,是結果集,若是你選了N個字段,當N個字段都相同時纔會被視爲相同,而只返回一個。distinct的只顯示一次重複出現的值,這個值出現多少次只顯示一次。)
select distinct <select list> from <talbe name> where <search condition> order by ……io

相關文章
相關標籤/搜索