插入數據語法格式:
insert [into] <表名> [列名] values <值列表>
;
- [into]:可選項,可以忽略。
- 表名是必須的,而表的列名是可選的,如果省略,<值列表>中順序與數據表中字段順序保持一致。
- 多個列名和多個值列表用逗號分隔。
如向test表中插入一行數據,可以使用如下T-SQL語句:
insert into test (姓名,×××號,職務,出生日期,基本工資)
values ('張三','123465789','運維工程師','1995-10-01',12000) #向表中插入員工張三的信息
注意SQL語句中的符號都是在英文輸入法中輸入的,否則會報錯。
更改表中數據update test set 基本工資=12000 where 姓名='李四' #把test表中的李四工資更改爲12000元。
刪除表中數據delete from test where 姓名='張三' #刪除表中張三的行記錄
delete from test #刪除test表中所有行
truncate table test #刪除test表中所有行
truncate 和delete 語句都用來刪除記錄,區別如下:
- Truncate不帶where子句,只能將整個表數據清空,而delete可以帶where子句,允許按條件刪除某些記錄。
- Truncate table語句不記錄事務日誌,而delete語句無論刪除多少記錄,都會每刪除一行就記錄一條事務日誌,所以使用Truncate table 語句刪除數據後是無法通過事務日誌恢復的。
- Truncate table語句刪除表中所有行,標識列會重置爲0,而delete語句不會重置標識列。
- Truncate table語句不能刪除表有外鍵約束引用的表,這種情況可以使用delete語句。
select查詢語法結構
在SQL server中,select語句的語法如下:
select 要查詢的列
[ into 生成新表的名 ]
from [表名]
[where 查詢條件]
[group by 指定查詢結果的分組條件] [ having ] 指定分組搜索條件,通常和group by 子句一起使用
[ order by 指定排序規則 desc&asc ] #desc爲降序,asc爲升序,默認不指定的話爲升序
條件表達式
邏輯表達式
查詢舉例select * from test #把test表中的所有列信息都列舉出來
select 姓名,職務,基本工資 from test #查詢表中的姓名,職務,基本工資列內容
select 姓名 from test where 職務='運維人員' #查詢表中所有運維人員的姓名
select * from test where 基本工資 between 8000 and 10000 #查詢test表中基本工資8000到10000之間的員工所有信息
select * from test where 基本工資<10000 or 基本工資>20000 #查詢表中基本工資低於10000或高於20000的員工所有信息
select * from test where 基本工資 in (8000,9000,10000) #查詢表中工資爲8000,9000,和10000的員工所有信息。
select * from test where ×××號 like '66%' #查詢test表中×××號以66開頭的員工所有信息。
select * from test where 姓名 like '楊%' and 職務='運維工程師' #查詢表中姓楊的運維工程師的信息
select * from test where 備註 is not null #查詢表中備註不爲空的員工所有信息。
select top 5 * from test #查詢表中前5行的數據。
select * from test order by 基本工資 desc #查詢test表中所有的信息,並按照基本工資從高到低顯示查詢結果。
select distinct 職務 from test #查詢test表中有哪些職務
使用SELECT生成新數據
1、select 使用into關鍵字:select 姓名,×××號,職務 into new01 from test #將test表中所有員工的姓名、×××號和職務生成一個新表new01。
2、insert 使用select關鍵字:
insert into Table_1 (姓名,職務,出生日期) select 姓名,職務,出生日期 from test where 基本工資>=15000 #將test表中所有基本工資大於等於15000的員工的姓名,職務,和出生日期保存到 Table_1表中(注意,這裏的 Table_1表中需要提前建立)
3、使用union關鍵字:insert into table_1 (姓名,職務,出生日期) <br/>select '張三','運維','1995-01-01' union <br/>select '李四','運維','1996-01-01' union <br/>select 姓名,職務,出生日期 from test #將test表中所有員工的姓名、職務和出生日期,以及新輸入的2名員工相關信息,一起保存到新表table_01