SQL數據庫知識二(Day 25)


又到了總結知識的時候了,今天主要把SQL數據庫給簡單的學完了,明天開始就要開始學ADO.NET的知識了。好了,話不多說,還是看一下今天都學了哪些內容。

1  字符串類型的知識點

--類型的使用 --截取字符串 select 姓名,substring(姓名,1,1) as 姓氏,substring(姓名,2,2)as 名字 from 職工 --substring(express,start,length)  --express:字符串 start:整數 制定字符串分割的開始位置 length: 分割的長度 --大小寫的轉換 select 倉庫號,UPPER(倉庫號) as 倉庫號大寫,面積 from 倉庫 select 倉庫號, lower(倉庫號) as 倉庫號小寫,面積 from 倉庫 --轉換 select 倉庫號,CONVERT (char(10),創建時間,111) as 創建時間 from 倉庫 --將datatime轉換為字符串。 --111的顯示格式:mm/dd/yy 

 

結果是:

 

 補充:

 

 

2.聚合函數以及分組

 

3 查詢語句

 (1)簡單查詢

--查詢 select 城市,面積 from dbo.倉庫 --查詢倉庫表中的城市,面積 select 倉庫Id,倉庫號,城市,面積,創建時間 from dbo.倉庫 --查詢倉庫表中的所有列 select * from dbo.倉庫 --查詢倉庫表中的所有列(這里不建議用*,因為會影響計算機的性能) select distinct(城市) from 倉庫 --去除重復的列值 select 姓名,性別,工資,漲后工資=工資*1.1 from 職工 --計算添加的列 select 姓名 as name from 職工 --將姓名列名改為name(這里只是顯示出來name,在表結構中是未改的) select 姓名,性別,工資 from 職工 where 姓名='吳平安' -- 查找姓名為吳平安的信息 select 姓名,性別,工資 from 職工 where 姓名!='吳平安' --查找姓名不為吳平安的信息(這里不等於“!=” or “<>”) select * from dbo.職工 where 工資>1500 and 性別='' --查找工資大於1500並且性別為男的信息 select * from 倉庫 where not(城市='上海' or 城市='濟南') --查找城市不是上海或濟南的倉庫信息 select * from 職工 where 工資 not between 1200 and 1800 --查找不在范圍內的信息 select * from dbo.倉庫 where 城市 is null --查找城市為空的倉庫信息 --模糊查詢 --“%:可以是多個字符” --“_:只能是一個字符” select * from 職工 where 姓名 like '%平%' and 工資 between 1000 and 2000 select * from 職工 where 姓名 like '_平_' --排序 select * from 職工 order by 工資 ASC,倉庫號 DESC select * from 職工 order by 工資 desc select * from 職工 order by NEWID() --隨即排序 select top 10 percent * from 職工 --查找記錄的前10%

(1)表查詢和插入、修改、刪除記錄

--連接查詢 select 姓名,職工號,工資,城市 from 職工,倉庫 --笛卡爾積 這種查詢很少用 --多表連接 select 姓名,工資,城市 from 職工,倉庫 where 職工.倉庫號=倉庫.倉庫號 --內連接(inner join) select 姓名,城市 from 職工 inner join 倉庫 on 職工.倉庫號=倉庫.倉庫號 --左連接(left join) select 姓名,城市 from 職工 left join 倉庫 on 職工.倉庫號=倉庫.倉庫號 --只顯示左表(職工)的數據和倉庫表中倉庫號相對應的數據 --右連接(right join) select 姓名,城市 from 職工 right join 倉庫 on 職工.倉庫號=倉庫.倉庫號 --只顯示右表(倉庫)的數據和職工表中倉庫號相對應的數據 --全連接(full join) select 姓名,城市 from 職工 right join 倉庫 on 職工.倉庫號=倉庫.倉庫號 --兩個表中的數據都會顯示 --插入記錄 insert into 職工(職工號,姓名,性別,工資) values('zg20','cindy','','2000') --插入一條記錄 insert into 職工(職工號,姓名,性別,工資) values('zg21','萊恩','','2050'), --插入多條記錄 ('zg22','阿薩德','','2150'), ('zg23','張三','','1909') --修改記錄 update 倉庫 set 面積=888,創建時間='2014-12-09' where 倉庫號='wh2' --刪除記錄 -->刪除信息 delete 倉庫 where 倉庫號 in('wh1','wh2') --刪除多條記錄 drop table 倉庫 --刪除倉庫表 truncate table 倉庫 --清空倉庫表中的數據

 

補充:delete 表名 where 條件                     

        drop table 表名

        truncate table 表名

區別:

 

DELETE  是有條件的刪除表中的數據,如果不寫條件,全表刪除,而刪除后,表仍然存在,仍可以對表進行操作。被刪除的數據存儲在事務日志文件中。delete from刪空表后,會保留一個空的頁
 
DROP TABLE,是從數據庫中刪除表。刪除后,表結構不在存在,無法再對該表進行任何操作。
 
truncate 清空數據,不可以寫where條件,truncate在表中不會留有任何頁。在刪除記錄時,SQL Server系統將釋放表中記錄和索引占據的存儲空間,但不會把這些變化過程記錄在事務日志文件中。
 
 
感覺今天老師講的也不多,只不過這些知識都很碎,然后在學校也接觸過,所以學起來不是很困難。明天就要開始學習ADO.NET知識了,所以首先先來了解下什么是ADO.NET
 
   ADO.NET的名稱起源於ADO(ActiveX Data Objects),是一個COM組件庫,用於在以往的Microsoft技術中訪問數據。之所以使用ADO.NET名稱,是因為Microsoft希望表明,這是在NET編程環境中優先使用的數據訪問接口。簡單來說,ADO就是用來訪問數據庫的。一般是有四步:1:連接字符串 2:打開連接 3:執行數據庫sql語句 4:返回執行結果
 
 好了,關於如何來操作,明天再繼續總結吧。加油!
 

 


免責聲明!

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



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