資料庫修改資料
1.插入資料
isnert的命令形式:
insert/values,insert/select,insert/exec,insert/defalut,select/into.
insert/select:
eg:
insert into table_name(First,Second)
select id,pwd from table_name1
使用該格式,主要的是要選擇正確的資料集,一般在使用select時先測試資料集的結果
insert/exec插入儲存過程返回的資料,並將其插入到表中。插入列的順序必須與儲存過程結果集的列順序相同,以下是基本語法:
insert into owner.table[columns]
exec storedprocedure parameters
注意儲存過程可能返回多個結果集,在這種情況下,insert命令試圖插入每個結果集中的資料,因此必須保證每個結果集的列順序與插入列的書序一致。
eg:
create procedure pro_test
as
select * from dt_1 where id<3
select 8 from dt_2 where id>7
//接下來使用儲存過程
insert into dt_1[columns]
exec pro_test
建立由預設值組成的行:
eg:
insert into dt_name default values
插入資料時建立表:
select命令的一種變體。
在select語句中使用into選項將建立一個新表包含select結果集
eg:
select colomns
into NewTable
from DataSource
where[condition]
例子:
select *
into dt_new
from dt_old[order by ... asc,desc]
更新資料:
update每次能夠更新多行,但是每次只能更新一個表。set關鍵字用於修改表中任何列的值,新值可以使硬編碼的字串面量、變數、表示式,還可以使sql update語句中from子句引用的資料來源的列。
進行全程搜尋和替換:
update dt_1
set id=replace(id,'23','22222')
即可將id位123456更新為122222456
更新資料表時引用多個表:
sql update:可以使用表示式給列賦值。該表示式可以引用同一列、其他列甚至其他表
這個過程比較複雜一點:
1.檢查可用的資料2.測試公式3.執行更新
刪除資料:
delete from dt_name
where ...
注意:級聯刪除
delete from dt_name
...
on delete cascade
返回修改後的資料:
sql server2005能夠以資料集的方式返回修改後的資料,並供以後使用。使用output子句可以訪問插入和刪除的虛擬表
對資料修改的潛在限制:
主鍵限制:如果一個表中有主鍵 並且主鍵有限制的話,可以使用一下語句來破除這種限制。
set identity_insert table_name on
//
insert into table_name(id,pwd)//注意這裡的列名一定要加上
value(1,2)
如果想恢復限制,可以set identity_insert table_name off
並且值得注意的是:我們在一個資料庫中同一時刻只能有一個表可以將它設定為on。
@@identity可以返回插入行的標誌值,scope_identity()功能同上,ident_current(table)
外來鍵限制:
首先說說什麼是外來鍵:
成績表中的學號不是成績表的主鍵,但它和學生表中的學號相對應,並且學生表中的學號是學生表的主鍵,則稱成績表中的學號是學生表的外來鍵
例如:
如果dt_test1(id,name) dt_test2(UserName,pwd)這兩個表中的主鍵分別是id和UserName,dt_test1中的name是dt_test2的外來鍵的話,那麼插入dt_test1中的name的值就會有所限制,插入的值必須在dt_test2中出現過才行。
外來鍵限制是一種很普遍的現象,比如:
insert into dt_test1 values(..),在dt_test2中如果沒有相應的值會出現錯誤,如果在刪除dt_test2中的某行時,檢測到在dt_test1中有用到相應的值,那麼也會發生錯誤。
唯一索引限制:
空值和預設值限制:
check約束限制:
首先為表dt_test1新增一個check約束
alter table dt_test1
add constraint test_ct
check(id>1000)
此時,如果再向其中新增id<1000的資料行則會發生錯誤。
instead of 觸發器限制:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-672875/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 織夢資料庫配置檔案修改資料庫配置方法資料庫
- 天翼雲RDS資料庫如何修改資料庫引數資料庫
- 織夢修改資料庫字首資料庫
- nid修改資料庫名稱資料庫
- [Oracle]Oracle資料庫資料被修改或者刪除恢復資料Oracle資料庫
- 網站檔案修改資料庫,安全高效地修改網站資料庫中的檔案資訊網站資料庫
- 用NID修改資料庫名稱資料庫
- 如何修改MySQL資料庫名稱MySql資料庫
- 使用NID修改Oracle資料庫名Oracle資料庫
- ABP預設模板修改預設資料庫型別並初始化資料庫資料資料庫型別
- ZBlog的資料庫表是可以設定字首-修改ZBlog資料庫字首資料庫
- zblog的資料庫配置檔案是哪個?怎樣修改資料庫配置資訊?資料庫
- mysql資料庫新增和修改欄位MySql資料庫
- sqlserver資料庫埠號怎麼修改SQLServer資料庫
- 修改Oracle資料庫字符集(zt)Oracle資料庫
- DM7修改資料庫引數資料庫
- greenDAO資料庫之修改儲存地址資料庫
- 我應該手動修改線上資料庫的資料嗎?資料庫
- 網站資料庫如何修改config.php,如何在網站配置檔案中修改資料庫連線資訊網站資料庫PHP
- PbootCMS資料庫配置,修改為Mysql資料庫,配置Mysql出錯解決辦法boot資料庫MySql
- 資料庫修改網站密碼?後臺修改網站?資料庫網站密碼
- Sqlserver資料庫儲存路徑的修改SQLServer資料庫
- 網站資料庫密碼怎麼修改?網站資料庫密碼
- 「Oracle」資料庫字符集編碼修改Oracle資料庫
- 在RAC中用NID修改資料庫名稱資料庫
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- 【資料庫資料恢復】Sql Server資料庫資料恢復案例資料庫資料恢復SQLServer
- 【資料庫資料恢復】MS SQL資料庫附加資料庫出錯怎麼恢復資料?資料庫資料恢復SQL
- 資料庫PostrageSQL-管理資料庫資料庫SQL
- 達夢資料庫DM管理工具如何新增修改刪除資料庫欄位資料庫
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- mysql資料庫修改新增Date格式列的方法MySql資料庫
- Mysql資料庫-資料模型MySql資料庫模型
- MySQL資料庫資料管理MySql資料庫
- IndexedDB 資料庫新增資料Index資料庫
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- 資料湖 vs 倉庫 vs 資料庫資料庫