Sql表数据操作_MySQL

Jun 01, 2016 pm 02:05 PM
d insert 使用 消去 指定 入れる 操作する データ 声明

表数据操作包括数据的插入、修改和删除。
一、插入数据

在向表中添加数据时应该注意两点:第一是用户权限,只有sysadmin角包成员、数据库和数据库对象所有者及其授权用户才有权限向表中添加数据;第二是数据格式,对于不同的数据类型,插入数据的格式也不一样,应严格遵守它们各自的格式要求。

Transact-SQL语言中用INSERT语句向表或视图中插入新的数据行。INSERT语句的语法格式为:

INSERT [INTO] table_source

{[column_list]

VALUES ({DEFAULT | constant_expression} [,…n])

|DEFAULT VALUES

|select_statement

|execute_statement

}

}

其中,column_list参数为新插入数据行中一列或多列列名列表,它说明INSERT 语句只为指定列插入数据。在给表或视中部分列插入数据时,必须使用列名列表方式指出这部分列名。其余未指定列的列值要根据它们的默认值和空值属性情况而定,它们有以下几种可能取值:

(1)对于timestamp列或具有IDENTITY属性列,它们的列值由SQL Server计算后自动赋值。

(2)如果这些列有默认值或关联有默认数据库对象,插入新列时,它们的值为默认值。

(3)当这些列没有默认值设置时,但它们允许空值时,该列值为空。

(4)当这些列既没有默认值设置,也不允许空值时,SQL Server在执行INSERT 语句时将产生错误,

导致插入操作失败。

当未指定column_list 参数时,为各列所提供的数据顺序应严格按照表中各列的定义顺序,而使用column_list参数则可以调整向表中所插入数据的列顺序,只要VALUES子句所提供的数据顺序与column_list参数中指定的列顺序相同即可。

VALUES子句为新插入行中column_list 参数所指定列提供数据,这些数据可以以常量表达式形式提供,或使用DEFAULT关键字说明向列中插入其默认值。

DEFAULT VALUES说明向表中所有列插入其默认值。对于具有INDENTITY 属性或timestamp 数据类型列,系统将自动插入下一个适当值。对于没有设置默认值的列,如果它们允许空值,SQL Server将插入null,否则返回一错误消息。

select_statement是标准的数据库查询语句,它是SQL Server为INSERT语句所提供的又一种数据插入方式。INSERT语句将select_statement子句所返回的结果集合数据插入到指定表中。查询语句结果集合每行中的数据数量、 数据类型和排列顺序也必须与表中所定义列或 column_list 参数中指定列的数量、数据类型和排列顺序完全相同。

SQL Server为INSERT语句提供的第四种数据插入方式是通过执行系统存储过程,其数据来自于过程执行后所产生的结果集合。所执行的过程可以为存储过程、系统存储过程或扩展存储过程,它们既可以为本地存储过程,又可以是远程服务器上的存储过程,只要用户具有它们的执行权限即可。有关存储过程请参阅对应的内容。

table_source说明INSERT语句插入数据时所操作的表或视图,其语法格式可简单书写为:

{table_name [[AS] table_alias]

| view_name [[AS] table_alias]

}

table_name和view_name说明被插入数据的表或视图名称,table_alias参数为表或视图设置别名。

使用别名有两方面原因:第一、当表或视图名称较长时,使用别名可以简化书写工作;第二,在自连接或子查询中,使用别名可以区别同一个表或视图。

在向表中插入数据时, 如果所插入的数据与约束或规则的要求冲突, 或是它们的数据类型不兼容时,将导致INSERT 语句执行失败。当使用SELECT或EXECUTE子句向表中一次插入多行数据时,如果其中有任一行数据有误,它将导致整个插入操作失败,使SQL Server停止所有数据行的插入操作。

例一、使用数值列表方式( 假定 usertable 表中只定义了name、age和sex字段,且name、sex均为

char类型,age为int类型)。

INSERT usertable

VALUES ('张三','女',18)

例二、使用列名列表方式

INSERT usertable (age,name)

VALUES (18,'张三')

例三、在数值列表中,还可以将变量的值插入到表中。在使用变量为列提供数据时,应保证变量的数据类型与列数据类型相同,或是可以自动将它们转换为相同的数据类型。例如:

