一. 創建表結構
USE TEST_427 --使用TEST_427這個數據庫,表示對該數據庫進行建表操作GOCREATE TABLE XSB --創建XSB表( StudentNo char(6) NOT NULL PRIMARY KEY, --列名 + 類型 + 是否可為空,最后設置主鍵 StudentName char(8) NOT NULL, StudentSex bit NULL DEFAULT 1, --用default設置默認值,此處設為1 Sbrithday date NULL, StudentSpecialty char(12) NULL, SumCredit int NULL, StudentRemarks varchar(500) NULL --最后不用逗號)
如果不加上 USE TEST_427,那么默認所創建的表為當前數據庫的。
創建一個帶計算列的表
--創建一個帶計算列的表USE TEST_427GOCREATE TABLE TEST_1( CourseID char(3) PRIMARY KEY, --由于主鍵本身不能為空,所以在此可以不加NOT NULL,因為本身就不為空 SumScore real NOT NULL, --real 是浮點型的一種,精度為7位有效數字 SumNumberOfStudent int NOT NULL, AverageScore AS SumScore/SumNumberOfStudent PERSISTED --使用AS字段,還有persisted,表示留存)
如果沒有使用PERSISTED關鍵字,則在計算列上不能添加 PRIMARY KEY, UNIQUE, DEFAULT等約束條件,由于計算列上的值是通過服務器計算得到的,所以在插入或者修改數據時不能對計算列賦值。
二. 修改表結構
--增加列
--在表中增加新列USE TEST_427GOALTER TABLE XSB --修改表XSB ADD scholarship tinyint NULL --增加獎學金這一列GOUSE TEST_427GOALTER TABLE TEST_1 ADD scholarship_1 tinyint NULL,--添加兩個列,用逗號隔開即可 scholarship_2 tinyint NULLGO
--刪除列
--在表中刪除列USE TEST_427GOALTER TABLE XSB DROP COLUMN scholarship --注意添加column表示刪除的是列GO
在寫這段代碼的時候,容易忘了添加一些關鍵字,如column
所以我們可以翻譯成字面意思來加深記憶和理解,翻譯如下:
使用(use)數據庫TEST_427(名稱)
立即執行(上面的代碼)
修改(alter)一個表(table),它的名稱叫TEST_1
刪除(drop)表中一個列(column),它的名稱叫scholarship
立即執行(上面的代碼)
小技巧:在敲SQL語句的時候,可以在心里默念這樣的中文,一來容易記憶,二來不容易出錯漏掉一些關鍵字
--修改列屬性
--修改表中的屬性,使用alter--將姓名的列長度改為10,將出生日期的數據類型從data改為datatimeUSE TEST_427GOALTER TABLE XSB ALTER COLUMN StudentName char(10) --使用alter表示更新修改GOALTER TABLE XSB ALTER COLUMN Sbirthday datetimeGO
--刪除表
--刪除表USE TEST_427GODROP TABLE XSB --drop刪除表
三. 操作表-插入記錄
插入記錄使用 insert 語句
--操作表數據-插入記錄/*向數據庫TEST_427的表XSB中插入如下一行數據:123456,天天,1,1994-11-21,軟件工程,60,NULL*/USE TEST_427GOINSERT INTO XSB --不要忘了加上into VALUES('123456','天天',1,'1994-11-21','軟件工程',60,NULL) --values 單詞后面有s
若表中有默認值,那么在插入表的時候,可以不用對默認值進行賦值操作。
在SQL Server中,可以一次插入多條記錄,每條數據之間用逗號可開即可:
INSERT INTO XSB VALUES ('123457','曉曉',1,'1994-11-24','軟件工程',60,NULL), --注意此處用逗號隔開 ('123458','明明',1,'1994-11-22','軟件工程',60,NULL)
從表XSB中生成計算機專業的學生表,包括學號、姓名、專業,要求新表中的數據結果集中在前4行:
/*從表XSB中生成計算機專業的學生表,包括學號、姓名、專業,要求新表中的數據結果集中在前4行。*/--先創建表USE TEST_427GOCREATE TABLE XSB1( studentNo char(10) PRIMARY KEY, studentName char(12) NOT NULL, speiality char(10) NULL)--插入數據INSERT TOP(4) INTO XSB1 --此處top(4)表示插入的數據為另一個表的前4個數據 SELECT StudentNo,StudentName,StudentSpecialty --按照題目要求,插入的是XSB表中的這幾個元素 FROM XSB --用from表示來自哪個表 WHERE StudentSpecialty = '軟件工程' --約束條件GO
上面這條INSERT語句的功能是:將XSB中專業名為“軟件工程”的各記錄的學號、姓名、專業名列的值插入到表XSB1的各行中。
使用下面的查詢語句進行檢驗查詢:
SELECT * FROM XSB1
運行結果:
四. 操作表-刪除記錄
可以用delete語句或者truncate table語句來實現
舉例1:將TEST_427數據庫的XSB中總學分大于50的行刪除
USE TEST_427GODELETE --使用delete刪除 FROM XSB --來自這張表 WHERE SumCredit < 50; --條件GO
舉例2:將TEST——427數據庫的XSB中備注為空的行刪除
DELETE FROM XSB WHERE StudentRemarks IS NULL --注意isGO
使用TRUNCATE TABLE刪除表數據,將會刪除表中的所有數據,因此也稱為清除表數據語句。注意,使用該語句無法恢復,所以使用時要十分小心。
TRUNCATE TABLE XSB --XSB為所要刪除的表名
五. 操作表-修改記錄
用update語句來修改數據
舉例1:將XSB中學號為123450的學生備注為三好學生
--修改數據USE TEST_427GOUPDATE XSB SET StudentRemarks = '三好學生' --set表示修改 WHERE StudentNo = '123450'GO
運行結果:
新聞熱點
疑難解答