SQL語句之語法匯總(一)


 

  前段時間安裝了sqlserver及management,編寫了一些sql語句,現在對sql中常用的幾個語法進行總結、分析與代碼實例演示。

  匯總一只介紹基本語法,較復雜的排序、分組等操作將在之后的文章中陸續總結!

一.創建表、修改表與刪除表

  1.1代碼

1.創建表:
create table Person5(Id int not null,Name nvarchar(50),Age int null)
2.修改表:
alter table T_Employee add FSubCompany varchar(20);   --表中添加分公司
alter table T_Employee add FDepartment varchar(20);   --表中添加部門
3.刪除表:
drop table person4;

1.2分析

  1)create實現在代碼中直接生成表,表的字段可以再表名(Person5)后面逐一定義,格式為:字段名 類型  為空與否;

  2)alter是在表中添加新的字段,定義其名稱和類型;

  3)drop將整個表刪掉。

 

------------------------------------------------

  博主經營一家發飾淘寶店,都是純手工制作哦,開業沖鑽,只為信譽!需要的親們可以光顧一下!謝謝大家的支持!
店名:
  小魚尼莫手工飾品店
經營:
  發飾、頭花、發夾、耳環等(手工制作)
網店:
  http://shop117066935.taobao.com/

  ---------------------------------------------------------------------

繼續正題... 

  

二.數據的添加、更新與刪除

  2.1代碼

1.添加數據:
--1)一般添加:
insert into Person1(Id,Name,Age)values(3,'小王',20);
--2)id設置主鍵后,自動生成,id項不必insert操作:
insert into Person3(Name,Age)values('lily',20);   --正確
insert into Person3 values('john',30);           --正確
--3)id設置主鍵后,自動生成,若使用guid類型,需要程序員干預生成: create table Person5(Id uniqueidentifier not null,Name nvarchar(50),Age int null); insert into Person4(Id,Name,Age)values(newid(),'tom',30); --正確 insert into Person4(Name,Age)values('tom',30);        --錯誤
2.更新數據
--1)無條件更新:
update Person1 set Age=20;                 --更新一個列/字段
update Person1 set Age=30,Name='xiaoxiao'  --更新多個列/字段 
update Person1
set Age=Age+1;
--2)條件更新
update Person1
set NickName=N'青年人' where Age>=20;
update Person1
set NickName=N'二十歲' where Age=20;                --等於 只有一個等號
update Person1
set NickName=N'非二十歲' where Age<>20;              --不等於
update Person1
set NickName=N'非二十歲' where (Age>20 and Age<30)or Age=20; --不等於 and or not
3.刪除表中某些內容
--1)刪除表中的全部數據
delete from Person1;
--2)刪除表中符合條件的數據
delete from Person1 where Age>=30;
 2.2分析

  1)name等字段可在屬性中設置默認值,當不添加時會使用默認值;

      guid做主鍵,數據插入的順序與實際排列的順序不同;Id項需要添加進去后,點擊sql執行,才能將guid添加進去!

    在數據添加第二種情況下,兩種寫法都正確!即多項insert時后面可省略字段名稱,但不建議如此書寫!

    有些人喜歡講into去掉,直接用inset  Person(...);也不會報錯,但加上into更規范一些!

  2)執行update時,如果沒有where條件,則將表中所有相應字段的所有值都更新;另外,update可以執行計算語句,如:update Person1 set Age=Age+1;

      注意在sql語句中邏輯運算符的使用:等於號為=,不等於號為<>,並且為and,或者為or!

    當sql中出現中文時,在中文字符串前加上N,如 NickName=N'青年人'。

  3)與前文中drop方法不同,drop直接將表刪除;而delete實現對表中滿足特定條件(where Age>=30)數據的刪除操作。

三.select查詢

  3.1代碼

1.簡單select
select FName from T_Employee;                   --單字段查詢 
select FNumber,FName,FAge,FSalary from T_Employee;        --多字段查詢
select * from T_Employee;                       --所有字段查詢
2.條件select
select FName,FSalary from T_Employee where FSalary<5000;     --按工資條件查詢
select * from T_Employee where FSalary<5000;
3.可以給列加“別名”,運算操作也可以執行:
select FName as 姓名 ,FSalary+10000 as 月薪 from T_Employee  where FSalary<5000;
4.范圍
a)多個單值的等價方式
select * from T_Employee where FAge=23 or FAge=26 or FAge=28;  --or條件選擇,等價於下方 
select * from T_Employee where FAge in (23,26,28);
b)范圍值的等價方式
select * from T_Employee where FAge>=20 and FAge<=25;          --范圍,等價於下方
select * from T_Employee where FAge between 20 and 25;      --包含邊界點!,不好用,當條件為FAge>20 and FAge<25時即不可用!

  3.2分析:

  select就是從某表中,獲取到滿足條件的結果,涉及到單條件及多條件語句,查詢結果顯示也可利用別名等進行設定。

四.SQL聚合函數

  4.1代碼:

select MAX(FSalary) from T_Employee ;
select SUM(FSalary) from T_Employee where FAge>25;

  4.2分析:

  1)SQL聚合函數:MAX(最大值)、MIN(最小值)、AVG(平均值)、SUM(和)、COUNT(數量)。

  3)聚合函數不是實際意義上對表的聚合;而是對查詢結果的聚合。

  2)代碼為:查詢最高工資、25歲以上工資之和。

 

店名:
  小魚尼莫手工飾品店
經營:
  發飾、頭花、發夾、耳環等(手工制作)
網店:
  http://shop117066935.taobao.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM