[SQL]幾條使用率最高的SQL語(yǔ)句
(本文瀏覽次數: 26)
一.創(chuàng )建表(含多個(gè)字段)
Create table table_name (column_name1 datatype1,column_name2 datatype2,...)
二.刪除表格(所有記錄)
Delete table_name 刪除"表格記錄"會(huì )把操作記錄在日志中,可以通過(guò)事務(wù)回滾來(lái)恢復刪除的數據
truncate table table_name刪除"表格記錄"不可恢復
三.刪除表
drop table table_name把"表結構"和所有記錄一起刪除掉了
四.備份表
1.備份一樣的表 select *into table_name1 from table_name2
2.備份一份空的表副本 select *into table_name1 from table_name2 where 1=2(因為 1是不可能等于2的,所以建立的表里不會(huì )有記錄)
五.常用Select操作
1.為結果集中的列指定別名(新列名)
Select column_name as newcolumnname from table_name
或:Select newcolumnname=column_name from table_name
2.消除取值重復的行
Select distinct column_name from table_name
3.限制返回行數
選取第一條記錄:select top 1* from table_name
選取前N條記錄: select top N* from table_name
選取最后一條記錄:select top 1* from table_name order by column_name desc
選取最后N條記錄:select top N* from table_name order by column_name desc
選取任意一條記錄(隨機):select top 1* from table_name order by newid()
六.修改字段值
注:下面用c1代表column_name(列名)
1.修改某一字段前幾個(gè)字符
Update table_name set c1=‘123’ + right(c1,len(c1)-3)
2.修改某一字段后幾個(gè)字符
Update table_name set c1=left(c1,len(c1)-3) +’123’
七.對數據進(jìn)行統計
1.返回記錄的條數:Select count(*) as 數目 from table_name
2.返回某列記錄的總和(數據類(lèi)型需是數據類(lèi)) Select sum(column_name) as 總和 from table_name
Select avg(column_name) as 平均數 from table_name
Select max(column_name) as 最大 from table_name
八.常用的幾種查詢(xún)
1.交叉連接查詢(xún)(將兩個(gè)表不加約束地連接在一起,連接產(chǎn)生的結果集的記錄為兩個(gè)表中記錄的交叉乘積,
結果集的列為兩個(gè)表屬性性列的和.(使用時(shí)需兩個(gè)表的記錄條數對應)
Select *from table_name1 cross join table_name2
2.等值與非等值查詢(xún)(返回兩個(gè)表中的兩個(gè)字段中某記錄相同的所有記錄)
Select *from table_name1 inner join table_name2 on table_name1.column_name=table_name2.column.name
例如:Select *from table1 inner join table8 on 姓名=table8.aa
3.自身連接查詢(xún)(可以理解為一個(gè)表的兩個(gè)副本之間的連接)
例:查詢(xún)選修了兩門(mén)或兩門(mén)以上課程的學(xué)生姓名和課程名稱(chēng)(假設有一張學(xué)生選課表table1,姓名字段名為name,課程名稱(chēng)為coursename)
語(yǔ)句該這樣寫(xiě):select a.name,a.coursename from table1 as a join table1 as b on a.name=b.name and a.coursename!=b.coursename
九.外連接查詢(xún)(分為左外連接,右外連接和全外連接)
1.左外連接
Select *from table_name1 left outer join table_name2 on table_name1.column_name=table_name2.column_name
2.右外連接(把left 改為right就行了)
3.全外連接(觸類(lèi)旁通,left 改為 full)
十.子查詢(xún)
1.帶有in運算符的子查詢(xún)
例:查詢(xún)有產(chǎn)品銷(xiāo)售記錄的產(chǎn)品信息
Select *from 產(chǎn)品 where 產(chǎn)品編號 in (select 產(chǎn)品編號 from 產(chǎn)品銷(xiāo)量)
下面舉一個(gè)稍微復雜的例子,涉及到三張表.求選修了課程名為”大學(xué)語(yǔ)文”的學(xué)生學(xué)號和姓名. (大學(xué)語(yǔ)文是課程表的屬性列,學(xué)生學(xué)號和姓名是學(xué)生表的屬性列,兩者 之間通過(guò)課程注冊表聯(lián)系起來(lái))
Select 學(xué)號,姓名 from 學(xué)生表 where 學(xué)號 in(select 學(xué)號 from 課程注冊表 where 課程號 in (select 課程號 from 課程表 where 課程名=‘大學(xué)語(yǔ) 文’))
3.帶有比較運算符的子查詢(xún),常用的比較運算符有>,>=,<,<=,<>,!=,!<,!>.
例:列出高于平均分的學(xué)生的信息(有一張表名為學(xué)生,含學(xué)號和姓名兩個(gè)屬性列,課程注冊表含學(xué)號和成績(jì)屬性列)
Select *from 學(xué)生 Where 學(xué)號 in (select 學(xué)號 From 課程注冊 Where 成績(jì) > (select avg(成績(jì)) from 課程注冊))
實(shí)用SQL語(yǔ)句
1.添加新記錄
Insert into TableName(字段1,字段2,...) values(value1,value2,...)
例如:insert into Soft_info(SoftName) values(‘" + SoftNameTxtBox.Text + "‘)
2.修改任意一條記錄(如要修改多條記錄,可同時(shí)寫(xiě)多條語(yǔ)句)
Update Table_Name set Column_Name=** where ID=***
例如:Update table8 set aa=44 where ID=1
3.刪除某條記錄:
Delete from Table_Name where 條件
例如:Delete from table8 where ID=3
4.刪除某一字段:
alter table Table_Name drop column Column_Name
例如:alter table table8 drop column cc
聯(lián)系客服