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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

2か月後、人型ロボットWalker Sが服をたたむことができるようになった 2か月後、人型ロボットWalker Sが服をたたむことができるようになった Apr 03, 2024 am 08:01 AM

Machine Power Report 編集者: Wu Xin 国内版の人型ロボット + 大型模型チームは、衣服を折りたたむなどの複雑で柔軟な素材の操作タスクを初めて完了しました。 OpenAIのマルチモーダル大規模モデルを統合したFigure01の公開により、国内同業者の関連動向が注目を集めている。つい昨日、中国の「ヒューマノイドロボットのナンバーワン株」であるUBTECHは、Baidu Wenxinの大型モデルと深く統合されたヒューマノイドロボットWalkerSの最初のデモを公開し、いくつかの興味深い新機能を示した。 Baidu Wenxin の大規模モデル機能の恩恵を受けた WalkerS は次のようになります。 Figure01 と同様に、WalkerS は動き回るのではなく、机の後ろに立って一連のタスクを完了します。人間の命令に従って服をたたむことができる

業界初のAIスマートスクリーンカメラ「Skyworth Smart Screen Camera S50」を初発売 業界初のAIスマートスクリーンカメラ「Skyworth Smart Screen Camera S50」を初発売 Nov 18, 2023 pm 06:43 PM

Skyworth Security は最近、毎年恒例の主力新製品 Skyworth Smart Screen Camera S50 をリリースしました。業界初の人工知能技術を搭載したスマートスクリーンカメラであるSkyworthスマートスクリーンカメラS50の最大の特徴は、カラースマートスクリーンとカメラを巧みに組み合わせ、双方向ビジュアル通話という革新的な機能を実現していることです。 2Tのコンピューティングパワーにより、人工知能能力が大幅に向上し、今年の新しい主力製品は、未来的な外観、上質なつや消し素材を備え、カラフルなタッチ可能な高解像度スクリーンを備え、スムーズでスムーズな操作が可能です。ビデオインターコム、WeChat ビデオ通話、500W 非常にクリアな画質、死角のない 360° モニタリング、極限のブラックライトフルカラーナイトビジョン、どんなに暗くても昼間と同じくらいカラフル、12 倍スマートズーム、見ることができます。ズームインすると細部まではっきりと表示されます。書き換えられた内容は次のとおりです: 2

THE はどの通貨ですか? THE コインは投資する価値がありますか? THE はどの通貨ですか? THE コインは投資する価値がありますか? Feb 21, 2024 pm 03:49 PM

THE とは何ですか? THE (Tokenized Healthcare Ecosystem) は、ブロックチェーン技術を使用してヘルスケア業界のイノベーションと改革に焦点を当てたデジタル通貨です。 THE コインの使命は、ブロックチェーン技術を使用して医療業界の効率と透明性を向上させ、患者、医療スタッフ、製薬会社、医療機関を含むすべての関係者間のより効率的な協力を促進することです。 THE Coin の価値と特徴 まず第一に、THE Coin はデジタル通貨として、分散化、高セキュリティ、透明性のある取引などのブロックチェーンの利点を備えており、参加者はこのシステムを信頼して利用することができます。第二に、THE コインの独自性は、ブロックチェーン技術を使用して従来の医療システムを変革し、改善するために医療および健康産業に焦点を当てていることです。

The Sandbox コインの最新価格を確認するにはどうすればよいですか? The Sandbox コインの最新価格を確認するにはどうすればよいですか? Mar 05, 2024 am 11:52 AM

TheSandbox 通貨の最新価格を確認する方法 TheSandbox は、イーサリアム ブロックチェーン上に構築された分散型ゲーム プラットフォームで、ネイティブ トークン SAND を使用して土地、資産、ゲーム体験を購入できます。 SAND の最新価格を確認する手順は次のとおりです。 信頼できる価格確認 Web サイトまたはアプリを選択してください。一般的に使用される価格クエリ Web サイトには次のものがあります。 CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coindesk.com/Binance: https://www.binance.com/ Web サイトまたはアプリ SAND で検索します。サンドを見る