DECLARE @name char(16)

SET @name='张三'

INSERT usertable

VALUES (@name,DEFAULT,20)

本例中Asp中是这样的:

dim name

name="张三"

sqlstr="INSERT usertable VALUES ('"&name&"','女',20)"

……



例四、将SELECT子句的所返回的结果集合插入到表中。例如:

INSERT usertable (name,sex,age)

SELECT 's' name,sex,age

FROM usertable

WHERE name like '张%%'


二、修改数据

Transact-SQL中的UPDATE语句用于修改表中数据,该语句的语法格式为:

UPDATE ()

SET (

column_name={expression | DEFAULT }

| @variable = expression

} [,…n]

[FROM

{

| (select_statement) [AS] table_alias [,…m]) ]

}

[,…n]

]

[WHERE



| CURRENT OF ({[GLOBAL] cursor_name } | cursor_variable_name} }

]

别看写了一大堆,最常用的只是下列格式:

UPDATE table_name

SET column_name1=variable1,column_name2=variable2

WHERE search_conditions

其中table_or_view参数指出待修改的表或视图名称,其格式与INSERT语句中该参数的格式相同。

SET子句指出表中被修改的列或变量,以及它们的新值。column_name为被修改的列名,@variable为一个已经声明的局部变量名称,它们修改后的值由expression表达式提供,或使用DEFAULT关键字将默认值赋给指定列。

FROM子句引出另一个表,它为UPDATE语句的数据修改操作提供条件。

WHERE子句中的search_conditions 参数说明UPDATE语句的修改条件,它指出表或视图中的哪些行需要修改。省略WHERE子句时,说明对指定的表或视图中的所有行进行修改!!!!

WHERE子句中的CURRENT OF说明在游标的当前位置处执行修改操作,游标由curror_name 或游标变量cursor_variable_name指定。

UPDATE不能修改具有IDENTITY属性列的列值。

例一、将usertable表中所有人员的性别改为'男'

UPDATE usertable

SET sex='男'



例二、将性别为null的所有人员的性别改成'男'

UPDATE usertable

SET sex='男'

WHERE sex IS NULL

例三、将所有姓名为null的人员的姓名改为'张三'、性别改为'女',年龄改为18

UPDATE usertable

SET name='张三',sex='女',age=18

WHERE name IS NULL


三、删除数据

Transact-SQL中,DELETE和TRUNCATE TABLE语句均可以删除表中的数据。DELETE语句的语法格式为:

DELETE

{table_name | view_name}

FROM

{



| (select_statement) [AS] table_alias [(column_alias [,…m])]

}[,…n]

