程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL語言基本教程(2)

SQL語言基本教程(2)

編輯:關於SqlServer
 創建表格

        這個create table語句是用於創建一個新的表格。以下是一個簡單創建表格語句的格式:

create table "tablename"("column1" "data type","column2" "data type", "column3" "data type");

如果你想使用可選的約束,創建表格的格式為:

create table "tablename"("column1" "data type" [constraint],"column2""datatype"[constraint],

"column3" "data type" [constraint]);

[ ] = optional 這裡注意:你可以任意創建多列的表格,這個條件是可選的。

為了更好的理解,下面舉個例子:

create table employee(first varchar(15),last varchar(20),age number(3),address varchar(30),city varchar(20),

state varchar(20));

為了創建一個新表格,你可以在關鍵字create table之後跟著表的名字,然後一個圓左括號”(”,然後是第一列的名字,再是這一列的數據類型,接著是任意的可選約束,最後是圓右括號”)”。確保在開始表格內容之前使用圓左括號並且在表的最後一列定義之後使用圓右括號是相當重要的。你還要保證每一個列定義之間有逗號分隔。最後在SQL語句結束時候加上分號";"。

表格和列名必須以字母開頭,第二個字符開始可以是字母、數字或者下劃線,但是要保證名字的總長度不要超過30個字符。在定義表格和列名不要使用不要使用SQL預定的用於表格或者列名的關鍵字(比如"select"、"create"、 "insert"等等),以避免錯誤的發生。

數據類型是指在特定的列使用什麼樣數據的類型。如果一個列的名字為"Last_Name",它是用來容納人名的,所以這個特定列就應該采用"varchar" (variable-length character,變長度的字符型) 數據類型。

以下是幾種常見的數據類型:

char(size) :固定長度的字符串型。Size是圓括號中指定的參數,它可以由用戶隨意設置,但是不能超過255個字節。

varchar(size) :變長度的字符串型。它的最大長度是由括號中的參數size設定的。

number(size):數值型。最大數字的位數由括號中的參數size設置。

date :日期數值型。

number(size,d) :數值型。它的最大數字的位數由括號中的參數sIEze設定,而括號中的參數d是設置小數點的位數。

什麼是約束呢?當表被創建的時候,可以一列也可以多列共用一個約束。約束是一個跟列有關的基本准則,返回的數據必須遵循這個准則。下面舉個例子,一個約束指定在一列中不能有兩個記錄共用一個數值。它們必須單獨的。其它兩個流行的約束是:"not null",它設置了列不能留空白,即一定要有數據;以及"primary key"(主鍵),主鍵約束定義了表中每一個記錄(或行)的唯一標識。所有的這些將在以後的教程中再作進一步闡述。

好吧,也許你已經有躍躍欲試的沖動了。作為本節練習,下面我們自己來設計和創建表格。你可以開始創建一個公司的雇員表格。你需要創建一個包含firstname、lastname、 title、 age和 salary的表格。

 

插入數據到表

 Insert語句用於往表格中插入或者增加一行數據,它的格式為:

insert into "tablename"(first_column,...last_column)values (first_value,...last_value);

[] = optional

簡單舉個例子:

insert into employee(first, last, age, address, city)values (''Luke'', ''Duke'', 45, ''2130 Boars Nest'', ''Hazard Co'');

這裡要注意:每一個字符竄都要用單引號括起來。

為了往表中插入數據,要在關鍵字insert into之後緊跟著表名,然後是左圓括號,接著是以逗號分開的一系列的列名,再是一個右圓括號,然後在關鍵字values之後跟著一系列用圓括號括起的數值。這些數值是你要往表格中填入的數據,它們必須與指定的列名相匹配。字符串筆譯用單引號括起來,而數字就不用。在上面的例子中,''Luke''必須與列first相匹配,而45必須與列age相匹配。

假如你想往employee表格中插入以下數據;

Zhang Weiguo,28,北京601信箱,北京

那麼你要使用以下的SQL語句:

insert into employee(first, last, age, address, city)values ('' Zhang'', '' Weiguo'' ,28, ''北京601信箱'', ''北京'');

更新記錄

Update語句用於更新或者改變匹配指定條件的記錄,它是通過構造一個where語句來實現的。其語句格式如下:

update "tablename"set "columnname" = "newvalue"[,"nextcolumn" = "newvalue2"...]where "columnname" OPERATOR "value" [and|or "column" OperaTOR "value"];

[] = optional

下面舉個例子來說明:

update phone_book set area_code = 623 where prefix = 979;

以上語句是在phone_book表中,在prefix=979的行中將area_code設置為623。

update phone_book set last_name = ''Smith'', prefix=555, suffix=9292 where last_name = ''Jones'';

而以上的這段語句是在phone_book中,在last_name= ''Jones''的行中將last_name 設置為 ''Smith'', prefix為555, suffix為9292。

update employee set age = age+1 where first_name=''Mary'' and last_name=''Williams'';

這段語句是在employee表中,在first_name=''Mary'' 和last_name=''Williams''的行中將age加1。

作為每課一練,你在結束本教程之後要好好作以下的練習:

1 因為JonIE Weber 已經跟Bob Williams結婚,所以它需要將它的last名更新為Weber-Williams。

2 Dirk Smith的生日是今天,所以他的年齡應該加1。

3 所有的秘書都叫做"Administrative Assistant".所以要將所有的標題標題都相應地修改。

就作這幾個練習,千萬不可大意喲。

刪除一個表格

Drop table命令用於刪除一個表格或者表中的所有行。其語法格式為:

drop table "tablename"

下面舉個例子:

drop table employee;

為了刪除整個表(包括所有的行),可以使用drop table命令後加上tablenameDrop table命令跟從表中刪除所有記錄是不一樣的:

  刪除表中的所有記錄是留下表格(只是它是空的)以及約束信息;而drop table是刪除表的所有信息,包括所有行、表格以及約束信息等等。

刪除記錄

Delete語句是用來從表中刪除記錄或者行,其語句格式為:

delete from "tablename"where "columnname" OPERATOR "value" [and|or "column" OperaTOR "value"];

[ ] = optional

下面還是舉個例子:

delete from employee;

這條語句沒有where語句,所以它將刪除所有的記錄,因此如果沒有使用where的時候,要千萬小心。

如果你只要刪除其中一行或者幾行,可以參考以下的語句:

delete from employee where lastname = ''May'';

這條語句是從emplyee表中刪除lastname為''May''的行。

delete from employee where firstname = ''Mike'' or firstname = ''Eric'';

這條語句是從emplyee表中刪除firstname''Mike''或者''Eric''的行。

為了從表中刪除一個完整的記錄或者行,就直接在"delete from"後面加上表的名字,並且利用where指明符合什麼條件的行要刪除即可。如果你沒有使用where子句,那麼表中的所有記錄或者行將被刪除。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved