天天看點

T-SQL之資料操作(一):增删改

      對于資料庫中的資料操作主要有增删查改這四種操作,下面将分别從這幾個方面進行說明(本章僅介紹增删改,查詢操作将會作為單獨的一章來說明)。

1、增加操作:

向資料庫中添加資料主要使用(INSERT INTO 語句)

INSERT文法:
	INSERT INTO table_name (list_column) VALUES (list_value)

	--文法說明:
	--table_name:要添加資料的表名稱
	--list_column:列名稱集,要為那些列添加資料
	--list_value:值集,将該值添加到資料庫中
--注意事項:
--1、注意語句的完整性(在下面的例子中将會展示一個特殊的insert語句)
--2、列項的個數與值集合個數必須一緻
--3、列項的順序與值集合的順序必須一緻
--4、對于資料類型為datetime和字元類型的列項在插入資料時注意要使用單引号将資料包含在内
--5、對于資料類型為bit的列項在插入資料時,注意使用0和1進行插入操作(1代表true、0代表false)
--(在高版本的SQL Server中向表中插入中文時,要注意以“N'張三'”的形式進行插入,但當你向資料表中插入一些不常用的字元時,必須要使用該形式)
           

建立一個測試的資料表

CREATE TABLE Student
(
	stu_Id INT NOT NULL PRIMARY KEY,
	stu_Name NVARCHAR(4) NOT NULL,
	stu_Gender BIT DEFAULT 0,
	stu_Age INT NULL
)
GO
           

示例代碼:

代碼展示:
1)、完整的INSERT語句
INSERT INTO Student
 (stu_Id,stu_Name,stu_Gender,stu_Age)
 VALUES(111,N'張三',0,12)
GO
--代碼說明:所有的列項都要添加新的資料,

2)、不完整的INSERT語句(insert語句的簡寫形式)
INSERT INTO Student
 (stu_Id,stu_Name,stu_Age)
 VALUES(101,N'李四',12)
 --代碼說明:雖然stu_Gender的設定是NOT NULL,但是也對其進行了預設值設定,當不為其添加數值時,資料庫系統會将預設值賦給它
 --			但是對于另一些為NOT NULL的項,若沒有為其設定預設值,則不能這樣簡寫(除非該項被設為NULL)
 --即上面的插入代碼等同于
 INSERT INTO Student
 (,stu_Name,stu_Gender,stu_Age)
 VALUES(111,N'張三',DEFAULT,12)
GO

 INSERT INTO Student
 VALUES(102,N'王五',0,13)
 GO
 --代碼說明:對于這種省略列項的表達,值集合必須包含全部的列項(即使有項已經設定了預設值也不可以省略)

 3)、進行批量插入操作
INSERT INTO Student
 (stu_Name,stu_Gender,stu_Age)
 SELECT stu_Name,stu_Gender,stu_Age 
  FROM Student
GO
--代碼說明:将從一個表中查詢到的資料批量的插入到表中

SELECT * INTO Student1
 FROM Student 
 WHERE 1<>1
GO
--代碼說明:複制一張表的結構資訊,但是裡面的内容沒有複制

SELECT * INTO Student2
 FROM Student 
GO
--代碼說明:複制一張表中結構,并将該表中的資料資訊也拷貝了一份(可以用來備份單個表)
           

 2、删除操作

删除操作主要使用删除資料表中的資料

 常用文法:

 DELETE FROM table_name WHERE語句 示例代碼:

1)、删除該資料表中的所有資料
 DELETE FROM Student
 GO
 --代碼說明:delete語句沒有添加where語句時,将會删除整個資料表中的資料

 2)、删除資料表中指定條件的資料
 DELETE FROM Student WHERE stu_Id = 111
 GO

 3)、三種清空表的比較
 TRUNCATE TABLE Student
 --代碼說明:清空整張資料表,隻産生一行日志資訊
 DELETE FROM Student
 --代碼說明:删除整張表中的資料,每删除一行資料就會産生一條日志資訊
 DROP TABLE Student
 --代碼說明:将該資料表徹底删除,(破壞了資料表的結構)
           

 3、修改操作

修改操作就是對資料表中的某一行或某些行進行修改操作

常用文法:
 UPDATE table_name SET 條件 WHERE語句
 --代碼說明:
 --table_name:想要修改的資料表的名稱
 --STE語句:為列項設定新的值
 --WHERER語句:進行條件選擇
           

示例代碼:

1)、修改指定的資料
 UPDATE Student 
  SET stu_Age=0  
  WHERE stu_Id = 101
GO
--代碼說明:設定學号為101的學生的年齡為0

2)、修改全部的資料資訊
 UPDATE Student 
  SET stu_Age=0 
GO
--代碼說明:設定該資料表中的學生的年齡全部為0(該操作不可控,一般情況下不使用)

3)、其他形式的修改語句、
UPDATE Student
 SET stu_Age += 1
GO 
--代碼說明:資料表中學生的年齡全部加一

UPDATE Student 
 SET stu_Age = 19
 WHERE stu_Age IS NULL
GO
--代碼說明:将資料表中年齡為NULL的值設定為19

UPDATE Student
 SET stu_Age = 19
  WHERE stu_Age IS NULL AND stu_Id = 101
GO
--代碼說明:若學号為101的學生的年齡為NULL則将其設定為19 

--關于WHERE語句隻做了簡單的描述,詳細的描述将放到select語句中