The Graphコインの最新価格を確認するにはどうすればよいですか? The Graphコインの最新価格を確認するにはどうすればよいですか? Mar 05, 2024 am 09:55 AM

TheGraphコインの最新価格を確認するにはどうすればよいですか? TheGraph は、ブロックチェーン データの効率的なインデックス作成とクエリ サービスを提供するように設計された分散型プロトコルです。このプロトコルは、開発者が分散型アプリケーション (dApp) を簡単に構築および起動できるようにし、これらのアプリケーションにブロックチェーン データへの便利なアクセスを提供するように設計されています。 TheGraph Coin (GRT) の最新価格を確認するには、次の手順に従います。 信頼できる価格確認 Web サイトまたはアプリを選択します。一般的に使用される価格クエリ Web サイトには次のものがあります。 CoinMarketCap: https://coinmarketcap.com/Coindesk: https://www.coind

The Graphコインの市場価値を確認するにはどうすればよいですか? The Graphコインの市場価値を確認するにはどうすればよいですか? Mar 13, 2024 pm 10:43 PM

TheGraph Coin 時価総額を確認する方法 TheGraph は、開発者がブロックチェーン データのインデックスを作成し、クエリを実行できるように設計された分散型プロトコルです。そのトークン GRT は、ネットワーク料金の支払いとノード オペレーターへの報酬に使用されます。 TheGraph 通貨の市場価値を確認する方法: 信頼できる Web サイトまたはプラットフォームを選択する: CoinMarketCap、CoinGecko、Feixiaohao など、仮想通貨の市場価値情報を提供する Web サイトやプラットフォームが複数あります。正確な情報を確実に入手するには、信頼できる Web サイトまたはプラットフォームを選択することが重要です。 TheGraph を検索する: Web サイトまたはプラットフォームで GRT または TheGraph を検索します。時価総額の表示: TheGraph の時価総額は、検索結果によく表示されます。ヒント: 時価総額

Logitech エンタープライズ デスクトップ構成に関するホワイト ペーパー Logitech エンタープライズ デスクトップ構成に関するホワイト ペーパー Jul 24, 2024 pm 01:54 PM

最近、ロジクールが今年上半期に作成したエンタープライズ デスクトップ構成のホワイト ペーパーを読みました。エンタープライズ レベルのデスクトップ周辺機器に関する知識と購入ロジックから、多くのインスピレーションが得られました。これらの新鮮な視点の多くは、中関村の古くからのファンと共有するのに非常に適しています。ロジクール ホワイト ペーパー: デスクトップ周辺機器の購入に関する新しい考え方 デスクトップ周辺機器分野のリーダーとして、ロジクールのブランド力と技術革新は誰の目にも明らかです。ホワイト ペーパーのリリース時期の重要性 ロジクールのホワイト ペーパーのリリース時期は、企業のオフィス モデルの変革と一致しています。ハイブリッド オフィス モデルの人気は、雇用主のブランディングと人材の魅力に新たな課題をもたらしています。デスクトップ周辺機器の購入における新しいトレンド 以前のデスクトップ周辺機器の購入基準は単純すぎた可能性があります。従業員の立場が異なれば、キーボード、マウス、ヘッドセット、カメラに対するニーズも大きく異なります。ロジクール ホワイト ペーパーの視点 ロジクール ホワイト

XboxシリーズXとSどっちを買うべきか XboxシリーズXとSどっちを買うべきか Feb 03, 2024 am 09:48 AM

xboxseriesx と xboxseriess は同じ世代の製品ですが、xboxseriesx の方が性能が優れているため、どちらを購入すればよいか迷うユーザーもいます。 Xbox Series X と S のどちらを購入するべきですか? 回答: 自分の状況に応じて選択することをお勧めします。十分な資金があり、より良いゲーム体験が必要な場合は、Xbox シリーズ X を購入することを選択できます。特に裕福でない場合は、Xbox シリーズ S1 を選択できます。処理能力の効果はより強力です。 2. S は最大 2K 解像度のみをサポートしますが、X は 4

See all articles