[WHERE

{

|{ [CURRENT OF {{[global] cursor_name}

|cursor_variable_name

}



DELETE语句的结构与UPDATE语句有些类似,其中也包含FROM子句和WHERE子句。WHERE子句为数据删

除指定条件。不使用WHERE子句时,DELETE语句将把有或视图中所有的数据删除。FROM子句是Transact-SQL在ANSI基础上对DELETE语句的扩展,它指定要连接的表名,提供与相关子查询相似的功能。

TRUNCATE TABLE语句语法格式为:

TRUNCATE TABLE table_name

TRUNCATE TABLE语句删除指定表中的所有数据行,但表结构及其所有索引继续保留,为该表所定义约束、规则、默认和触发器仍然有效。如果所删除表中包含有IDENTITY列,则该列将被复位到其原始基值。使用不带WHERE子句的DELETE语句也可以删除表中所有行,但它不复位IDENTITY列。

与DELETE语句相比,TRUNCATE TABLE语句的删除速度更快。因为DELETE语句在每删除一行时都要把删除操作记录到日志中,而TRUNCATE TABLE语句则是通过释放表数据页面的方法来删除表中数据,它只在释放页面做一次事务日志记录。所以使用TRUNCATE TABLE语句删除数据后,这些行是不可恢复的,而DELETE操作则可回滚,能够恢复原来数据。

因为TRUNCATE TABLE语句不做操作日志,它不能激活触发器,所以TRUNCATE TABLE语句不能删除一个被其它表通过FOREIGN KEY约束所参照的表。

例一、使用DELETE语句删除usertable表中name为'张三'的数据行

DELETE usertable

WHERE name='张三'



例二、下面使用FROM子句和WHERE子句指定条件,然后从TB_update表中删除数据

DELETE TB_update

FROM TB_constraint AS a,TB_update AS b

WHERE a.name=b.name

AND a.country='China'



DELETE TB_update

FROM (SELECT * FROM TB_constraint

WHERE country='USA') AS a

WHERE a.name=TB_update.name

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

WeChat でブロックされたり削除されたり、永久に追加できなくなったりする可能性があるというのは本当ですか? WeChat でブロックされたり削除されたり、永久に追加できなくなったりする可能性があるというのは本当ですか? Apr 08, 2024 am 11:41 AM

1. まず、相手を永久にブロックして削除して永久に追加しないのは間違いで、ブロックして削除した後に相手を追加したい場合は、相手の同意だけが必要です。 2. ユーザーが誰かをブロックすると、相手はユーザーにメッセージを送信したり、ユーザーの友達サークルを表示したり、ユーザーと通話したりすることができなくなります。 3. ブロックとは、ユーザーの WeChat 連絡先リストから相手を削除することを意味するものではありません。 4. ユーザーが相手をブロックした後、ユーザーの WeChat 連絡先リストから相手を削除した場合、削除後に回復する方法はありません。 5. ユーザーが相手を再度友達として追加したい場合は、相手が同意してユーザーを再度追加する必要があります。

オープンソース!ゾーイデプスを超えて! DepthFM: 高速かつ正確な単眼深度推定! オープンソース!ゾーイデプスを超えて! DepthFM: 高速かつ正確な単眼深度推定! Apr 03, 2024 pm 12:04 PM

0.この記事は何をするのですか?私たちは、多用途かつ高速な最先端の生成単眼深度推定モデルである DepthFM を提案します。従来の深度推定タスクに加えて、DepthFM は深度修復などの下流タスクでも最先端の機能を実証します。 DepthFM は効率的で、いくつかの推論ステップ内で深度マップを合成できます。この作品について一緒に読みましょう〜 1. 論文情報タイトル: DepthFM: FastMonocularDepthEstimationwithFlowMatching 著者: MingGui、JohannesS.Fischer、UlrichPrestel、PingchuanMa、Dmytr

Google は大喜び: JAX のパフォーマンスが Pytorch や TensorFlow を上回りました! GPU 推論トレーニングの最速の選択肢となる可能性があります Google は大喜び: JAX のパフォーマンスが Pytorch や TensorFlow を上回りました! GPU 推論トレーニングの最速の選択肢となる可能性があります Apr 01, 2024 pm 07:46 PM

Google が推進する JAX のパフォーマンスは、最近のベンチマーク テストで Pytorch や TensorFlow のパフォーマンスを上回り、7 つの指標で 1 位にランクされました。また、テストは最高の JAX パフォーマンスを備えた TPU では行われませんでした。ただし、開発者の間では、依然として Tensorflow よりも Pytorch の方が人気があります。しかし、将来的には、おそらくより大規模なモデルが JAX プラットフォームに基づいてトレーニングされ、実行されるようになるでしょう。モデル 最近、Keras チームは、ネイティブ PyTorch 実装を使用して 3 つのバックエンド (TensorFlow、JAX、PyTorch) をベンチマークし、TensorFlow を使用して Keras2 をベンチマークしました。まず、主流のセットを選択します

超知性の生命力が覚醒する!しかし、自己更新 AI の登場により、母親はデータのボトルネックを心配する必要がなくなりました。 超知性の生命力が覚醒する!しかし、自己更新 AI の登場により、母親はデータのボトルネックを心配する必要がなくなりました。 Apr 29, 2024 pm 06:55 PM

世界は狂ったように大きなモデルを構築していますが、インターネット上のデータだけではまったく不十分です。このトレーニング モデルは「ハンガー ゲーム」のようであり、世界中の AI 研究者は、データを貪欲に食べる人たちにどのように餌を与えるかを心配しています。この問題は、マルチモーダル タスクで特に顕著です。何もできなかった当時、中国人民大学学部のスタートアップチームは、独自の新しいモデルを使用して、中国で初めて「モデル生成データフィード自体」を実現しました。さらに、これは理解側と生成側の 2 つの側面からのアプローチであり、両方の側で高品質のマルチモーダルな新しいデータを生成し、モデル自体にデータのフィードバックを提供できます。モデルとは何ですか? Awaker 1.0 は、中関村フォーラムに登場したばかりの大型マルチモーダル モデルです。チームは誰ですか?ソフォンエンジン。人民大学ヒルハウス人工知能大学院の博士課程学生、ガオ・イージャオ氏によって設立されました。

TikTokのチャット履歴を完全に削除する方法 TikTokのチャット履歴を完全に削除する方法 May 07, 2024 am 11:14 AM

1. Douyin アプリを開き、インターフェイスの下部にある [メッセージ] をクリックし、削除する必要があるチャット会話エントリをクリックします。 2. 任意のチャット記録を長押しし、[複数選択]をクリックし、削除したいチャット記録にチェックを入れます。 3. 右下隅の [削除] ボタンをクリックし、ポップアップ ウィンドウで [削除の確認] を選択して、これらのレコードを完全に削除します。

iPhoneのセルラーデータインターネット速度が遅い:修正 iPhoneのセルラーデータインターネット速度が遅い:修正 May 03, 2024 pm 09:01 PM

iPhone のモバイル データ接続に遅延や遅い問題が発生していませんか?通常、携帯電話の携帯インターネットの強度は、地域、携帯ネットワークの種類、ローミングの種類などのいくつかの要因によって異なります。より高速で信頼性の高いセルラー インターネット接続を実現するためにできることがいくつかあります。解決策 1 – iPhone を強制的に再起動する 場合によっては、デバイスを強制的に再起動すると、携帯電話接続を含む多くの機能がリセットされるだけです。ステップ 1 – 音量を上げるキーを 1 回押して放します。次に、音量小キーを押して、もう一度放します。ステップ 2 – プロセスの次の部分は、右側のボタンを押し続けることです。 iPhone の再起動が完了するまで待ちます。セルラーデータを有効にし、ネットワーク速度を確認します。もう一度確認してください 修正 2 – データ モードを変更する 5G はより優れたネットワーク速度を提供しますが、信号が弱い場合はより適切に機能します

NetEase メールボックス マスターの使用方法 NetEase メールボックス マスターの使用方法 Mar 27, 2024 pm 05:32 PM

NetEase Mailbox は、中国のネットユーザーに広く使用されている電子メール アドレスとして、その安定した効率的なサービスで常にユーザーの信頼を獲得してきました。 NetEase Mailbox Master は、携帯電話ユーザー向けに特別に作成された電子メール ソフトウェアで、電子メールの送受信プロセスが大幅に簡素化され、電子メールの処理がより便利になります。 NetEase Mailbox Master の使い方と具体的な機能について、以下ではこのサイトの編集者が詳しく紹介しますので、お役に立てれば幸いです。まず、モバイル アプリ ストアで NetEase Mailbox Master アプリを検索してダウンロードします。 App Store または Baidu Mobile Assistant で「Ne​​tEase Mailbox Master」を検索し、画面の指示に従ってインストールします。ダウンロードとインストールが完了したら、NetEase の電子メール アカウントを開いてログインします。ログイン インターフェイスは次のとおりです。

Baidu Netdisk アプリの使用方法 Baidu Netdisk アプリの使用方法 Mar 27, 2024 pm 06:46 PM

クラウド ストレージは今日、私たちの日常生活や仕事に欠かせない部分になっています。中国有数のクラウド ストレージ サービスの 1 つである Baidu Netdisk は、強力なストレージ機能、効率的な伝送速度、便利な操作体験により多くのユーザーの支持を得ています。また、重要なファイルのバックアップ、情報の共有、オンラインでのビデオの視聴、または音楽の聴きたい場合でも、Baidu Cloud Disk はニーズを満たすことができます。しかし、Baidu Netdisk アプリの具体的な使用方法を理解していないユーザーも多いため、このチュートリアルでは Baidu Netdisk アプリの使用方法を詳しく紹介します。まだ混乱しているユーザーは、この記事に従って詳細を学ぶことができます。 Baidu Cloud Network Disk の使用方法: 1. インストール まず、Baidu Cloud ソフトウェアをダウンロードしてインストールするときに、カスタム インストール オプションを選択してください。

See all articles