首頁 資料庫 mysql教程 The operations in SQLServer2005(SQL)

The operations in SQLServer2005(SQL)

Jun 07, 2016 pm 03:34 PM
s the

虽然现在Microsoft的产品SQLServer好像不太受欢迎(从我身边了解到的),这里就简单说说一些SQLServer的SQL,其中很多是标准的SQL语句,数据库通用的。 连接步骤 //前期准备 String driver =com.microsoft.sqlserver.jdbc.SQLServerDriver;URL: String url =jd


虽然现在Microsoft的产品SQLServer好像不太受欢迎(从我身边了解到的),这里就简单说说一些SQLServer的SQL,其中很多是标准的SQL语句,数据库通用的。

连接步骤

//前期准备

String driver =com.microsoft.sqlserver.jdbc.SQLServerDriver;
URL: String url =jdbc:sqlserver://localhost:1433;databadeName=db_Blog;
USERNAME: String username = sa;
PASSWORD: String password = ysjian //按照自己的设定
登入後複製

//利用发射机制创建类的加载和连接

Class.forName(driver);
Connection conn =DriverManager.getConnection(url,username,passWord);
登入後複製

//执行预编译

String sql ;
String[] param;
PreparedStatementpstm  = conn.prepareStatement(sql);
If(param!=null&?m.length>0){
         for(inti=0;i<param.length i pstm.setstring><br>
<br>

<p>执行查询:ResultSetrs = pstm.executeQuery();</p>
<p>执行更新:int result = pstm.executeUpdate();</p>
<p> </p>
<p><strong>主键(primarykey)</strong>:数据的唯一标识,不会重复的列做主键</p>
<p>1.      业务主键:使用有业务意义的字段做主键,如用户名,身份证号,银行账号等(不推荐)</p>
<p>2.      <span>逻辑主键:</span>使用无任何意义的字段做主键,因为很难保证业务主键不会重复,所以<span>推荐使用逻辑主键</span></p>
<p><strong>外键(foreignkey):</strong>在表与表之间建立联系的枢纽,标间关联</p>
<p> </p>
<p><strong>列的数据类型:</strong></p>
<p>bit(0或1):相当于boolean类型的数据; </p>
<p>char(n):不可变的字符串,不足部分用空格填充</p>
<p>varchar(n):最大长度为8000</p>
<p>nvarchar(MAX):类似无限大,2^31-1</p>
<p>datetime(时间类型):date</p>
<p>timestamp:时间戳,时间格式较全的格式</p>
<p>uniqueidentifier:唯一标示符(推荐做主键)</p>
<p><strong>主键的选择:</strong></p>
<p>1.      int(bigint)+标识列(自增字段)</p>
<p>2.      uniqueidentifier(GUID):<strong>业界主流</strong></p>
<p><strong>int自增做主键的优缺点:</strong></p>
<p>         优点:占用空间小,无需开发人员干预</p>
<p>         缺点:效率低,数据导入导出时不便</p>
<p><strong>GUID做主键的优缺点<br>
</strong>         优点:效率高,数据的导入导出方便</p>
<p>         缺点: 占用空间大,不易读</p>
<p><strong>SQL语句</strong></p>
<p><strong> </strong></p>
<p><strong><u>◎插入语句</u></strong></p>
<p><strong>int自增做主键:</strong></p>
<p></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">insert into users  values(‘ysjian’,22)--自增主键可以不给值
insert  into  users(name,age) values(‘ysjian’,22)--推荐带上列名
登入後複製
登入後複製

uniqueidentifier做主键:

insert into users  values(‘ysjian’,22)--自增主键可以不给值
insert  into  users(name,age) values(‘ysjian’,22)--推荐带上列名
登入後複製

--表示不等于20

       

 update  users  set  name=N’袁’  where age20
	update  users  set  name=N’袁’  where age!=20
       update  users  set  name=N’袁’  where age>20 and age

<p><strong><u>◎删除语句</u></strong></p>
<p></p>
<pre class="brush:php;toolbar:false">       delete from users--清空表(注意delete后面不能加*)
       delete from users where age=20
登入後複製

◎查询语句(重点)

select* from users
select  name as ‘姓名’,ageas 年龄,id as ‘编号’from users
select  ‘姓名’ =name , 年龄= age,id as ‘编号’from users
select age+3 as 年龄 from users
登入後複製

//聚合函数

  

     Select  count(*)  from users
       Select  max(age)  from users
       Select  min(age)  from users
       Select  avg(age)  from users
       Select  from  users
登入後複製

//排序

 

      Select * from users order by age desc--按年龄降序
       Select * from users where age>20 order by age asc--按年龄升序
登入後複製

//模糊查询(通配符’_’和’%’)

       Select * from users where name like‘袁_’--查询以”袁”开头后面有一个字符
       Select * from users where name like‘%袁%’--查询名字有”袁”字的数据
登入後複製

//null(不知道)

       Select * from users where name is null
       Select null+1--结果为null
       Select null+’123’--结果为null
登入後複製

//分组查询

Select age ,count(*) from users group by age --查询的列名必须与分组一致,聚合函数不能出现在where子句中
(错)Select count(*) from users where count(*)>5 group by age(错)--having子句是对分组后的信息过滤,能用的列是查询的列
(错)Select count(*) from users group by age having id>5(错)
Selectage, count(*) from users group by age having age>20 and count(*)>5
登入後複製

//限行查询

     

       Select top 5 * from users order by age desc
       Select top 5 percent * from users
登入後複製

//经典例子:按工资从高到低的排序检索从第六名开始一共五人信息

       

Select top 5 salary from employee where id not in(select top 5 id from users order by salary desc) order by salary desc
登入後複製

 

//保持数据的唯一

     

  Select distinct eName fromemployee--保持整行数据的唯一性
登入後複製

 

//联合查询,上下字段的个数必须一致,且数据类型相容

       

       Select name,age from users
       Union all--默认会将完全重复的数据合并,all可以阻止合并
       Select name,5 from users2
登入後複製

 

//(联合查询的运用)报表的制作

       Select ‘正式工最大年龄’,max(fAge) from T_employee
       Union all
       Select ‘正式工最小年龄’,min(fAge) from T_employee
       Union all
       Select ‘临时工最小年龄’,min(fAge) from T_tempEmployee
       Union all
       Select ‘临时工最大年龄’,max(fAge) from T_tempEmployee
       Select FNumber,FSalary from T_Employee
       Union all
       Select ‘工资合计’,sum(Fsalary) from T_Employee
登入後複製


//数据库函数

       Select ABS(-5)--绝对值5
       Select ceiling(5.2) --大于5.2的最小整数
       Select floor(-3.5)--小于-3.5的最大整数
       Select round(3.1415926,3)--四舍五入,指定取舍位3,结果为3.1420000
       Select len(‘abc’)--3
       Select lower(‘ABC’)--abc
       Select upper(‘abc’)--ABC
       Select ltrim(‘ china  ’)--china  
       Select rtrim(‘  china  ’)--   china
       Select substring(‘yuanshenjian’,3,5)--开始位置为3,长度为5
登入後複製


//日期函数

       Select getdate();--取得当前日期
       Select daeAdd(day,5,getdate())--当前时间天数加3
       Select dateDiff(day,’1990-08-02’,getdate())--1990-08-02距离当前时间的天数 
       Select datePart(year,getDate())--返回一个日期的特定部分
登入後複製

//经典语句

Select dateDiff(year,FinDate,getDate()), count(*) from T_Employee
Group by dateDiff(year,FinDate,getDate())
Having count(*)>2
登入後複製


//类型转换

  

       Select cast (‘123’asint),cast(‘2012-11-23’as datetime)
       Select convert(datetime,’2012-11-23’),convert(varchar(50),123)
登入後複製

//流控函数,如果FName为null,赋值为“佚名”

   Select  isnull(FName,’佚名’) as 姓名  from T_Employee
登入後複製

 

//单值判断

Select FName,
(
       case Flevel
       when 1 then‘普通客户’
       when 2 then‘会员’
       when 3 then‘VIP’
       else ‘未知客户类型’
       end--一定要加end
)as 客户类型
       from T_Customer
登入後複製


//l练习:表中有A,B,C三列,但A大于B时选A,否则选B,但B大于C时

选B,否则选C

Select
(
case
when A>B then A else B
end
),
(
case
when B>C then B else C
end
)
From player
登入後複製

//练习二

Select Name as 队名,
sum(
       case scores
       when ‘胜’ then 1
       else 0
       end
)as 胜,
sum(
       case scores
       when ‘负’ then 1
       else 0
       end
)as 负
from Team
group by Name
登入後複製

//数据库的创建

if exsits(select  * from sys.database when [name]=’market’)
drop database market
create database market
on
(
       name=’market.mdf’,
       filename=’E:\Microsoft\market.mdf’,
       size=5,
       maxsize=555,
       filegrowth=55
)
log on
(
       name=’market’,
       filename=’market.ldf’,
       size=5,
       maxsize=55,
       filegrowth=55%
)
登入後複製


//表的创建

if exists(select  * from sys.objects where[name]=’employee’)
drop table employee
create table employee
(
       eId varchar(5) not null primary key,
       eSex bit not null default(1),
       uidint not null identity
       pid varchar not null foreign key references employees(pId)
)
登入後複製


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
2 個月不見,人形機器人 Walker S 會摺衣服了 2 個月不見,人形機器人 Walker S 會摺衣服了 Apr 03, 2024 am 08:01 AM

機器之能報道編輯:吳昕國內版的人形機器人+大模型組隊,首次完成疊衣服這類複雜柔性材料的操作任務。隨著融合了OpenAI多模態大模型的Figure01揭開神秘面紗,國內同行的相關進展一直備受關注。就在昨天,國內"人形機器人第一股"優必選發布了人形機器人WalkerS深入融合百度文心大模型後的首個Demo,展示了一些有趣的新功能。現在,得到百度文心大模型能力加持的WalkerS是這個樣子的。和Figure01一樣,WalkerS沒有走動,而是站在桌子後面完成一系列任務。它可以聽從人類的命令,折疊衣物

業界首款AI智慧螢幕攝影機,創維智慧螢幕攝影機S50首發上市 業界首款AI智慧螢幕攝影機,創維智慧螢幕攝影機S50首發上市 Nov 18, 2023 pm 06:43 PM

創維安防最近發表了年度旗艦新品-創維智慧螢幕攝影機S50。身為業界首款搭載人工智慧技術的智慧螢幕攝影機,創維智慧螢幕攝影機S50最大的特色是將彩色智慧螢幕與攝影機巧妙地結合,實現了雙向視覺通話的創新功能;強大的2T運算能力使其人工智慧能力得到了大幅提升這款年度旗艦新品外觀極具未來感,細膩磨砂材質,搭載了一塊炫彩可觸控的高清屏,操作絲滑流暢;雙向可視對講,微信視頻通話;500W極清畫質,360°無死角監控;極黑光全彩夜視,再黑也跟白天一樣多彩;12倍智能變焦,放大可看清每一處細節;重寫的內容是:2

THE是什麼幣種,THE幣值得投資嗎? THE是什麼幣種,THE幣值得投資嗎? Feb 21, 2024 pm 03:49 PM

THE是什麼幣種?THE(TokenizedHealthcareEcosystem)是一種數位貨幣,利用區塊鏈技術,專注於醫療健康產業的創新和改革。 THE幣的使命是利用區塊鏈技術來提高醫療產業的效率和透明度,推動各方之間更有效率的合作,包括病患、醫護人員、製藥公司和醫療機構。 THE幣的價值和特徵首先,THE幣作為一種數位貨幣,具備了區塊鏈的優勢——去中心化、安全性高、交易透明等,讓參與者能夠信任和依賴這個系統。其次,THE幣的獨特之處在於它專注於醫療健康產業,並藉助區塊鏈技術改造了傳統醫療體系,提升了

如何查詢The Sandbox幣最新價格? 如何查詢The Sandbox幣最新價格? Mar 05, 2024 am 11:52 AM

如何查詢TheSandbox幣最新價格TheSandbox是建立在以太坊區塊鏈上的去中心化遊戲平台,使用其原生代幣SAND可以購買土地、資產和遊戲體驗。想要查詢SAND最新價格的步驟如下:選擇一個可靠的價格查詢網站或應用程式。一些常用的價格查詢網站包括:CoinMarketCap:https://coinmarketcap.com/Coindesk:https://www.coindesk.com/幣安:https://www.binance.com/在網站或應用程式中搜尋SAND。查看SAND

三星折疊螢幕新品曝光 預計 7 月下旬亮相 三星折疊螢幕新品曝光 預計 7 月下旬亮相 Mar 21, 2024 pm 02:16 PM

三星計劃在今年下半年推出新一代GalaxyZFold與Flip6系列折疊螢幕智慧型手機。近期,韓國媒體TheElec和《時事周刊e》透露了關於這兩款新品的更多細節。三星GalazyZFold6爆料圖片。圖源@chunvn8888根據TheElec報道,三星電子的供應鏈廠商預計於5月初啟動GalaxyZFold6和Flip6相關組件的生產工作,相較之下,去年GalaxyZFold5和Flip5的零件生產始於5月下半月。這意味著今年的標準版GalaxyZ系列發佈時間表相較於上年提前了約兩週至三週的時間。去

如何查詢The Graph幣最新價格? 如何查詢The Graph幣最新價格? Mar 05, 2024 am 09:55 AM

如何查詢TheGraph幣最新價格? TheGraph是一個去中心化的協議,旨在為區塊鏈資料提供高效的索引和查詢服務。該協議的設計使得開發人員能夠更輕鬆地建立和推出分散式應用程式(dApp),並讓這些應用程式能夠方便地存取區塊鏈資料。要查詢TheGraph幣(GRT)的最新價格,您可以按照以下步驟操作:選擇一個可靠的價格查詢網站或應用程式。一些常用的價格查詢網站包括:CoinMarketCap:https://coinmarketcap.com/Coindesk:https://www.coind

如何查看The Graph幣市值? 如何查看The Graph幣市值? Mar 13, 2024 pm 10:43 PM

如何查看TheGraph幣市值TheGraph是一種去中心化的協議,旨在幫助開發者索引和查詢區塊鏈資料。其代幣GRT被用於支付網路費用和獎勵節點營運商。查看TheGraph幣市值的方法:選擇一個可靠的網站或平台:有多個網站和平台提供加密貨幣市值信息,例如CoinMarketCap、CoinGecko、非小號等。選擇一個可靠的網站或平台很重要,以確保您獲得準確的資訊。搜尋TheGraph:在網站或平台上搜尋GRT或TheGraph。查看市值:TheGraph的市值通常會在搜尋結果中顯示。提示:市值

智駕功能再升級!極狐阿爾法 S 先行版優化三項功能,提升駕駛體驗 智駕功能再升級!極狐阿爾法 S 先行版優化三項功能,提升駕駛體驗 Jul 04, 2023 am 11:41 AM

07月04日消息,極狐阿爾法S先行版推播的第五次OTA升級正式發表。這次升級帶來了多項智駕功能的優化,同時引進了全新的AVP代客泊車輔助功能。據小編了解,極狐阿爾法S先行版是一款定位於純電中大型轎車的車型,售價為32.98萬元。 AVP代客泊車輔助功能是此次升級的一大亮點。使用者首次駕駛車輛泊入車位並進行收藏記錄後,再次到達時即可使用AVP功能,無需任何場端設備,完全依賴車身自身的感測器實現。這使得用戶在停車時更加便捷,尤其當目標車位被佔用時,還可主動選擇週邊空位進行停車。除了AVP功能,智駕領航也

See all articles